[Issue 13448] Class specification misses template classes in base classes list

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Thu Sep 18 17:44:11 PDT 2014


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

--- Comment #2 from Kenji Hara <k.hara.pg at gmail.com> ---
Other accepted cases:

class B { static class B1 { static class B2 {} } }
class X(T) { static class X1 { static class X2(U) {} } }

class C1 : .B {}
class C2 : B.B1.B2 {}
class C3 : typeof(new B()) {}
class C4 : X!int.X1.X2!string {}

Current dmd parser uses parseBasicType() for base classes.
https://github.com/D-Programming-Language/dmd/blob/master/src/parse.c#L2181

So the `SuperClass` and `Interface` should be aliased names of BasicType.
http://dlang.org/declaration#BasicType

--


More information about the Digitalmars-d-bugs mailing list