Whats going on with this?

Adam D. Ruppe destructionator at gmail.com
Sat Oct 3 12:43:30 UTC 2020


On Friday, 2 October 2020 at 23:28:04 UTC, claptrap wrote:
> I cant see anything in the struct docs explaining why that 
> array on the right hand side is automatically converted to a 
> constructor call.

I'm not sure exactly where it is in the docs but that's perfectly 
normal.

Any declaration with initialization of a struct is turned into a 
construction call if it can. If not, it tries to treat it as a 
struct literal.

I guess this is as close as it comes:
https://dlang.org/spec/struct.html#struct-constructor

"Struct constructors are used to initialize an instance of a 
struct when a more complex construction is needed than is allowed 
by static initialization or a struct literal. "

Which sends you back up here:
https://dlang.org/spec/struct.html#static_struct_init

showing the = syntax.


opAssign is only used AFTER the struct has already been declared.


More information about the Digitalmars-d-learn mailing list