[Issue 1279] New: const/invariant functions don't accept const/invariant return types
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Tue Jun 19 05:49:09 PDT 2007
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 at digitalmars.com
ReportedBy: kamm at 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.
--
More information about the Digitalmars-d-bugs
mailing list