www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - dmd 2.065.0

reply Andrew Edwards <ridimz yahoo.com> writes:
The final release of DMD 2.065 is now available. [1] contains complete 
descriptions of all changes, enhancements and fixes for this release.

Available binaries can be accessed at [2]. Since the website will lag 
slightly behind, links are provided below for convenience.

All Systems:
	http://ftp.digitalmars.com/dmd.2.065.0.zip

FreeBSD:
	http://ftp.digitalmars.com/dmd.2.065.0.freebsd-64.zip
	http://ftp.digitalmars.com/dmd.2.065.0.freebsd-32.zip

Linux:
	http://ftp.digitalmars.com/dmd_2.065.0-0_i386.deb
	http://ftp.digitalmars.com/dmd_2.065.0-0_amd64.deb
	http://ftp.digitalmars.com/dmd-2.065.0-0.fedora.i386.rpm
	http://ftp.digitalmars.com/dmd-2.065.0-0.fedora.x86_64.rpm
	http://ftp.digitalmars.com/dmd-2.065.0-0.openSUSE.i386.rpm
	http://ftp.digitalmars.com/dmd-2.065.0-0.openSUSE.x86_64.rpm
	http://ftp.digitalmars.com/dmd.2.065.0.linux.zip

MAC OS X:
	http://ftp.digitalmars.com/dmd.2.065.0.dmg
	http://ftp.digitalmars.com/dmd.2.065.0.osx.zip

Windows:
	http://ftp.digitalmars.com/dmd-2.065.0.exe
	http://ftp.digitalmars.com/dmd.2.065.0.windows.zip

[1] http://dlang.org/chagelog.html
[2] http://dlang.org/download.html

Regards,
Andrew
-- 
--------------------
http://www.akeron.co
auto getAddress() {
     string location = " ", period = ".";
     return ("info" ~ location ~ "afidem" ~ period ~ "org");
}
Feb 24 2014
next sibling parent simendsjo <simendsjo gmail.com> writes:
On 02/24/2014 09:45 AM, Andrew Edwards wrote:
 The final release of DMD 2.065 is now available. [1] contains complete
 descriptions of all changes, enhancements and fixes for this release.
(...)
 [1] http://dlang.org/chagelog.html
Great news! Your changelog link has a typo, and it's not updated for 2.065.
Feb 24 2014
prev sibling next sibling parent "Kelet" <kelethunter gmail.com> writes:
\o/ Congrats! I'm excited for this release, it fixes a good 
amount of bugs that have been plaguing me.
Feb 24 2014
prev sibling next sibling parent "extrawurst" <stephan extrawurst.org> writes:
On Monday, 24 February 2014 at 08:45:31 UTC, Andrew Edwards wrote:
 The final release of DMD 2.065 is now available. [1] contains 
 complete descriptions of all changes, enhancements and fixes 
 for this release.
Awesome release!
 Available binaries can be accessed at [2]. Since the website 
 will lag slightly behind, links are provided below for 
 convenience.
Actually no, there is still just 2.064 on the download page
Feb 24 2014
prev sibling next sibling parent reply "Szymon Gatner" <noemail gmail.com> writes:
On Monday, 24 February 2014 at 08:45:31 UTC, Andrew Edwards wrote:
 The final release of DMD 2.065 is now available. [1] contains 
 complete descriptions of all changes, enhancements and fixes 
 for this release.

 Available binaries can be accessed at [2]. Since the website 
 will lag slightly behind, links are provided below for 
 convenience.

 All Systems:
 	http://ftp.digitalmars.com/dmd.2.065.0.zip

 FreeBSD:
 	http://ftp.digitalmars.com/dmd.2.065.0.freebsd-64.zip
 	http://ftp.digitalmars.com/dmd.2.065.0.freebsd-32.zip

 Linux:
 	http://ftp.digitalmars.com/dmd_2.065.0-0_i386.deb
 	http://ftp.digitalmars.com/dmd_2.065.0-0_amd64.deb
 	http://ftp.digitalmars.com/dmd-2.065.0-0.fedora.i386.rpm
 	http://ftp.digitalmars.com/dmd-2.065.0-0.fedora.x86_64.rpm
 	http://ftp.digitalmars.com/dmd-2.065.0-0.openSUSE.i386.rpm
 	http://ftp.digitalmars.com/dmd-2.065.0-0.openSUSE.x86_64.rpm
 	http://ftp.digitalmars.com/dmd.2.065.0.linux.zip

 MAC OS X:
 	http://ftp.digitalmars.com/dmd.2.065.0.dmg
 	http://ftp.digitalmars.com/dmd.2.065.0.osx.zip

 Windows:
 	http://ftp.digitalmars.com/dmd-2.065.0.exe
 	http://ftp.digitalmars.com/dmd.2.065.0.windows.zip

 [1] http://dlang.org/chagelog.html
 [2] http://dlang.org/download.html

 Regards,
 Andrew
