[Issue 2651] New: class body declaration grammar incorrect

d-bugmail at puremagic.com d-bugmail at puremagic.com
Sun Feb 8 19:55:56 PST 2009


http://d.puremagic.com/issues/show_bug.cgi?id=2651

           Summary: class body declaration grammar incorrect
           Product: D
           Version: 2.023
          Platform: PC
               URL: http://www.digitalmars.com/d/2.0/class.html
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: www.digitalmars.com
        AssignedTo: bugzilla at digitalmars.com
        ReportedBy: jlquinn at optonline.net


The published class grammar looks like:

ClassBodyDeclaration:
        Declaration
        Constructor
        Destructor
        StaticConstructor
        StaticDestructor
        Invariant
        UnitTest
        ClassAllocator
        ClassDeallocator

However, the Declaration grammar doesn't permit a construct such as

synchronized ~this () {}

  or

const {
  void fn1 () {}
  void fn2 () {}
}

The rest of the docs clearly expect this kind of construction to be allowed.  I
believe the fix is to modify the class body grammar to:

ClassBodyDeclaration:
        DeclDef               <-- this is the change
        Constructor
        Destructor
        StaticConstructor
        StaticDestructor
        Invariant
        UnitTest
        ClassAllocator
        ClassDeallocator


-- 



More information about the Digitalmars-d-bugs mailing list