Open logicfish opened 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.
Yes, it's broken on v2.076.0 on windows and linux.
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
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
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))