[1] gives: Not Found The requested URL /chagelog.html was not found on this server.
Feb 24 2014
parent reply "Francesco Cattoglio" <francesco.cattoglio gmail.com> writes:
On Monday, 24 February 2014 at 10:33:27 UTC, Szymon Gatner wrote:


 All Systems:
 	http://ftp.digitalmars.com/dmd.2.065.0.zip

 FreeBSD:
 	http://ftp.digitalmars.com/dmd.2.065.0.freebsd-64.zip
 	http://ftp.digitalmars.com/dmd.2.065.0.freebsd-32.zip

 Linux:
 	http://ftp.digitalmars.com/dmd_2.065.0-0_i386.deb
 	http://ftp.digitalmars.com/dmd_2.065.0-0_amd64.deb
 	http://ftp.digitalmars.com/dmd-2.065.0-0.fedora.i386.rpm
 	http://ftp.digitalmars.com/dmd-2.065.0-0.fedora.x86_64.rpm
 	http://ftp.digitalmars.com/dmd-2.065.0-0.openSUSE.i386.rpm
 	http://ftp.digitalmars.com/dmd-2.065.0-0.openSUSE.x86_64.rpm
 	http://ftp.digitalmars.com/dmd.2.065.0.linux.zip

 MAC OS X:
 	http://ftp.digitalmars.com/dmd.2.065.0.dmg
 	http://ftp.digitalmars.com/dmd.2.065.0.osx.zip

 Windows:
 	http://ftp.digitalmars.com/dmd-2.065.0.exe
 	http://ftp.digitalmars.com/dmd.2.065.0.windows.zip

 [1] http://dlang.org/chagelog.html
 [2] http://dlang.org/download.html

 Regards,
 Andrew
[1] gives: Not Found The requested URL /chagelog.html was not found on this server.
Indeed, it's a mispelling, and the changelog.html is not yet updated. However, you can download the zip and find the correct, updated changelog from the [zipfile.zip]/html/d/ folder Very nice work! 280+ issues closed for DMD, 80+ issues closed for phobos. Thank you to all the contributors!
Feb 24 2014
parent reply "Szymon Gatner" <noemail gmail.com> writes:
On Monday, 24 February 2014 at 10:43:32 UTC, Francesco Cattoglio 
wrote:
 On Monday, 24 February 2014 at 10:33:27 UTC, Szymon Gatner 
 wrote:


 All Systems:
 	http://ftp.digitalmars.com/dmd.2.065.0.zip

 FreeBSD:
 	http://ftp.digitalmars.com/dmd.2.065.0.freebsd-64.zip
 	http://ftp.digitalmars.com/dmd.2.065.0.freebsd-32.zip

 Linux:
 	http://ftp.digitalmars.com/dmd_2.065.0-0_i386.deb
 	http://ftp.digitalmars.com/dmd_2.065.0-0_amd64.deb
 	http://ftp.digitalmars.com/dmd-2.065.0-0.fedora.i386.rpm
 	http://ftp.digitalmars.com/dmd-2.065.0-0.fedora.x86_64.rpm
 	http://ftp.digitalmars.com/dmd-2.065.0-0.openSUSE.i386.rpm
 	http://ftp.digitalmars.com/dmd-2.065.0-0.openSUSE.x86_64.rpm
 	http://ftp.digitalmars.com/dmd.2.065.0.linux.zip

 MAC OS X:
 	http://ftp.digitalmars.com/dmd.2.065.0.dmg
 	http://ftp.digitalmars.com/dmd.2.065.0.osx.zip

 Windows:
 	http://ftp.digitalmars.com/dmd-2.065.0.exe
 	http://ftp.digitalmars.com/dmd.2.065.0.windows.zip

 [1] http://dlang.org/chagelog.html
 [2] http://dlang.org/download.html

 Regards,
 Andrew
[1] gives: Not Found The requested URL /chagelog.html was not found on this server.
Indeed, it's a mispelling, and the changelog.html is not yet updated. However, you can download the zip and find the correct, updated changelog from the [zipfile.zip]/html/d/ folder Very nice work! 280+ issues closed for DMD, 80+ issues closed for phobos. Thank you to all the contributors!
I love these ChangeLogs! Really great things for a person that still learns D. So 2.065 is not the one that will make class methods final by default?
Feb 24 2014
parent reply "Kapps" <opantm2+spam gmail.com> writes:
On Monday, 24 February 2014 at 11:04:14 UTC, Szymon Gatner wrote:
 So 2.065 is not the one that will make class methods final by 
 default?
Correct. The pull for it is https://github.com/D-Programming-Language/dmd/pull/2895
Feb 24 2014
next sibling parent "Szymon Gatner" <noemail gmail.com> writes:
On Monday, 24 February 2014 at 11:21:32 UTC, Kapps wrote:
 On Monday, 24 February 2014 at 11:04:14 UTC, Szymon Gatner 
 wrote:
 So 2.065 is not the one that will make class methods final by 
 default?
Correct. The pull for it is https://github.com/D-Programming-Language/dmd/pull/2895
Clear, thanks. 2.066 then I suppose?
Feb 24 2014
prev sibling next sibling parent reply "Szymon Gatner" <noemail gmail.com> writes:
On Monday, 24 February 2014 at 11:21:32 UTC, Kapps wrote:
 On Monday, 24 February 2014 at 11:04:14 UTC, Szymon Gatner 
 wrote:
 So 2.065 is not the one that will make class methods final by 
 default?
Correct. The pull for it is https://github.com/D-Programming-Language/dmd/pull/2895
Clear, thanks. 2.066 then I suppose?
Feb 24 2014
parent "Namespace" <rswhite4 googlemail.com> writes:
On Monday, 24 February 2014 at 11:44:30 UTC, Szymon Gatner wrote:
 On Monday, 24 February 2014 at 11:21:32 UTC, Kapps wrote:
 On Monday, 24 February 2014 at 11:04:14 UTC, Szymon Gatner 
 wrote:
 So 2.065 is not the one that will make class methods final by 
 default?
Correct. The pull for it is https://github.com/D-Programming-Language/dmd/pull/2895
Clear, thanks. 2.066 then I suppose?
Let us hope so!
Feb 24 2014
prev sibling parent reply "Namespace" <rswhite4 googlemail.com> writes:
On Monday, 24 February 2014 at 11:21:32 UTC, Kapps wrote:
 On Monday, 24 February 2014 at 11:04:14 UTC, Szymon Gatner 
 wrote:
 So 2.065 is not the one that will make class methods final by 
 default?
