On 26 November 2012 18:49, jerro <[email protected]> wrote: > How can I fix the template declaration to not error in that case? >> > > If you want to have a template parameter that can be anything, including a > a symbol or a built in type, you can use this ugly workaround: > > template foo(bar...) if(bar.length == 1) > { > enum foo = 1; > } >
Ahhhhh, that explains why 90% of std.traits is written in that super-weird way! I always wondered what that was all about. When you say 'anything' though, does that include alias parameters? Will bar[0] be the equivalent of template foo(alias bar) if called with a symbol?
