www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Release D 2.090.0

reply Martin Nowak <code+news.digitalmars dawg.eu> writes:
Glad to announce D 2.090.0, ♥ to the 48 contributors.

This release comes with the ability to convert lazy parameters to
delegates, new intrinsics to force rounding to specific floating point
precision, unittest builds that no longer execute main by default, a new
GC.inFinalizer API, and various other changes.

http://dlang.org/download.html
http://dlang.org/changelog/2.090.0.html

-Martin
Jan 07
next sibling parent reply JN <666total wp.pl> writes:
On Tuesday, 7 January 2020 at 10:30:09 UTC, Martin Nowak wrote:
 Glad to announce D 2.090.0, ♥ to the 48 contributors.

 This release comes with the ability to convert lazy parameters 
 to delegates, new intrinsics to force rounding to specific 
 floating point precision, unittest builds that no longer 
 execute main by default, a new GC.inFinalizer API, and various 
 other changes.

 http://dlang.org/download.html 
 http://dlang.org/changelog/2.090.0.html

 -Martin
Loving the JSON getter :)
Jan 07
parent Andrea Fontana <nospam example.com> writes:
On Tuesday, 7 January 2020 at 11:12:09 UTC, JN wrote:
 Loving the JSON getter :)
<adv> Did you give jsonwrap[1] a try? </adv> [1] https://code.dlang.org/packages/jsonwrap
Jan 07
prev sibling next sibling parent reply Simen =?UTF-8?B?S2rDpnLDpXM=?= <simen.kjaras gmail.com> writes:
On Tuesday, 7 January 2020 at 10:30:09 UTC, Martin Nowak wrote:
 Glad to announce D 2.090.0, ♥ to the 48 contributors.

 This release comes with the ability to convert lazy parameters 
 to delegates, new intrinsics to force rounding to specific 
 floating point precision, unittest builds that no longer 
 execute main by default, a new GC.inFinalizer API, and various 
 other changes.

 http://dlang.org/download.html 
 http://dlang.org/changelog/2.090.0.html

 -Martin
Something seems to be wrong with the 2.090.0 Windows installer. After successfully installing, it proceeds to delete every file it has just added. Looking closely at how it happens, it seems that it might actually be caused by the uninstaller deleting itself and the directory it's in. If I wait long after the previous version has been uninstalled before clicking 'next', it doesn't happen. So, how to reproduce: 1) have a previous DMD version installed 2) start the 2.090.0 installer 3) answer yes to uninstalling the previous version 4) quickly finish installing 2.090.0 If you do this with the install folder open in an explorer window, you should see the files disappearing during the uninstall of the previous version, until the only item in the D folder is uninstall.exe. As the new install proceeds more files and folders will be added, and finally they will all be deleted again, sometimes leaving an empty folders, other times a partial installation (I've only once managed to get a partial installation). -- Simen
Jan 08
parent suncarpet <suncarpet firemail.cc> writes:
On Wednesday, 8 January 2020 at 12:13:50 UTC, Simen Kjærås wrote:
 Something seems to be wrong with the 2.090.0 Windows installer. 
 After successfully installing, it proceeds to delete every file 
 it has just added.

 Looking closely at how it happens, it seems that it might 
 actually be caused by the uninstaller deleting itself and the 
 directory it's in. If I wait long after the previous version 
 has been uninstalled before clicking 'next', it doesn't happen.

 So, how to reproduce:

 1) have a previous DMD version installed
 2) start the 2.090.0 installer
 3) answer yes to uninstalling the previous version
 4) quickly finish installing 2.090.0

 If you do this with the install folder open in an explorer 
 window, you should see the files disappearing during the 
 uninstall of the previous version, until the only item in the D 
 folder is uninstall.exe. As the new install proceeds more files 
 and folders will be added, and finally they will all be deleted 
 again, sometimes leaving an empty folders, other times a 
 partial installation (I've only once managed to get a partial 
 installation).

 --
   Simen
