Re: Release D 2.087.0

2019-07-04 Thread Yatheendra via Digitalmars-d-announce
On Thursday, 4 July 2019 at 09:13:39 UTC, Martin Tschierschke 
wrote:
On Thursday, 4 July 2019 at 08:47:03 UTC, Martin Tschierschke 
wrote:


I just looked at this again: 
http://erdani.com/d/downloads.daily.png
and it should be a great reward to see how adoption of D 
increases in the long run.


mt.


Just repeating something already noted by Andrei about that graph 
... It is only direct downloads, it doesn't count Linux 
distribution installs - atleast Gentoo has structured & fairly 
up-to-date packages, allowing to switch seamlessly between DMD, 
GDC & LDC; Debian/Ubuntu/Devuan probably have it too, Arch Linux 
too?


The influx is likely bigger than that graph suggests :-)


Re: Release Candidate [was: Re: Beta 2.087.0]

2019-07-04 Thread Jonathan M Davis via Digitalmars-d-announce
On Wednesday, July 3, 2019 1:30:37 AM MDT Andre Pany via Digitalmars-d-
announce wrote:
> Thanks, you helped me to find the issue. The productive coding
> looks like this:
>
> import std.algorithm : all;
>
> void main()
> {
>  import std.ascii : isAlpha, isDigit;
>  assert("abc123".all!(c => (c.isAlpha && c.isUpper == false)
>
> || c.isDigit));
>
> }
>
> With previous dmd version, although import isUpper was not
> defined, somehow it worked.
> This seems to be fixed now. This issue was the missing isUpper
> import statement.
> The error message is a little bit odd:
> Error: static assert:  "_lambda isn't a unary predicate function
> for range.front"

There have been bugs in the past with regards to symbols being pulled in
without the actual import being there (due to stuff that was imported using
it IIRC). I don't know what the current state of that is, but I recall there
being a deprecation message about that behavior going away. So, if that
behavior finally went away, then code could have compiled with the previous
release but not the new one.

- Jonathan M Davis





Re: Release D 2.087.0

2019-07-04 Thread Jonathan M Davis via Digitalmars-d-announce
On Thursday, July 4, 2019 6:48:15 AM MDT Robert M. Münch via Digitalmars-d-
announce wrote:
> On 2019-07-04 10:11:18 +, Mike Franklin said:
> > I don't know what digger is doing, but from the error messages, it
> > appears that the new files in `rt/array` can't be found.  I believe the
> > build is trying to use a new compiler with an older or existing
> > runtime.  You'll need both the latest compiler and the latest runtime
> > together for them to work.
> >
> > If you can identify a bug in the makefiles, or some other such problem
> > preventing the build, let me know and I'll try to fix it right away.
>
> So, the problem is, that digger somehow misses to copy over the new
> source to the install directory. It does for some parts (phobos, but
> I'm not sure if for every file necessary) but not for druntime files.
>
> I just manually copied the files now.

Yeah. I ran into the same problem with my own build tool. There wasn't
previously an rt folder in the imports. It was all hidden in the
implementation, and my build tool didn't copy it over, resulting in
confusing errors at first when druntime was recently changed to have an rt
folder in the imports. I think that for druntime, it currently works to just
copy over everything in the import folder, whereas with Phobos, you have to
copy over specific directories (std and etc IIRC). So, for Phobos, you can't
just grab everything from a single folder, and it may have been the case
with druntime at one point that you couldn't either (I'm not sure). So, it
doesn't really surprise me that digger broke. Any time that a tool is having
to duplicate any logic from the build system (even if it's just which files
to grab to install rather than for the build itself), it risks breaking any
time that the build system is altered.

- Jonathan M Davis






Re: Release D 2.087.0

2019-07-04 Thread Mike Franklin via Digitalmars-d-announce

On Thursday, 4 July 2019 at 12:48:15 UTC, Robert M. Münch wrote:

