Three legitimate bugs? (D1.061)
Don
nospam at nospam.com
Tue May 18 12:06:32 PDT 2010
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.
More information about the Digitalmars-d-learn
mailing list