Three legitimate bugs? (D1.061)
Don
nospam at nospam.com
Tue May 18 12:08:38 PDT 2010
Don wrote:
> bearophile wrote:
>> Steven Schveighoffer:
>>> No, I was simply wrong :) I think it's by design. Which means the
>>> original bug report is valid.
>>
>> The original bug report is valid, but I don't understand that code
>> still. Is the const implying a static only in some situations?
>>
>> Why is this OK for the compiler:
>>
>> struct Foo {
>> const Foo f = Foo();
>> }
>> static assert(Foo.sizeof == 1);
>> void main() {}
>>
>>
>> While this is not OK for the compiler?
>>
>> struct Foo {
>> const Foo f;
>> }
>> static assert(Foo.sizeof == 1);
>> void main() {}
>>
>> Bye,
>> bearophile
>
> In D1, the two are totally different. The second one is the only
> situation in D1 where 'const' doesn't mean compile-time constant.
> I guess the same behaviour has been applied in D2, but I'm not sure if
> that's intentional or not.
D'oh, should read the title. This was a D1 question. Yes it's
intentional, and yes it's confusing.
More information about the Digitalmars-d-learn
mailing list