Correct. The pull for it is https://github.com/D-Programming-Language/dmd/pull/2895
Not really. This pull introduce the virtual keyword. The next step will afaik force you to write on every method if it is virtual or final. The step afterwards will probably introduce final by default.
Feb 24 2014
next sibling parent reply "Szymon Gatner" <noemail gmail.com> writes:
On Monday, 24 February 2014 at 11:45:20 UTC, Namespace wrote:
 On Monday, 24 February 2014 at 11:21:32 UTC, Kapps wrote:
 On Monday, 24 February 2014 at 11:04:14 UTC, Szymon Gatner 
 wrote:
 So 2.065 is not the one that will make class methods final by 
 default?
Correct. The pull for it is https://github.com/D-Programming-Language/dmd/pull/2895
Not really. This pull introduce the virtual keyword. The next step will afaik force you to write on every method if it is virtual or final. The step afterwards will probably introduce final by default.
Yes yes, I understand :)
Feb 24 2014
parent reply Leandro Lucarella <luca llucax.com.ar> writes:
Szymon Gatner, el 24 de February a las 11:48 me escribiste:
 On Monday, 24 February 2014 at 11:45:20 UTC, Namespace wrote:
On Monday, 24 February 2014 at 11:21:32 UTC, Kapps wrote:
On Monday, 24 February 2014 at 11:04:14 UTC, Szymon Gatner
wrote:
So 2.065 is not the one that will make class methods final by
default?
Correct. The pull for it is https://github.com/D-Programming-Language/dmd/pull/2895
Not really. This pull introduce the virtual keyword. The next step will afaik force you to write on every method if it is virtual or final. The step afterwards will probably introduce final by default.
Wait, what? That was one of C++ biggest mistakes! You are seriously wanting to do that? -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- O.K. Just a little pinprick. There'll be no more aaaaaaaaah! But you may feel a little sick.
Feb 24 2014
parent "Namespace" <rswhite4 googlemail.com> writes:
On Tuesday, 25 February 2014 at 00:09:45 UTC, Leandro Lucarella 
wrote:
 Szymon Gatner, el 24 de February a las 11:48 me escribiste:
 On Monday, 24 February 2014 at 11:45:20 UTC, Namespace wrote:
On Monday, 24 February 2014 at 11:21:32 UTC, Kapps wrote:
On Monday, 24 February 2014 at 11:04:14 UTC, Szymon Gatner
wrote:
So 2.065 is not the one that will make class methods final 
by
default?
Correct. The pull for it is https://github.com/D-Programming-Language/dmd/pull/2895
Not really. This pull introduce the virtual keyword. The next step will afaik force you to write on every method if it is virtual or final. The step afterwards will probably introduce final by default.
Wait, what? That was one of C++ biggest mistakes! You are seriously wanting to do that?
Don't worry: https://d.puremagic.com/issues/show_bug.cgi?id=11616#c3
Feb 24 2014
prev sibling parent reply "Francesco Cattoglio" <francesco.cattoglio gmail.com> writes:
On Monday, 24 February 2014 at 11:45:20 UTC, Namespace wrote:

 Not really. This pull introduce the virtual keyword. The next 
 step will afaik force you to write on every method if it is 
 virtual or final. The step afterwards will probably introduce 
 final by default.
Wait, does this mean we finally came to some kind of agreement on the whole debate? I was sure that any kind of change of current behaviour was being vetoed
Feb 24 2014
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 2/24/14, 4:24 AM, Francesco Cattoglio wrote:
 On Monday, 24 February 2014 at 11:45:20 UTC, Namespace wrote:

 Not really. This pull introduce the virtual keyword. The next step
 will afaik force you to write on every method if it is virtual or
 final. The step afterwards will probably introduce final by default.
Wait, does this mean we finally came to some kind of agreement on the whole debate?
Not finally... virtually :o). Andrei
Feb 24 2014
parent "Joseph Cassman" <jc7919 outlook.com> writes:
On Monday, 24 February 2014 at 18:58:50 UTC, Andrei Alexandrescu 
wrote:
 On 2/24/14, 4:24 AM, Francesco Cattoglio wrote:
 On Monday, 24 February 2014 at 11:45:20 UTC, Namespace wrote:

 Not really. This pull introduce the virtual keyword. The next 
 step
 will afaik force you to write on every method if it is 
 virtual or
 final. The step afterwards will probably introduce final by 
 default.
Wait, does this mean we finally came to some kind of agreement on the whole debate?
Not finally... virtually :o). Andrei
Not bad. :-) Joseph
Feb 24 2014
prev sibling next sibling parent Andrew Edwards <ridimz yahoo.com> writes:
On 2/24/14, 3:45 AM, Andrew Edwards wrote:
 The final release of DMD 2.065 is now available. [1] contains complete
 descriptions of all changes, enhancements and fixes for this release.


 [1] http://dlang.org/chagelog.html
Correction: http://dlang.org/changelog.html Note that this page is still pinging update to 2.065.
Feb 24 2014
prev sibling next sibling parent "Tourist" <gravatar gravatar.com> writes:
On Monday, 24 February 2014 at 08:45:31 UTC, Andrew Edwards wrote:
 Windows:
 	http://ftp.digitalmars.com/dmd-2.065.0.exe
 	http://ftp.digitalmars.com/dmd.2.065.0.windows.zip
