[Issue 6390] New: [CTFE] Struct constructor fails to call another method
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Wed Jul 27 08:14:54 PDT 2011
http://d.puremagic.com/issues/show_bug.cgi?id=6390
Summary: [CTFE] Struct constructor fails to call another method
Product: D
Version: D2
Platform: Other
OS/Version: All
Status: NEW
Keywords: rejects-valid
Severity: normal
Priority: P2
Component: DMD
AssignedTo: nobody at puremagic.com
ReportedBy: bugzilla at kyllingen.net
--- Comment #0 from Lars T. Kyllingstad <bugzilla at kyllingen.net> 2011-07-27 08:14:52 PDT ---
Test case:
struct Foo
{
int i;
void fun() { --i; }
this(int a)
{
i = a;
fun();
}
}
void main()
{
assert (Foo(2).i == 1);
}
static assert (Foo(2).i == 1);
The above refuses to compile, giving the following error:
test.d(19): Error: static assert (2 == 1) is false
This is purely a CTFE issue; if the static assert is removed, the assert in
main() passes at run time, as it should. It seems the call to fun() is
neglected when the struct is constructed at compile time.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list