Struct constructors

Sönke Ludwig ludwig at informatik.uni-luebeck.de
Thu Jan 20 11:04:59 PST 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.


More information about the Digitalmars-d mailing list