dymk / temple

Compile Time Embedded Template Parser/Generator for D
Boost Software License 1.0
62 stars 12 forks source link

Build fails with dmd v2.075.1 #41

Open logicfish opened 7 years ago

logicfish commented 7 years ago

src/temple/temple.d(164,10): Deprecation: temple.util.std is not visible from module temple src/temple/temple.d(210,8): Deprecation: temple.vibe.vibe is not visible from module temple src/temple/temple.d(211,27): Deprecation: temple.vibe.vibe is not visible from module temple src/temple/temple.d(211,27): Error: template instance isOutputRange!(StreamOutputRange, string) does not match template declaration isOutputRange(R, E) src/temple/temple.d(211,13): while evaluating: static assert(isOutputRange!(StreamOutputRange, string))

dymk commented 7 years ago

Does this apply to v2.076.0 for you as well? I'm unable to repro with that version of the compiler, it might be platform specific however.

logicfish commented 7 years ago

Yes, it's broken on v2.076.0 on windows and linux.

logicfish commented 7 years ago

The unittest fails on v2.076.0

src/temple/temple.d(164,10): Deprecation: temple.util.std is not visible from module temple
src/temple/temple.d(210,8): Deprecation: temple.vibe.vibe is not visible from module temple
C:\D\dmd2\windows\bin\..\..\src\phobos\std\algorithm\mutation.d(2481,36): Error: reinterpreting cast from Tuple!(Delim,"delim", string, "str")* to ubyte* is not supported in CTFE
C:\D\dmd2\windows\bin\..\..\src\phobos\std\algorithm\mutation.d(2713,13):        called from here: swap(r[i1], r[i2])
C:\D\dmd2\windows\bin\..\..\src\phobos\std\algorithm\sorting.d(1667,43):        called from here: swapAt(r, 0u, 1u)
C:\D\dmd2\windows\bin\..\..\src\phobos\std\algorithm\sorting.d(2108,32):        called from here: shortSort(r)
C:\D\dmd2\windows\bin\..\..\src\phobos\std\algorithm\sorting.d(1871,36):        called from here: quickSortImpl(r, r.length)
src\temple\util.d(125,64):        called from here: sort(delims_strs)
src\temple\func_string_gen.d(187,57):        called from here: nextDelim(temple_str, [cast(OpenDelim)cast(Delim)0, cast(OpenDelim)cast(Delim)2, cast(OpenDelim)cast(Delim)1, cast(OpenDelim)cast(Delim)3])
src\temple\package.d(69,57):        called from here: __temple_gen_temple_func_string("layout <%= yield %>", "src\\app.d:6: InlineTemplate", "")
TempleFunc(1,8):        while evaluating __TempleFuncStr.init
src/temple/temple.d(80,23): Error: undefined identifier TempleFunc
src\temple\package.d(43,12): Error: template instance temple.compile_temple!("layout <%= yield %>", "src\\app.d:6: InlineTemplate", void) error instantiating
src\app.d(6,16):        instantiated from here: compile_temple!("layout <%= yield %>", void, 6u, "src\\app.d")
src\app.d(6,16): Error: CTFE failed because of previous errors in compile_temple
dmd failed with exit code 1.

edit: does not fail with ~master

btbytes commented 6 years ago

I have the exact same issue with DMD 2.067.1 on Mac OS X.

Compiling Temple with Vibed support
src/temple/temple.d(164,10): Deprecation: temple.util.std is not visible from module temple
src/temple/temple.d(210,8): Deprecation: temple.vibe.vibe is not visible from module temple
src/temple/temple.d(211,27): Deprecation: temple.vibe.vibe is not visible from module temple
src/temple/temple.d(211,27): Error: template instance isOutputRange!(StreamOutputRange, string) does not match template declaration isOutputRange(R, E)
src/temple/temple.d(211,13):        while evaluating: static assert(isOutputRange!(StreamOutputRange, string))
dmd failed with exit code 1.
DMD64 D Compiler v2.076.1
Copyright (c) 1999-2017 by Digital Mars written by Walter Bright