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: bugzi...@digitalmars.com ReportedBy: jlqu...@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 --