On Friday, 26 August 2016 at 09:48:00 UTC, Jonathan M Davis wrote:

You're supposed to be able to depend on .init existing. Default initialization for structs can be disabled via

@disable this();

but even then, the init member still exists (it just isn't used for default initialization).

From what I remember, the last time I looked at `@disable this();`: it prevents the user from creating a default initialized struct. However whenever (compiler internally) the struct needs initialization, `.init` is still used. And thus it is also used at the start of any constructor the user writes. Don't take my word for it: have a look at asm output, or easier: LCD's LLVM IR output.

-Johan

Reply via email to