Re: dmd 1.054 and 2.038 release
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
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
"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
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
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
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
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
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
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
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
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
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
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
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
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.