So, the problem is, that digger somehow misses to copy over the 
new source to the install directory. It does for some parts 
(phobos, but I'm not sure if for every file necessary) but not 
for druntime files.


I just manually copied the files now.


The copy should take place when building druntime from the 
makefiles.  The files to be copied are listed at 
https://github.com/dlang/druntime/blob/12bcb73da97a0c26aaf4b943eabd3c25051a89da/mak/COPY#L405-L408 and, for Windows, should be copied https://github.com/dlang/druntime/blob/12bcb73da97a0c26aaf4b943eabd3c25051a89da/mak/WINDOWS#L1187-L1197 is executed.  But, I don't know if that happens or not with digger.


Mike


Re: Release D 2.087.0

2019-07-04 Thread Robert M. Münch via Digitalmars-d-announce

On 2019-07-04 10:11:18 +, Mike Franklin said:

I don't know what digger is doing, but from the error messages, it 
appears that the new files in `rt/array` can't be found.  I believe the 
build is trying to use a new compiler with an older or existing 
runtime.  You'll need both the latest compiler and the latest runtime 
together for them to work.


If you can identify a bug in the makefiles, or some other such problem 
preventing the build, let me know and I'll try to fix it right away.


So, the problem is, that digger somehow misses to copy over the new 
source to the install directory. It does for some parts (phobos, but 
I'm not sure if for every file necessary) but not for druntime files.


I just manually copied the files now.

--
Robert M. Münch
http://www.saphirion.com
smarter | better | faster



Re: Release D 2.087.0

2019-07-04 Thread Mike Franklin via Digitalmars-d-announce

On Thursday, 4 July 2019 at 10:01:10 UTC, Robert M. Münch wrote:

On 2019-07-04 08:11:26 +, Martin Nowak said:


Glad to announce D 2.087.0, ♥ to the 63 contributors.

This release comes with types matching single template alias 
parameters,
nested template methods/local template functions, 
multi-threaded GC

marking, and a phobos compiled with -preview=DIP1000.

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

-Martin


I just updated with Digger to the newest version and get:

...d-language\test> dub test -a=x86_64 -f
Failed to invoke the compiler C:\D\dmd2\windows\bin\dmd.exe to 
determine the build platform: predefs   DigitalMars Windows 
CRuntime_Microsoft CppRuntime_Microsoft LittleEndian D_Version2 
all D_SIMD D_InlineAsm_X86_64 X86_64 Win64 D_LP64 assert 
D_ModuleInfo D_Exceptions D_TypeInfo D_HardFloat

binaryC:\D\dmd2\windows\bin\dmd.exe
version   v2.087.0

configC:\D\dmd2\windows\bin\sc.ini
DFLAGS-IC:\D\dmd2\windows\bin\..\..\src\phobos 
-IC:\D\dmd2\windows\bin\..\..\src\druntime\import -L/OPT:NOICF
parse 
dub_platform_probe_956c8798_90a5_4300_b011_2b9e6cc8ace5

importall dub_platform_probe
importobject
(C:\D\dmd2\windows\bin\..\..\src\druntime\import\object.d)
C:\D\dmd2\windows\bin\..\..\src\druntime\import\object.d(42): 
Error: module `comparison` is in file 'rt\array\comparison.d' 
which cannot be read

import path[0] = C:\D\dmd2\windows\bin\..\..\src\phobos
import path[1] = C:\D\dmd2\windows\bin\..\..\src\druntime\import

Not sure what this is telling me. Related to the release?


Yes, it's probably related to the release.  Some runtime hooks 
were taken out of object.d and moved to `rt/array` to help set 
direction for a GSoC project that is in the process converting 
many runtime hooks to templates, and to help prevent object.d 
from becoming even more unwieldy than it already is.  Move such 
refactorings are planned.


I don't know what digger is doing, but from the error messages, 
it appears that the new files in `rt/array` can't be found.  I 
believe the build is trying to use a new compiler with an older 
or existing runtime.  You'll need both the latest compiler and 
the latest runtime together for them to work.


If you can identify a bug in the makefiles, or some other such 
problem preventing the build, let me know and I'll try to fix it 
right away.


Mike


Re: Release D 2.087.0

2019-07-04 Thread Robert M. Münch via Digitalmars-d-announce

On 2019-07-04 08:11:26 +, Martin Nowak said:


Glad to announce D 2.087.0, ♥ to the 63 contributors.

This release comes with types matching single template alias parameters,
nested template methods/local template functions, multi-threaded GC
marking, and a phobos compiled with -preview=DIP1000.

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

-Martin


I just updated with Digger to the newest version and get:

...d-language\test> dub test -a=x86_64 -f
Failed to invoke the compiler C:\D\dmd2\windows\bin\dmd.exe to 
determine the build platform: predefs   DigitalMars Windows 
CRuntime_Microsoft CppRuntime_Microsoft LittleEndian D_Version2 all 
D_SIMD D_InlineAsm_X86_64 X86_64 Win64 D_LP64 assert D_ModuleInfo 
D_Exceptions D_TypeInfo D_HardFloat

binaryC:\D\dmd2\windows\bin\dmd.exe
version   v2.087.0

configC:\D\dmd2\windows\bin\sc.ini
DFLAGS-IC:\D\dmd2\windows\bin\..\..\src\phobos 
-IC:\D\dmd2\windows\bin\..\..\src\druntime\import -L/OPT:NOICF

parse dub_platform_probe_956c8798_90a5_4300_b011_2b9e6cc8ace5
importall dub_platform_probe
importobject
(C:\D\dmd2\windows\bin\..\..\src\druntime\import\object.d)
C:\D\dmd2\windows\bin\..\..\src\druntime\import\object.d(42): Error: 
module `comparison` is in file 'rt\array\comparison.d' which cannot be 
read

import path[0] = C:\D\dmd2\windows\bin\..\..\src\phobos
import path[1] = C:\D\dmd2\windows\bin\..\..\src\druntime\import

Not sure what this is telling me. Related to the release?

--
Robert M. Münch
http://www.saphirion.com
smarter | better | faster



Re: Release D 2.087.0

2019-07-04 Thread Walter Bright via Digitalmars-d-announce

Thank you, Martin!


Re: Release D 2.087.0

2019-07-04 Thread Martin Tschierschke via Digitalmars-d-announce
On Thursday, 4 July 2019 at 08:47:03 UTC, Martin Tschierschke 
wrote:

On Thursday, 4 July 2019 at 08:11:26 UTC, Martin Nowak wrote:

Glad to announce D 2.087.0, ♥ to the 63 contributors.

[...]
http://dlang.org/download.html 
http://dlang.org/changelog/2.087.0.html


-Martin

Thank you, all 63!
This continuous progress makes me expect a great future for D!


I just looked at this again: 
http://erdani.com/d/downloads.daily.png
and it should be a great reward to see how adoption of D 
increases in the long run.


mt.




Re: Release D 2.087.0

2019-07-04 Thread Martin Tschierschke via Digitalmars-d-announce

On Thursday, 4 July 2019 at 08:11:26 UTC, Martin Nowak wrote:

Glad to announce D 2.087.0, ♥ to the 63 contributors.

This release comes with types matching single template alias 
parameters, nested template methods/local template functions, 
multi-threaded GC marking, and a phobos compiled with 
-preview=DIP1000.


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


-Martin

Thank you, all 63!
This continuous progress makes me expect a great future for D!


Re: Release D 2.087.0

2019-07-04 Thread user1234 via Digitalmars-d-announce

On Thursday, 4 July 2019 at 08:11:26 UTC, Martin Nowak wrote:

Glad to announce D 2.087.0, ♥ to the 63 contributors.

This release comes with types matching single template alias 
parameters, nested template methods/local template functions, 
multi-threaded GC marking, and a phobos compiled with 
-preview=DIP1000.


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


-Martin


And this **long** awaited __traits/is extension : 
https://dlang.org/changelog/2.087.0.html#fix16002


yay


Release D 2.087.0

2019-07-04 Thread Martin Nowak via Digitalmars-d-announce
Glad to announce D 2.087.0, ♥ to the 63 contributors.

This release comes with types matching single template alias parameters,
nested template methods/local template functions, multi-threaded GC
marking, and a phobos compiled with -preview=DIP1000.

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

-Martin