Template condition triggers compiler error?

2013-12-01 Thread Namespace
This code compiles: template gc_free(T) { static if (is(T : U*, U) || is(T : U[], U)) alias Type = T; else alias Type = T*; void gc_free(Type data) { import core.memory : GC; static if (is(Type : U[],

Re: Template condition triggers compiler error?

2013-12-01 Thread Kenji Hara
On Sunday, 1 December 2013 at 16:07:18 UTC, Namespace wrote: This code compiles: template gc_free(T) { static if (is(T : U*, U) || is(T : U[], U)) alias Type = T; else alias Type = T*; void gc_free(Type data) { import