On Thursday, 3 May 2012 at 07:45:53 UTC, Chris Cain wrote:
The straightforward answer to this is that you really ought to have a main method :-)
...

Well, I just updated DMD to 2.059 (from 2.058) and lo and behold, this doesn't pass for the new version. Interesting. And apparently static asserts can now occur outside of a scope (must have been a fixed bug).

That said, I'm receptive to the change because I don't see a use case for the original behavior and I buy Mr. Davis' explanation.

Plus this:
void main() {
    immutable(Immutable) a;
    Immutable b;
    static assert(!is(typeof(a) == typeof(b));
}
would fail with the old behavior, even though they are clearly distinct.

And of course is(typeof(anImmutable) == shared) is also false with the new version.

Reply via email to