digitalmars.D - Struct constructors
- Sean Eskapp (19/19) Jan 20 2011 In code like this:
- =?UTF-8?B?U8O2bmtlIEx1ZHdpZw==?= (2/21) Jan 20 2011 See http://d.puremagic.com/issues/show_bug.cgi?id=3863.
- Trass3r (1/1) Jan 20 2011 Probably related to http://d.puremagic.com/issues/show_bug.cgi?id=5460
- Sean Eskapp (1/1) Jan 20 2011 That looks like a similar issue. Thanks!
In code like this:
import std.stdio;
struct foo
{
int val;
static immutable bar = foo(1);
this(int val)
{
this.val = 50;
}
}
void main()
{
writeln(foo.bar.val);
}
The user-defined struct constructor is not called, because it's overridden by
a built-in constructor which treats it like an initializer list. Shouldn't
constructors in structs either generate errors/warnings, or work as they would
appear to?
Jan 20 2011
Am 20.01.2011 19:42, schrieb Sean Eskapp:
In code like this:
import std.stdio;
struct foo
{
int val;
static immutable bar = foo(1);
this(int val)
{
this.val = 50;
}
}
void main()
{
writeln(foo.bar.val);
}
The user-defined struct constructor is not called, because it's overridden by
a built-in constructor which treats it like an initializer list. Shouldn't
constructors in structs either generate errors/warnings, or work as they would
appear to?
See http://d.puremagic.com/issues/show_bug.cgi?id=3863.
Jan 20 2011
Probably related to http://d.puremagic.com/issues/show_bug.cgi?id=5460
Jan 20 2011









=?UTF-8?B?U8O2bmtlIEx1ZHdpZw==?= <ludwig informatik.uni-luebeck.de> 