On Thu, 31 Dec 2009 15:05:56 -0500, Don <nos...@nospam.com> wrote:

bearophile wrote:
Walter Bright:
Happy New Year!
 Happy end of the year to you too!
Is this the last release for the 2009? ;-)
 This is funny:
min(x, y) = 10;    // sets x to 10
This looks by far like the most useful improvement/change of this DMD release, I've already tried it and I like it a lot, thanks to Don and to you!
Bugzilla 2816: Sudden-death static assert is not very useful<

I can't take credit for that. It comes from the LDC guys, I just enhanced it slightly. There are 26 Bugzilla votes fixed in this release, which is probably a record. (I'm assuming bug 1961('scoped const') is considered to be fixed).

Sadly, it's not fixed yet :(


struct S
{
    int x;
    inout(int)* getX() inout { return &x;}
}

void main()
{
    S s;
    int *x = s.getX();
}


testinout.d(10): Error: function testinout.S.getX () inout is not callable using argument types () testinout.d(10): Error: cannot implicitly convert expression (s.getX()) of type inout(int)* to int*

It appears the auto-conversion is not happening on the return, and also the call isn't working.

I'm surprised this was listed as an implemented feature... Is there some test code that you were using to confirm this Walter?

-Steve

Reply via email to