The .zip file for Windows isn't listed on the download page. http://dlang.org/download.html
Feb 24 2014
prev sibling next sibling parent "Dominikus Dittes Scherkl" writes:
On Monday, 24 February 2014 at 08:45:31 UTC, Andrew Edwards wrote:
 The final release of DMD 2.065 is now available.
Cool. I found two bugs in the comments to library changes point 2. The 2nd comment says "all values are not true" but what the check does is "not all values are true". Same for the 4th comment: "all values do not convert to true" should be "not all values convert to true".
Feb 24 2014
prev sibling next sibling parent reply "Dicebot" <public dicebot.lv> writes:
Arch packages have just been updated.
Feb 24 2014
parent "Mike" <none none.com> writes:
On Monday, 24 February 2014 at 17:37:08 UTC, Dicebot wrote:
 Arch packages have just been updated.
Thank You! Mike
Feb 24 2014
prev sibling next sibling parent reply Manu <turkeyman gmail.com> writes:
Awesome!
First thing I noticed though, the Windows installer seemed to forget where
my existing D installation is, and tried to install it somewhere else.
I thought this got fixed months ago? Regression in the installer?


On 24 February 2014 18:45, Andrew Edwards <ridimz yahoo.com> wrote:

 The final release of DMD 2.065 is now available. [1] contains complete
 descriptions of all changes, enhancements and fixes for this release.

 Available binaries can be accessed at [2]. Since the website will lag
 slightly behind, links are provided below for convenience.

 All Systems:
         http://ftp.digitalmars.com/dmd.2.065.0.zip

 FreeBSD:
         http://ftp.digitalmars.com/dmd.2.065.0.freebsd-64.zip
         http://ftp.digitalmars.com/dmd.2.065.0.freebsd-32.zip

 Linux:
         http://ftp.digitalmars.com/dmd_2.065.0-0_i386.deb
         http://ftp.digitalmars.com/dmd_2.065.0-0_amd64.deb
         http://ftp.digitalmars.com/dmd-2.065.0-0.fedora.i386.rpm
         http://ftp.digitalmars.com/dmd-2.065.0-0.fedora.x86_64.rpm
         http://ftp.digitalmars.com/dmd-2.065.0-0.openSUSE.i386.rpm
         http://ftp.digitalmars.com/dmd-2.065.0-0.openSUSE.x86_64.rpm
         http://ftp.digitalmars.com/dmd.2.065.0.linux.zip

 MAC OS X:
         http://ftp.digitalmars.com/dmd.2.065.0.dmg
         http://ftp.digitalmars.com/dmd.2.065.0.osx.zip

 Windows:
         http://ftp.digitalmars.com/dmd-2.065.0.exe
         http://ftp.digitalmars.com/dmd.2.065.0.windows.zip

 [1] http://dlang.org/chagelog.html
 [2] http://dlang.org/download.html

 Regards,
 Andrew
 --
 --------------------
 http://www.akeron.co
 auto getAddress() {
     string location = " ", period = ".";
     return ("info" ~ location ~ "afidem" ~ period ~ "org");
 }
Feb 24 2014
parent reply "Brad Anderson" <eco gnuk.net> writes:
On Monday, 24 February 2014 at 17:42:07 UTC, Manu wrote:
 Awesome!
 First thing I noticed though, the Windows installer seemed to 
 forget where
 my existing D installation is, and tried to install it 
 somewhere else.
 I thought this got fixed months ago? Regression in the 
 installer?
Nope, not a regression. That never got implemented.
Feb 24 2014
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 2/24/2014 9:48 AM, Brad Anderson wrote:
 On Monday, 24 February 2014 at 17:42:07 UTC, Manu wrote:
 First thing I noticed though, the Windows installer seemed to forget where
 my existing D installation is, and tried to install it somewhere else.
 I thought this got fixed months ago? Regression in the installer?
Nope, not a regression. That never got implemented.
Is there a bugzilla issue for this?
Feb 24 2014
parent reply "Brad Anderson" <eco gnuk.net> writes:
On Monday, 24 February 2014 at 20:24:04 UTC, Walter Bright wrote:
 On 2/24/2014 9:48 AM, Brad Anderson wrote:
 On Monday, 24 February 2014 at 17:42:07 UTC, Manu wrote:
 First thing I noticed though, the Windows installer seemed to 
 forget where
 my existing D installation is, and tried to install it 
 somewhere else.
 I thought this got fixed months ago? Regression in the 
 installer?
Nope, not a regression. That never got implemented.
Is there a bugzilla issue for this?
Nope.
Feb 25 2014
parent Walter Bright <newshound2 digitalmars.com> writes:
On 2/25/2014 11:03 AM, Brad Anderson wrote:
 On Monday, 24 February 2014 at 20:24:04 UTC, Walter Bright wrote:
 On 2/24/2014 9:48 AM, Brad Anderson wrote:
 On Monday, 24 February 2014 at 17:42:07 UTC, Manu wrote:
 First thing I noticed though, the Windows installer seemed to forget where
 my existing D installation is, and tried to install it somewhere else.
 I thought this got fixed months ago? Regression in the installer?
Nope, not a regression. That never got implemented.
Is there a bugzilla issue for this?
Nope.
Please make one - otherwise it'll get overlooked.
Feb 25 2014
prev sibling next sibling parent "Brad Anderson" <eco gnuk.net> writes:
On Monday, 24 February 2014 at 08:45:31 UTC, Andrew Edwards wrote:
 The final release of DMD 2.065 is now available.
Thanks for all your hard work, Andrew. Seems like Martin and Nick did a lot of work on the release infrastructure too so thanks to them as well and everyone else who worked on this release.
Feb 24 2014
prev sibling next sibling parent Jordi Sayol <g.sayol yahoo.es> writes:
El 24/02/14 09:45, Andrew Edwards ha escrit:
 The final release of DMD 2.065 is now available.
