https://issues.dlang.org/show_bug.cgi?id=16075

--- Comment #2 from Max Samukha <maxsamu...@gmail.com> ---
(In reply to b2.temp from comment #1)

> 
> Hi, there is an error in your code, the correct way to write your template
> is:
> 
> 
> 
> mixin template Foo(A...)
> {
>     static if (A.length)
>     {
>         void foo(A[0] a) {}
>         static if (A.length > 1) // here !!
>         {
>             mixin Foo!(A[1..$]) F;
>             alias foo = F.foo;
>         }
>     }
> }
> 
> mixin Foo!(int,string,bool);
> 
> void main() {}
> 
> 
> 
> otherwise the instanciation continues endlessly with an empty A.

No. The base case is when A.length is zero. Remove the alias, and the example
will compile.

--

Reply via email to