digitalmars.D.bugs - [Issue 1279] New: const/invariant functions don't accept const/invariant return types
- d-bugmail puremagic.com (35/35) Jun 19 2007 http://d.puremagic.com/issues/show_bug.cgi?id=1279
- d-bugmail puremagic.com (9/9) Jun 19 2007 http://d.puremagic.com/issues/show_bug.cgi?id=1279
- d-bugmail puremagic.com (14/14) Jun 22 2007 http://d.puremagic.com/issues/show_bug.cgi?id=1279
- d-bugmail puremagic.com (9/9) Jun 27 2007 http://d.puremagic.com/issues/show_bug.cgi?id=1279
http://d.puremagic.com/issues/show_bug.cgi?id=1279 Summary: const/invariant functions don't accept const/invariant return types Product: D Version: 2.000 Platform: PC OS/Version: Linux Status: NEW Keywords: rejects-valid Severity: normal Priority: P2 Component: DMD AssignedTo: bugzilla digitalmars.com ReportedBy: kamm incasoftware.de This fails to compile class Foo { int x; invariant invariant(int)* geti() // line 6 { return &x; } const const(int)* getc() // line 12 { return &x; } // line 15 } with the errors invartest.d(6): Declaration expected, not '(' invartest.d(12): Declaration expected, not '(' invartest.d(15): unrecognized declaration. Putting the return types into aliases fixes the problem: alias invariant(int)* RT_I; invariant RT_I geti() {...} alias const(int)* RT_C; const RT_C getc() {...} compiles. --
Jun 19 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1279 jarrett.billingsley gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jarrett.billingsley gmail.co | |m ------- Comment #1 from jarrett.billingsley gmail.com 2007-06-19 14:09 ------- *** Bug 1281 has been marked as a duplicate of this bug. *** --
Jun 19 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1279 brunodomedeiros+bugz gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |brunodomedeiros+bugz gmail.c | |om ------- Comment #2 from brunodomedeiros+bugz gmail.com 2007-06-22 17:17 ------- Nor even variables declared at module scope: ---- ---- module mod; invariant(char)[] p; ---- mod.d(2): Declaration expected, not '(' --
Jun 22 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1279 kamm incasoftware.de changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #3 from kamm incasoftware.de 2007-06-27 14:47 ------- Fixed in DMD 2.001 --
Jun 27 2007