www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 16130] New: Disallow class template constraints from

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: nobody puremagic.com
          Reporter: bugzilla 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.

--
Jun 05 2016