Congratulations for this new dmd release! New deb packages and "dlangspec" in several formats available at <http://d-apt.sourceforge.net/> -- Jordi Sayol
Feb 24 2014
prev sibling next sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
Looks like we need to do something about this:

http://www.reddit.com/r/programming/comments/1ytfc5/d_2065_released_with_396_fixes_and_improvements/cfnmkih

At a minimum, add it to the changelog. Or possibly remove that change.
Feb 24 2014
next sibling parent reply "Steven Schveighoffer" <schveiguy yahoo.com> writes:
On Mon, 24 Feb 2014 15:29:51 -0500, Walter Bright  
<newshound2 digitalmars.com> wrote:

 Looks like we need to do something about this:

 http://www.reddit.com/r/programming/comments/1ytfc5/d_2065_released_with_396_fixes_and_improvements/cfnmkih

 At a minimum, add it to the changelog. Or possibly remove that change.
I think the change should go (if it was intentional). IIRC, opCmp was required in D1 and older versions of D2, because hash collisions were stored in a tree instead of a LL. The documentation should be updated too. -Steve
Feb 24 2014
parent reply "Meta" <jared771 gmail.com> writes:
On Monday, 24 February 2014 at 21:00:53 UTC, Steven Schveighoffer 
wrote:
 I think the change should go (if it was intentional).

 IIRC, opCmp was required in D1 and older versions of D2, 
 because hash collisions were stored in a tree instead of a LL.

 The documentation should be updated too.

 -Steve
Why *was* there a change to enforce that AA keys have opCmp? It doesn't seem to me like any responses SiegeLord got were satisfactory, i.e., why was this change made, and why was it not in the changelog?
Feb 24 2014
parent reply "Steven Schveighoffer" <schveiguy yahoo.com> writes:
On Mon, 24 Feb 2014 16:09:39 -0500, Meta <jared771 gmail.com> wrote:

 On Monday, 24 February 2014 at 21:00:53 UTC, Steven Schveighoffer wrote:
 I think the change should go (if it was intentional).

 IIRC, opCmp was required in D1 and older versions of D2, because hash  
 collisions were stored in a tree instead of a LL.

 The documentation should be updated too.

 -Steve
Why *was* there a change to enforce that AA keys have opCmp? It doesn't seem to me like any responses SiegeLord got were satisfactory, i.e., why was this change made, and why was it not in the changelog?
A wild wild guess is that there was code in the compiler that used to require it (after all, it was required a long time ago), and somehow it got reactivated by accident. But wild guesses don't help fix bugs :) In doing a search through my email of the dmd-internals mailing list, I don't see opCmp anywhere. -Steve
Feb 24 2014
next sibling parent reply "Meta" <jared771 gmail.com> writes:
On Monday, 24 February 2014 at 21:22:12 UTC, Steven Schveighoffer 
wrote:
 A wild wild guess is that there was code in the compiler that 
 used to require it (after all, it was required a long time 
 ago), and somehow it got reactivated by accident.

 But wild guesses don't help fix bugs :)

 In doing a search through my email of the dmd-internals mailing 
 list, I don't see opCmp anywhere.

 -Steve
Ah, I see. I got the impression that he thought it was a deliberate change, which is why he was so irate. Maybe someone should mention this in the thread.
Feb 24 2014
parent "Steven Schveighoffer" <schveiguy yahoo.com> writes:
On Mon, 24 Feb 2014 16:23:45 -0500, Meta <jared771 gmail.com> wrote:

 Ah, I see. I got the impression that he thought it was a deliberate  
 change, which is why he was so irate. Maybe someone should mention this  
 in the thread.
I did, but I have a feeling it won't help :) -Steve
Feb 24 2014
prev sibling parent reply "Daniel Murphy" <yebbliesnospam gmail.com> writes:
"Steven Schveighoffer"  wrote in message 
news:op.xbs1naiueav7ka stevens-macbook-pro.local...

 A wild wild guess is that there was code in the compiler that used to 
 require it (after all, it was required a long time ago), and somehow it 
 got reactivated by accident.

 But wild guesses don't help fix bugs :)
Walter + Andrei did it, and it was completely intentional, and it was known that it would break code. https://github.com/D-Programming-Language/dmd/pull/3054
Feb 25 2014
next sibling parent "Dicebot" <public dicebot.lv> writes:
On Tuesday, 25 February 2014 at 10:28:41 UTC, Daniel Murphy wrote:
 Walter + Andrei did it, and it was completely intentional, and 
 it was known that it would break code.

 https://github.com/D-Programming-Language/dmd/pull/3054
I find it so ironical that Walter warns that this may break the code and few comments later says that more appropriate fix is not an option because "I don't want to break anything with this release" :P
Feb 25 2014
prev sibling next sibling parent reply "Steven Schveighoffer" <schveiguy yahoo.com> writes:
On Tue, 25 Feb 2014 05:28:42 -0500, Daniel Murphy  
<yebbliesnospam gmail.com> wrote:

 "Steven Schveighoffer"  wrote in message  
 news:op.xbs1naiueav7ka stevens-macbook-pro.local...

 A wild wild guess is that there was code in the compiler that used to  
 require it (after all, it was required a long time ago), and somehow it  
 got reactivated by accident.

 But wild guesses don't help fix bugs :)
