[Issue 236] New: Class literal expression always says "base classes expected"
Thomas Kuehne
thomas-dloop at kuehne.cn
Tue Aug 15 02:53:03 PDT 2006
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
d-bugmail at puremagic.com schrieb am 2006-07-02:
> http://d.puremagic.com/issues/show_bug.cgi?id=236
> 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;
> }
Added to DStress as
http://dstress.kuehne.cn/run/c/class_26_A.d
http://dstress.kuehne.cn/run/c/class_26_B.d
Thomas
-----BEGIN PGP SIGNATURE-----
iD8DBQFE4Z86LK5blCcjpWoRAnVaAJ91paqlf+5cmbO8IhSRRAdOHuMnEQCdE8Lp
/MUhZsGnq18Le2uppLjHkdE=
=z9aB
-----END PGP SIGNATURE-----
More information about the Digitalmars-d-bugs
mailing list