[Issue 236] New: Class literal expression always says "base classes	expected"
    d-bugmail at puremagic.com 
    d-bugmail at puremagic.com
       
    Sun Jul  2 16:35:49 PDT 2006
    
    
  
http://d.puremagic.com/issues/show_bug.cgi?id=236
           Summary: Class literal expression always says "base classes
                    expected"
           Product: D
           Version: 0.162
          Platform: PC
        OS/Version: Windows
            Status: NEW
          Keywords: rejects-valid
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla at digitalmars.com
        ReportedBy: jarrett.billingsley at gmail.com
I never ran into this before, and I kind of wonder why.
void delegate() foo()
{
        return &(new class
        {
                void dg()
                {
                        writefln("delegate!");
                }
        }).dg;
}
This gives the error "base classes expected" for the class literal.  I guess I
never ran into it because all the class literals I ever wrote derived from
other classes.  I tried this in several versions of DMD all the way back to
0.126, and they all give the same error.  According to the spec, base classes
are optional for class literals.  I should be able to write "new class {}" and
it should be fine.
The semantic equivalent works just fine:
void delegate() foo()
{
        class fofof
        {
                void dg()
                {
                        writefln("delegate!");
                }
        }
        return &(new fofof).dg;
}
-- 
    
    
More information about the Digitalmars-d-bugs
mailing list