Walter + Andrei did it, and it was completely intentional, and it was known that it would break code.
This was the wrong fix. Druntime should be modified to use TypeInfo.equals instead of TypeInfo.compare. Compare is no longer needed, since it's only used to check for equality. Note that the docs say BOTH opEquals and opCmp should be specified, because either can be used. I would suggest a proper interim fix is to only reject key types that define opEquals, but not opCmp. Then switch to using equals in druntime. Finally, get rid of AA's as a specialized type, map them cleanly to a template. -Steve
Feb 25 2014
parent "Steven Schveighoffer" <schveiguy yahoo.com> writes:
On Tue, 25 Feb 2014 12:11:46 -0500, Steven Schveighoffer  
<schveiguy yahoo.com> wrote:

 I would suggest a proper interim fix is to only reject key types that  
 define opEquals, but not opCmp. Then switch to using equals in druntime.
Sorry, I meant define opCmp but not opEquals. Some types can be compared for equality but are not ordered (AA's for example!) -Steve
Feb 25 2014
prev sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 2/25/2014 2:28 AM, Daniel Murphy wrote:
 Walter + Andrei did it, and it was completely intentional, and it was known
that
 it would break code.

 https://github.com/D-Programming-Language/dmd/pull/3054
It was intended to only break code that was already broken (would fail at runtime). It appears that this turned out to not be entirely true.
Feb 25 2014
parent reply "Steven Schveighoffer" <schveiguy yahoo.com> writes:
On Tue, 25 Feb 2014 14:33:05 -0500, Walter Bright  
<newshound2 digitalmars.com> wrote:

 On 2/25/2014 2:28 AM, Daniel Murphy wrote:
 Walter + Andrei did it, and it was completely intentional, and it was  
 known that
 it would break code.

 https://github.com/D-Programming-Language/dmd/pull/3054
It was intended to only break code that was already broken (would fail at runtime). It appears that this turned out to not be entirely true.
I just wrote this and compiled on 2.064: import std.stdio; struct S { int x; int y; bool opEquals(ref const(S) other) const { return other.x == x;} } void main() { int[S] aa; aa[S(1, 2)] = 5; aa[S(1, 3)] = 6; writeln(aa); } Output: [S(1, 2):5, S(1, 3):6] Now, clearly this is not correct, and should be flagged by the compiler, or fixed in the runtime. I suggest this path: 1. Switch AA to using the 'equals' function 2. Do not allow keys that provide opCmp function but not opEquals (these will not work correctly) This will provide a sane implementation and not break existing code when the default opEquals and opCmp are used (both will act the same as far as AAs are concerned). -Steve
Feb 25 2014
parent reply Jacob Carlborg <doob me.com> writes:
On 2014-02-25 20:49, Steven Schveighoffer wrote:

 I just wrote this and compiled on 2.064:

 import std.stdio;

 struct S
 {
      int x;
      int y;
      bool opEquals(ref const(S) other) const { return other.x == x;}
 }

 void main()
 {
      int[S] aa;
      aa[S(1, 2)] = 5;
      aa[S(1, 3)] = 6;
      writeln(aa);
 }

 Output:

 [S(1, 2):5, S(1, 3):6]

 Now, clearly this is not correct, and should be flagged by the compiler,
 or fixed in the runtime.

 I suggest this path:

 1. Switch AA to using the 'equals' function
 2. Do not allow keys that provide opCmp function but not opEquals (these
 will not work correctly)

 This will provide a sane implementation and not break existing code when
 the default opEquals and opCmp are used (both will act the same as far
 as AAs are concerned).
The thing is that the compiler complains about a deceleration looking like this: struct TagIndex { uint tag, index; } Neither opEquals or opCmp is overloaded. A simple test case will also show that the compiler doesn't not complain about a missing opCmp. I have not been able to create a reduced test case for this. -- /Jacob Carlborg
Feb 25 2014
parent reply "Steven Schveighoffer" <schveiguy yahoo.com> writes:
On Tue, 25 Feb 2014 15:12:41 -0500, Jacob Carlborg <doob me.com> wrote:

 The thing is that the compiler complains about a deceleration looking  
 like this:

 struct TagIndex
 {
      uint tag, index;
 }
If the compiler generates opEquals and opCmp, then it's guaranteed opEquals(x, y) is equivalent to opCmp(x, y) == 0. The compiler should NOT complain about this, which I should have more clearly stated (I thought I had).
 Neither opEquals or opCmp is overloaded. A simple test case will also  
 show that the compiler doesn't not complain about a missing opCmp. I  
 have not been able to create a reduced test case for this.
I realized, after trying to get opCmp to work, I was missing a piece -- toHash! I couldn't get the thing to only store one key! So I have to update my requirements. Here are the two cases where a struct T should be usable as an AA key: 1. Neither opCmp nor opEquals are defined (and defaults are generated). 2. Both opEquals and toHash are defined. Any other key types should be disallowed. -Steve
Feb 25 2014
parent Jacob Carlborg <doob me.com> writes:
On 2014-02-25 22:51, Steven Schveighoffer wrote:

 If the compiler generates opEquals and opCmp, then it's guaranteed
 opEquals(x, y) is equivalent to opCmp(x, y) == 0.

 The compiler should NOT complain about this, which I should have more
 clearly stated (I thought I had).
Filed as [1]. Unfortunately I wasn't able to find a reduced test case. [1] https://d.puremagic.com/issues/show_bug.cgi?id=12267 -- /Jacob Carlborg
Feb 26 2014
prev sibling next sibling parent Jacob Carlborg <doob me.com> writes:
On 2014-02-24 21:29, Walter Bright wrote:
 Looks like we need to do something about this:

 http://www.reddit.com/r/programming/comments/1ytfc5/d_2065_released_with_396_fixes_and_improvements/cfnmkih


 At a minimum, add it to the changelog. Or possibly remove that change.
I've been compiling Tango with the latest version for a couple of releases now. I found some issues for this release. Some were fixed. Some where code that should not have compiled previously. Then I hit the issue with opCmp and I failed to find a reduced test case. Why should I need opCmp in a struct containing only two ints? -- /Jacob Carlborg
Feb 25 2014
prev sibling next sibling parent reply Jacob Carlborg <doob me.com> writes:
On 2014-02-24 21:29, Walter Bright wrote:
 Looks like we need to do something about this:

 http://www.reddit.com/r/programming/comments/1ytfc5/d_2065_released_with_396_fixes_and_improvements/cfnmkih


 At a minimum, add it to the changelog. Or possibly remove that change.
Answering some of your comments here: Q: If the project fails to compile or run, who is responsible for debugging it A: Preferably we have some way to run a bunch of projects as part of the test suite. Developers sign up their projects if they want to participate. If a build fails the developer gets a notification. The developer is responsible for debugging. If a project has successfully passed the 10 latest releases but the 11th fails I think the DMD/Phobos developers could have a quick look to see if it's something obvious. Q: Individual projects tend to stick with particular subsets of the language. They may be large code bases, but likely exercise relatively small parts of the language, and so their successful compilation is not very indicative of much. A: That's not entirely true. I can tell you that DMD has broken DWT, one way or another, for, at least, the 10 latest releases. -- /Jacob Carlborg
Feb 25 2014
parent Iain Buclaw <ibuclaw gdcproject.org> writes:
On 25 February 2014 17:30, Jacob Carlborg <doob me.com> wrote:
 On 2014-02-24 21:29, Walter Bright wrote:
 Looks like we need to do something about this:


 http://www.reddit.com/r/programming/comments/1ytfc5/d_2065_released_with_396_fixes_and_improvements/cfnmkih


 At a minimum, add it to the changelog. Or possibly remove that change.
Answering some of your comments here: Q: If the project fails to compile or run, who is responsible for debugging it A: Preferably we have some way to run a bunch of projects as part of the test suite. Developers sign up their projects if they want to participate. If a build fails the developer gets a notification. The developer is responsible for debugging. If a project has successfully passed the 10 latest releases but the 11th fails I think the DMD/Phobos developers could have a quick look to see if it's something obvious. Q: Individual projects tend to stick with particular subsets of the language. They may be large code bases, but likely exercise relatively small parts of the language, and so their successful compilation is not very indicative of much. A: That's not entirely true. I can tell you that DMD has broken DWT, one way or another, for, at least, the 10 latest releases.
+1 I've have old projects break for silly reasons. A forward reference regression here, an ICE suddenly appeared there. These things happen and never get caught during the beta phase because. 1) I'm not actively developing the project. 2) I have a compiled binary I use sometimes day in day out, and have no reason to recompile it. :)
Feb 25 2014
prev sibling parent Walter Bright <newshound2 digitalmars.com> writes:
On 2/24/2014 12:29 PM, Walter Bright wrote:
 Looks like we need to do something about this:

 http://www.reddit.com/r/programming/comments/1ytfc5/d_2065_released_with_396_fixes_and_improvements/cfnmkih


 At a minimum, add it to the changelog. Or possibly remove that change.
