On Saturday, 3 October 2020 at 00:15:02 UTC, Steven Schveighoffer wrote:
On 10/2/20 7:28 PM, claptrap wrote:

Why would putting in the writeln cause it to fail? Is it maybe trying to create the foo at compile time?


Yes, it is. Any static initialization of static variables happens at compile-time.

https://dlang.org/spec/declaration.html#global_static_init

-Steve

Ah.. ok, any idea why this works?

Foo foo = [300,300];

Tbh I though I'd defined opAssign to take an array, and was just seeing if it worked, but I hadn't and it seems it's calling the constructor that takes an array, but I cant see in the docs why the above code gets converted to a constructor call.

Reply via email to