Through three iterations, I couldn't reproduce this problem by following the provided steps. I used checksums of a clean 2.090.0 installation to ensure there was no partial installation after each upgrade. ╮( ̄ω ̄;)╭
Jan 08
prev sibling next sibling parent reply Meta <jared771 gmail.com> writes:
On Tuesday, 7 January 2020 at 10:30:09 UTC, Martin Nowak wrote:
 Glad to announce D 2.090.0, ♥ to the 48 contributors.

 This release comes with the ability to convert lazy parameters 
 to delegates, new intrinsics to force rounding to specific 
 floating point precision, unittest builds that no longer 
 execute main by default, a new GC.inFinalizer API, and various 
 other changes.

 http://dlang.org/download.html 
 http://dlang.org/changelog/2.090.0.html

 -Martin
Deprecated module std.experimental.all was removed All symbols contained in Phobos can now be used with import std Maybe I'm wrong, but this seems like a bad idea to me (unless we're getting rid of std.experimental).
Jan 08
parent reply "H. S. Teoh" <hsteoh quickfur.ath.cx> writes:
On Wed, Jan 08, 2020 at 09:43:05PM +0000, Meta via Digitalmars-d-announce wrote:
[...]
 Deprecated module std.experimental.all was removed
 All symbols contained in Phobos can now be used with import std
 
 Maybe I'm wrong, but this seems like a bad idea to me (unless we're
 getting rid of std.experimental).
I think you misunderstood what happened here. Originally std.experimental.all *was* the same thing as today's std/package.d; the only reason it was put in std.experimental was because it was still an experiment to see if importing all of Phobos is actually feasible in practice. Since it apparently worked quite well, it was moved from std/experimental/all.d to std/package.d. Ergo, import std.experimental.all != import std.experimental.*; rather, import std.experimental.all == import std.* in the past, and now we've just made it official by allowing you to write: import std; T -- May you live all the days of your life. -- Jonathan Swift
Jan 08
parent Meta <jared771 gmail.com> writes:
On Wednesday, 8 January 2020 at 21:58:29 UTC, H. S. Teoh wrote:
 On Wed, Jan 08, 2020 at 09:43:05PM +0000, Meta via 
 Digitalmars-d-announce wrote: [...]
 Deprecated module std.experimental.all was removed
 All symbols contained in Phobos can now be used with import std
 
 Maybe I'm wrong, but this seems like a bad idea to me (unless 
 we're
 getting rid of std.experimental).
I think you misunderstood what happened here. Originally std.experimental.all *was* the same thing as today's std/package.d; the only reason it was put in std.experimental was because it was still an experiment to see if importing all of Phobos is actually feasible in practice. Since it apparently worked quite well, it was moved from std/experimental/all.d to std/package.d. Ergo, import std.experimental.all != import std.experimental.*; rather, import std.experimental.all == import std.* in the past, and now we've just made it official by allowing you to write: import std; T
Ah, I misunderstood. Thanks.
Jan 08
prev sibling next sibling parent uranuz <neuranuz gmail.com> writes:
On Tuesday, 7 January 2020 at 10:30:09 UTC, Martin Nowak wrote:
 Glad to announce D 2.090.0, ♥ to the 48 contributors.

 This release comes with the ability to convert lazy parameters 
 to delegates, new intrinsics to force rounding to specific 
 floating point precision, unittest builds that no longer 
 execute main by default, a new GC.inFinalizer API, and various 
 other changes.

 http://dlang.org/download.html 
 http://dlang.org/changelog/2.090.0.html

 -Martin
Now multiple deprecation warnings (about deprecated enum members) caused by passing std.json: JSONType value to `format` are fixed. It looks like that. Thanks for this very much ;-)
Jan 14
prev sibling parent reply uranuz <neuranuz gmail.com> writes:
On Tuesday, 7 January 2020 at 10:30:09 UTC, Martin Nowak wrote:
 Glad to announce D 2.090.0, ♥ to the 48 contributors.

 This release comes with the ability to convert lazy parameters 
 to delegates, new intrinsics to force rounding to specific 
 floating point precision, unittest builds that no longer 
 execute main by default, a new GC.inFinalizer API, and various 
 other changes.

 http://dlang.org/download.html 
 http://dlang.org/changelog/2.090.0.html

 -Martin
But I got another problemme: Memory allocation failed In module src/core/exception.d:647. Traceback: I have installed 2.089 back to check. And in the previous version there is no such error.
Jan 14
parent uranuz <neuranuz gmail.com> writes:
 I have installed 2.089 back to check. And in the previous 
 version there is no such error.
I have tried to debug. And looks like this error occurred during throwing exception inside std.exception: enforce.
Jan 14