On Fri, 09 May 2014 07:26:41 GMT, Sönke Ludwig wrote:

On Fri, 09 May 2014 07:17:11 GMT, fcl wrote:

when i trying to compile anything that uses diet's renderCompat, i always got compiler error saying that:

source/vibe/templ/diet.d:99: error: template core.stdc.stdarg.va_arg does not match any function template declaration. Candidates are:
/usr/include/d/4.9.0/core/stdc/stdarg.di:45: note: core.stdc.stdarg.va_arg(T)(ref va_list ap)
/usr/include/d/4.9.0/core/stdc/stdarg.di:51: note: core.stdc.stdarg.va_arg(T)(ref va_list ap, ref T parmn)
/usr/include/d/4.9.0/core/stdc/stdarg.di:194: note: core.stdc.stdarg.va_arg()(ref va_list ap, TypeInfo ti, void* parmn)
source/vibe/templ/diet.d:99: error: template core.stdc.stdarg.va_arg(T)(ref va_list ap) cannot deduce template function from argument types !(VariantN!(24u))(void*)
source/vibe/templ/diet.d:102: error: template core.stdc.stdarg.va_arg does not match any function template declaration. Candidates are:
/usr/include/d/4.9.0/core/stdc/stdarg.di:45: note: core.stdc.stdarg.va_arg(T)(ref va_list ap)
/usr/include/d/4.9.0/core/stdc/stdarg.di:51: note: core.stdc.stdarg.va_arg(T)(ref va_list ap, ref T parmn)
/usr/include/d/4.9.0/core/stdc/stdarg.di:194: note: core.stdc.stdarg.va_arg()(ref va_list ap, TypeInfo ti, void* parmn)
source/vibe/templ/diet.d:102: error: template core.stdc.stdarg.va_arg(T)(ref va_list ap) cannot deduce template function from argument types !(HTTPServerRequest)(void*)

i'm using latest GDC for GCC 4.9, GDC was built from git. the issue is in at least .19 and .20.

I've committed a supposed fix for this, but couldn't test on GDC so far. Note that starting with the 2.064 D frontend, there is no need to use renderCompat anymore. If you find it used in any vibe.d (or related) code, feel free to report it as a bug, I'll remove it ASAP.

Should you change some of the examples so it uses render instead of renderCompat?