https://d.puremagic.com/issues/show_bug.cgi?id=12255
Feb 25 2014
prev sibling next sibling parent Rory McGuire <rjmcguire gmail.com> writes:
BTW it seems the copyright notice is outdated:

DMD64 D Compiler v2.065
Copyright (c) *1999-2013* by Digital Mars written by Walter Bright
Documentation: http://dlang.org/



On Mon, Feb 24, 2014 at 10:45 AM, Andrew Edwards <ridimz yahoo.com> wrote:

 The final release of DMD 2.065 is now available. [1] contains complete
 descriptions of all changes, enhancements and fixes for this release.

 Available binaries can be accessed at [2]. Since the website will lag
 slightly behind, links are provided below for convenience.

 All Systems:
         http://ftp.digitalmars.com/dmd.2.065.0.zip

 FreeBSD:
         http://ftp.digitalmars.com/dmd.2.065.0.freebsd-64.zip
         http://ftp.digitalmars.com/dmd.2.065.0.freebsd-32.zip

 Linux:
         http://ftp.digitalmars.com/dmd_2.065.0-0_i386.deb
         http://ftp.digitalmars.com/dmd_2.065.0-0_amd64.deb
         http://ftp.digitalmars.com/dmd-2.065.0-0.fedora.i386.rpm
         http://ftp.digitalmars.com/dmd-2.065.0-0.fedora.x86_64.rpm
         http://ftp.digitalmars.com/dmd-2.065.0-0.openSUSE.i386.rpm
         http://ftp.digitalmars.com/dmd-2.065.0-0.openSUSE.x86_64.rpm
         http://ftp.digitalmars.com/dmd.2.065.0.linux.zip

 MAC OS X:
         http://ftp.digitalmars.com/dmd.2.065.0.dmg
         http://ftp.digitalmars.com/dmd.2.065.0.osx.zip

 Windows:
         http://ftp.digitalmars.com/dmd-2.065.0.exe
         http://ftp.digitalmars.com/dmd.2.065.0.windows.zip

 [1] http://dlang.org/chagelog.html
 [2] http://dlang.org/download.html

 Regards,
 Andrew
 --
 --------------------
 http://www.akeron.co
 auto getAddress() {
     string location = " ", period = ".";
     return ("info" ~ location ~ "afidem" ~ period ~ "org");
 }
