Can we drop static struct initializers?

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Fri Nov 20 08:15:23 PST 2009


Walter Bright wrote:
> 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.

Would love to trim the book as well. My finger is on the Del button. 
Just say a word.

Andrei



More information about the Digitalmars-d mailing list