[dmd-beta] D2 2.058 alpha

Don Clugston dclugston at googlemail.com
Wed Feb 8 11:48:25 PST 2012


On 8 February 2012 18:57, Jonathan M Davis <jmdavisProg at gmx.com> wrote:
> On Wednesday, February 08, 2012 18:15:30 Jacob Carlborg wrote:
>> But if you put the "static if"-statement after all fields, shouldn't that be
>> enough to have the full size of the struct. Of course it could be hard for
>> the compiler to know that there are no fields after the "static
>> if"-statement. Maybe the compiler could calculate the size incrementally.
>
> That could cause big problems if the static if weren't after all of the member
> variables. You could have multiple static ifs, each of which ended up with a
> different size for the type, if there are member variables declared between
> them. We _could_ make it give an error if you then added a member variable
> after such a static if, but that's probably getting a bit complicated, since
> more state is necessary. So, it's probably better to just disallow such static
> ifs.

More specifically, it's not static if which is the problem, it's that
.tupleof shouldn't be legal until all members have been declared.
BTW if a static if body doesn't contain any declarations, there's not
much it can contain that's meaningful!

I think that based on the error message issue, the bug should stay
open, but not as a regression.


More information about the dmd-beta mailing list