[dmd-internals] Plans for the next release

Andrei Alexandrescu andrei at erdani.com
Thu Jan 7 15:41:24 PST 2010


If you could abort compilation (with message) for now inside the 
implementation so we don't forget, that should be fine.

Pretty cool insight re dead votes, but if most people are like me, they 
just forget all about the feature most of the time :o).


Andrei

Don Clugston wrote:
> 2010/1/7 Andrei Alexandrescu <andrei at erdani.com>:
>> Don Clugston wrote:
>>> Obviously the 'shared' stuff/TLS is Walter's priority. There have a
>>> been a huge number of regressions in the past few releases. By now,
>>> there are patches for most of them. We should get all of them fixed
>>> in the next release.
>>>
>>> I have finally got struct constructors working in CTFE; this fixes a
>>> several structural bugs. Unfortunately it requires changes in several
>>>  places throughout the compiler.
>> This is absolutely huge because we can really claim structs have true
>> literals. So are there still issues with the feature?
> 
> Not really. The only thing I know of that doesn't yet work properly is
> structs with postblits in module scope. The postblit doesn't currently
> get run when you assign a struct literal to another literal.
> 
> enum SomeStruct a = SomeStruct(3,4, "abc");
> enum SomeStruct b = a;
> 
> The postblit should be run on b, so that a and b won't be identical.
> It's a bit of a pain to make that work. Might disallow it for now --
> it's pretty obscure. BTW that DOES work inside a CTFE function -- it's
> only in module scope that it fails.
> 
> The reason why struct constructors were so difficult is that they're
> implemented as a compiler-internal extension to comma expressions,
> which are (declaration, expression) instead of (expression,
> expression). And the declaration is an lvalue.
> 
>>> I've also made a magic __ctfe variable (bug 3556), but it's a very
>>> simple patch.
>>>
>>>
>>> By the way, some good news: there are currently 96 dead votes in Bugzilla.
>>> It's quite an impressive list.
>>> http://d.puremagic.com/issues/buglist.cgi?query_format=advanced&votes=1&bug_status=RESOLVED
>> What do dead votes mean?
> 
> People voted for something, it's now been fixed, but they haven't
> changed their vote yet. Means the rate of bug fixing is overtaking the
> voting. <g>.
> _______________________________________________
> dmd-internals mailing list
> dmd-internals at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-internals


More information about the dmd-internals mailing list