DMD 1.031 and 2.015 releases

Jarrett Billingsley kb3ctd2 at yahoo.com
Wed Jun 18 08:01:26 PDT 2008


"Jarrett Billingsley" <kb3ctd2 at yahoo.com> wrote in message 
news:g3b6db$fu3$1 at digitalmars.com...
>
> "Walter Bright" <newshound1 at digitalmars.com> wrote in message 
> news:g3agsn$1o76$2 at digitalmars.com...
>> Some new stuff to make writing templates easier.
>>
>> http://www.digitalmars.com/d/1.0/changelog.html
>> http://ftp.digitalmars.com/dmd.1.031.zip
>>
>> http://www.digitalmars.com/d/2.0/changelog.html
>> http://ftp.digitalmars.com/dmd.2.015.zip
>
> Bug 617 fixed?  YES.
>
> Bug 1559/2140 fixed?  YES.
>
> Bug 1675 -- wait, how did you fix that one?
>
> Also like the template alias arguments taking literals and template 
> constraints on the D2 side.  Will the template alias parameter extension 
> eventually extend to being able to alias expressions in general?

Crap, tried compiling something and got this:

Assertion failure: 'global.errors' on line 272 in file 'statement.c'

Turns out it's stuff like this:

if(foo)
    mixin(SomeTemplate!("blah"));

That fails.  If the mixin is outside of a control statement, or if (here's 
the really weird one) you put braces on the body:

if(foo)
{
    mixin(SomeTemplate!("blah"));
}

It works.

Short and sweet testcase:

const b = "writefln(`hey`);";

if(true)
    mixin(b);  // FAILCOPTER

But put {} around mixin(b) and it works. 




More information about the Digitalmars-d-announce mailing list