Feb 24 2014
prev sibling next sibling parent "Jonathan Dunlap" <jdunlap outlook.com> writes:
Great work! It warms my heart to see D improving at a steady 
rate. I'm starting to use it on my next major project as it also 
seems the IDE support (Mono-D) has improved too.
Feb 24 2014
prev sibling next sibling parent Walter Bright <newshound2 digitalmars.com> writes:
On 2/24/2014 12:45 AM, Andrew Edwards wrote:
 The final release of DMD 2.065 is now available. [1] contains complete
 descriptions of all changes, enhancements and fixes for this release.
Thank you, everyone, for this release! And a special thanks to Andrew who stepped up to organize and manage the release process.
Feb 24 2014
prev sibling next sibling parent "Joakim" <joakim airpost.net> writes:
On Monday, 24 February 2014 at 08:45:31 UTC, Andrew Edwards wrote:
 The final release of DMD 2.065 is now available. [1] contains 
 complete descriptions of all changes, enhancements and fixes 
 for this release.
Nice job wrangling the new release schedule and shepherding your first release out the door, hopefully the first of many to come. Hope it's not too much more work than you thought it'd be when I recommended that you talk to the core devs about taking on the position. Also, kudos to all the contributors, nice to see an amd64 build for FreeBSD finally.
Feb 25 2014
prev sibling next sibling parent Dmitry Olshansky <dmitry.olsh gmail.com> writes:
24-Feb-2014 12:45, Andrew Edwards пишет:
 The final release of DMD 2.065 is now available. [1] contains complete
 descriptions of all changes, enhancements and fixes for this release.

 Available binaries can be accessed at [2]. Since the website will lag
 slightly behind, links are provided below for convenience.
Awesome. Thanks to everybody behind the release engineering. I don't know how good or painful it gets for these involved but from the outside (as a core developer) I see remarkable progress in handling the process. -- Dmitry Olshansky
Feb 25 2014
prev sibling parent reply =?UTF-8?B?IlRow6lv?= Bueno" <munrek gmx.com> writes:
On Monday, 24 February 2014 at 08:45:31 UTC, Andrew Edwards wrote:
 The final release of DMD 2.065 is now available. [1] contains 
 complete descriptions of all changes, enhancements and fixes 
 for this release.
I am having an issue with the windows installer : http://puu.sh/7NdXY.png The URL he is trying to use to download dmd.2.065.zip is broken : http://downloads.dlang.org/releases/2013/dmd.2.065.0.zip instead of : http://downloads.dlang.org/releases/2014/dmd.2.065.0.zip I have downloaded it from the dlang.org download page. I can't believe this was not noticed before, did the installer has been rebuilt recently ? This is very odd as the "2014" string is correctly hardcoded in the sourcecode : https://github.com/D-Programming-Language/installer/blob/master/windows/dinstaller.nsi#L32 Is it related to my version of Windows ( 8 64bits ) ?
Mar 28 2014
parent reply =?UTF-8?B?IlRow6lv?= Bueno" <munrek gmx.com> writes:
On Friday, 28 March 2014 at 22:50:32 UTC, Théo Bueno wrote:
 I am having an issue with the windows installer :
Ok, so after investigations I partially fixed my problem : - I have no idea why the installer tried to download with the wrong URL, this should not happen, and on my own compiled version of the installer this did not happen. - The plugin used by NSIS to download files, inetc, depends on WinetAPI, which means that if your Internet Explorer installation is not working ( that was my case ), the installer can't work. - The installer code is very old, and we should think about updating it ( replace the obsolete "nsisunz" plugin by "ZipDLL", avoid "inetc" problems using builtin "NSISdl" ... )
Mar 29 2014
parent reply "Brad Anderson" <eco gnuk.net> writes:
On Saturday, 29 March 2014 at 13:25:19 UTC, Théo Bueno wrote:
 On Friday, 28 March 2014 at 22:50:32 UTC, Théo Bueno wrote:
 I am having an issue with the windows installer :
Ok, so after investigations I partially fixed my problem : - I have no idea why the installer tried to download with the wrong URL, this should not happen, and on my own compiled version of the installer this did not happen. - The plugin used by NSIS to download files, inetc, depends on WinetAPI, which means that if your Internet Explorer installation is not working ( that was my case ), the installer can't work. - The installer code is very old, and we should think about updating it ( replace the obsolete "nsisunz" plugin by "ZipDLL", avoid "inetc" problems using builtin "NSISdl" ... )
The current plan (by me at least) is to just do away with the downloading entirely and just embedding the files in the installer.
Apr 01 2014
parent =?UTF-8?B?IlRow6lv?= Bueno" <munrek gmx.com> writes:
On Tuesday, 1 April 2014 at 19:03:10 UTC, Brad Anderson wrote:
 On Saturday, 29 March 2014 at 13:25:19 UTC, Théo Bueno wrote:
 On Friday, 28 March 2014 at 22:50:32 UTC, Théo Bueno wrote:
 I am having an issue with the windows installer :
Ok, so after investigations I partially fixed my problem : - I have no idea why the installer tried to download with the wrong URL, this should not happen, and on my own compiled version of the installer this did not happen. - The plugin used by NSIS to download files, inetc, depends on WinetAPI, which means that if your Internet Explorer installation is not working ( that was my case ), the installer can't work. - The installer code is very old, and we should think about updating it ( replace the obsolete "nsisunz" plugin by "ZipDLL", avoid "inetc" problems using builtin "NSISdl" ... )
The current plan (by me at least) is to just do away with the downloading entirely and just embedding the files in the installer.
Would be the best indeed. An online installer is not useful in our case as all the installers and packages are automagically built.
Apr 02 2014