Can we drop static struct initializers?

Walter Bright newshound1 at digitalmars.com
Thu Nov 19 23:53:28 PST 2009


Don wrote:
> Now that we have struct literals, the old C-style struct initializers 
> don't seem to be necessary.
> The variations with named initializers are not really implemented -- the 
> example in the spec doesn't work, and most uses of them cause compiler 
> segfaults or wrong code generation. EG...
> 
> struct Move{
>    int D;
> }
> enum Move genMove = { D:4 };
> immutable Move b = genMove;
> 
> It's not difficult to fix these compiler problems, but I'm just not sure 
> if it's worth implementing. Maybe they should just be dropped? (The { 
> field: value } style anyway).
> 
> 

Funny, I've been thinking the same thing. Those initializers are pretty 
much obsolete, the only thing left is the field name thing. To keep the 
field name thing with the newer struct literals would require named 
function parameters as well, something doable but I'm not ready to do 
all the work to implement that yet.

Or just drop the field name thing, as you suggest.



More information about the Digitalmars-d mailing list