January 31, 2004 [bug] Recursive template with new style syntax | ||||
---|---|---|---|---|
| ||||
I guess the "new" style syntax for templates should accept the same constructs as when using it with the template keyword. This code does not compile with DMD0.79, I marked the offending line. bye, roel // --------------------------------------------- class Nil {} template TL(T1) { class Impl(T1) { alias T1 Head; alias Nil Tail; } } template TL(T1,T2) { class Impl(T1) { alias T1 Head; alias TL!(T2) Tail; } } class Impl(T1) { alias T1 Head; alias Nil Tail; } class Impl(T1,T2) { alias T1 Head; alias Impl!(T2) Tail; } alias TL!(int).Impl TL1a; alias TL!(int,uint).Impl TL1b; // compiler accepts this alias Impl!(int) TL2a; alias Impl!(int,uint) TL2b; // <-- offending line // compiler does not accept this int main() { return 0; } |
Copyright © 1999-2021 by the D Language Foundation