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

          Issue ID: 16130
           Summary: Disallow class template constraints from appearing
                    after BaseClassList
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P1
         Component: dmd
          Assignee: nob...@puremagic.com
          Reporter: bugzi...@digitalmars.com

Currently, a Constraint is allowed both before and after the BaseClassList by
the grammar:

http://dlang.org/spec/template.html#ClassTemplateDeclaration
http://dlang.org/spec/template.html#InterfaceTemplateDeclaration

There is no purpose to the redundancy, and the 'after' syntax doesn't make much
sense. The grammar rules:

    class Identifier TemplateParameters BaseClassListopt Constraintopt
AggregateBody

    interface Identifier TemplateParameters BaseInterfaceList Constraint
AggregateBody

should be removed. I don't know how they ever got there in the first place.

--

Reply via email to