Re: dmd 1.054 and 2.038 release

2009-12-31 Thread Jason House
Steven Schveighoffer Wrote:

> 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 ()

That's the same error message as 
http://d.puremagic.com/issues/show_bug.cgi?id=3642
Does that error message ever pop up in a meaningful context???

> testinout.d(10): Error: cannot implicitly convert expression (s.getX()) of  
> type inout(int)* to int*

At least in this case, there are other error messages that give a strong hint 
to what the real cause is. I'm still crossing my fingers that 3642 can be 
improved in some way.


Re: dmd 1.054 and 2.038 release

2009-12-31 Thread Walter Bright

Steven Schveighoffer wrote:
(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.


The inout on the return has to be at the top level, as in inout(int *). 
This probably needs improvement.


Re: dmd 1.054 and 2.038 release

2009-12-31 Thread Nick Sabalausky
"Walter Bright"  wrote in message 
news:hhirlb$fj...@digitalmars.com...
> Happy New Year!
>
> http://www.digitalmars.com/d/1.0/changelog.html
> http://ftp.digitalmars.com/dmd.1.054.zip
>
>
> http://www.digitalmars.com/d/2.0/changelog.html
> http://ftp.digitalmars.com/dmd.2.038.zip
>
> Many thanks to the numerous people who contributed to this update.

Improved static assert messages and a few forward reference fixes == 
Awesome! 




Re: dmd 1.054 and 2.038 release

2009-12-31 Thread grauzone

bearophile wrote:

grauzone:
But I have a problem: the compiler is either extremely slow for me, or 
is stuck in an endless loop. All it does is to slowly allocate memory. I 
aborted the compilation after ~ 20 minutes and 2 GB RAM allocation. This 
wasn't the case with dmd 1.053, where it only took 5-10 seconds to compile.

Can anyone confirm this?


Show the code!


I was going to say "but it's hundreds of modules", but then I tried to 
compile some other big hog of code: Tango.


And I found compiling this file hangs:
http://dsource.org/projects/tango/browser/trunk/tango/core/tools/Demangler.d?rev=5248

The exact command line for this was:
dmd -c -I../tango/core -I.. -I../tango/core/vendor -release 
-oftango-core-tools-Demangler-release.o ../tango/core/tools/Demangler.d


Again, could anyone confirm this?

Anyway, no time for this anymore, it's going to be 2010 soon here.


Bye,
bearophile


Re: dmd 1.054 and 2.038 release

2009-12-31 Thread Steven Schveighoffer

On Thu, 31 Dec 2009 15:05:56 -0500, Don  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


Re: dmd 1.054 and 2.038 release

2009-12-31 Thread bearophile
Walter Bright:
> I don't think the min() example is that useful,

No, I meant it's the Bugzilla 2816 that's very useful! :-)

Bye,
bearophile


Re: dmd 1.054 and 2.038 release

2009-12-31 Thread bearophile
grauzone:
> But I have a problem: the compiler is either extremely slow for me, or 
> is stuck in an endless loop. All it does is to slowly allocate memory. I 
> aborted the compilation after ~ 20 minutes and 2 GB RAM allocation. This 
> wasn't the case with dmd 1.053, where it only took 5-10 seconds to compile.
> Can anyone confirm this?

Show the code!

Bye,
bearophile


Re: dmd 1.054 and 2.038 release

2009-12-31 Thread Don

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).


Re: dmd 1.054 and 2.038 release

2009-12-31 Thread Walter Bright

bearophile wrote:

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!


A lot of credit also goes to Andrei for design issues, and some others 
who also submitted bugzilla reports and patches, such as Rainer Schuetze.


I don't think the min() example is that useful, I can't think of when I 
ever needed it. But min() is important as one of those metaprogramming 
"litmus tests" that are the canary that indicates whether one has a 
complete system or not.


Re: dmd 1.054 and 2.038 release

2009-12-31 Thread grauzone

Walter Bright wrote:

Happy New Year!

http://www.digitalmars.com/d/1.0/changelog.html
http://ftp.digitalmars.com/dmd.1.054.zip


http://www.digitalmars.com/d/2.0/changelog.html
http://ftp.digitalmars.com/dmd.2.038.zip

Many thanks to the numerous people who contributed to this update.


Tons of bug fixes == great!

But I have a problem: the compiler is either extremely slow for me, or 
is stuck in an endless loop. All it does is to slowly allocate memory. I 
aborted the compilation after ~ 20 minutes and 2 GB RAM allocation. This 
wasn't the case with dmd 1.053, where it only took 5-10 seconds to compile.


Can anyone confirm this?


Re: dmd 1.054 and 2.038 release

2009-12-31 Thread Ary Borenszweig

Walter Bright wrote:

Happy New Year!

http://www.digitalmars.com/d/1.0/changelog.html
http://ftp.digitalmars.com/dmd.1.054.zip


http://www.digitalmars.com/d/2.0/changelog.html
http://ftp.digitalmars.com/dmd.2.038.zip

Many thanks to the numerous people who contributed to this update.


Very nice!

In http://www.digitalmars.com/d/2.0/function.html#auto-ref-functions the 
links for auto function and ref function are broken.


Happy New Year!
Ary


Re: dmd 1.054 and 2.038 release

2009-12-31 Thread bearophile
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<

Bye,
bearophile


Re: dmd 1.054 and 2.038 release

2009-12-31 Thread BCS

Hello Walter,


Happy New Year!

http://www.digitalmars.com/d/1.0/changelog.html
http://ftp.digitalmars.com/dmd.1.054.zip
http://www.digitalmars.com/d/2.0/changelog.html
http://ftp.digitalmars.com/dmd.2.038.zip
Many thanks to the numerous people who contributed to this update.



Oh cool, I think I'm going to like this one: 2816: "Sudden-death static assert 
is not very useful"


12 Grammar fixes? Swet!




Re: dmd 1.054 and 2.038 release

2009-12-31 Thread BCS

Hello Walter,


Happy New Year!

http://www.digitalmars.com/d/1.0/changelog.html
http://ftp.digitalmars.com/dmd.1.054.zip
http://www.digitalmars.com/d/2.0/changelog.html
http://ftp.digitalmars.com/dmd.2.038.zip
Many thanks to the numerous people who contributed to this update.




New updates, Always nice to see! Damn, I like to see those long list of bugs!




dmd 1.054 and 2.038 release

2009-12-31 Thread Walter Bright

Happy New Year!

http://www.digitalmars.com/d/1.0/changelog.html
http://ftp.digitalmars.com/dmd.1.054.zip


http://www.digitalmars.com/d/2.0/changelog.html
http://ftp.digitalmars.com/dmd.2.038.zip

Many thanks to the numerous people who contributed to this update.