Different behaviour between gcd and dmd

Juanjo Alvarez via D.gnu d.gnu at puremagic.com
Tue Sep 2 13:52:52 PDT 2014


Sorry, forgot to post versions (@excuse: I just returned from a 
dinner and I'm a little drunk):

DMD: 2.0.65 and 2.0.66
GCD: (package downloaded from the site, Linux 64bits native):

Using built-in specs.
COLLECT_GCC=/home/juanjux/descargas/x86_64-gdcproject-linux-gnu/bin/gdc
COLLECT_LTO_WRAPPER=/home/juanjux/descargas/x86_64-gdcproject-linux-gnu/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.9.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: 
/home/build/tmp/native_build/.build/src/gcc-4.9.0/configure 
--build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu 
--target=x86_64-unknown-linux-gnu 
--prefix=/home/build/tmp/install/x86_64-gdcproject-linux-gnu 
--enable-languages=c,c++,d --with-pkgversion='crosstool-NG 
hg+unknown-20140610.075849 - 20140615-2.065-a8ad6a6678' 
--with-bugurl=http://gdcproject.org/bugzilla/ 
--disable-sjlj-exceptions --enable-__cxa_atexit 
--disable-libmudflap --disable-libgomp --disable-libssp 
--disable-libquadmath --disable-libquadmath-support 
--with-gmp=/home/build/tmp/native_build/.build/x86_64-gdcproject-linux-gnu/buildtools 
--with-mpfr=/home/build/tmp/native_build/.build/x86_64-gdcproject-linux-gnu/buildtools 
--with-mpc=/home/build/tmp/native_build/.build/x86_64-gdcproject-linux-gnu/buildtools 
--with-isl=/home/build/tmp/native_build/.build/x86_64-gdcproject-linux-gnu/buildtools 
--with-cloog=/home/build/tmp/native_build/.build/x86_64-gdcproject-linux-gnu/buildtools 
--with-libelf=/home/build/tmp/native_build/.build/x86_64-gdcproject-linux-gnu/buildtools 
--enable-threads=posix --enable-target-optspace --disable-nls 
--disable-multilib --enable-c99 --enable-long-long
Thread model: posix
gcc version 4.9.0 (crosstool-NG hg+unknown-20140610.075849 - 
20140615-2.065-a8ad6a6678)


On Tuesday, 2 September 2014 at 20:49:26 UTC, Juanjo Alvarez 
wrote:
> test:
>
> void main()
> {
>     import std.array;
>     const lines = ["abc", "def"];
>     auto res = std.array.join(lines, "\n");
> }
>
> DMD: compiles and work
> GCD: compile error:
>
> test.d:6: error: template std.array.join cannot deduce function 
> from argument types !()(const(immutable(char)[][]), string), 
> candidates are:
> /home/juanjux/descargas/x86_64-gdcproject-linux-gnu/include/d/4.9.0/std/array.d:1526: 
> note: std.array.join(RoR, R)(RoR ror, R sep) if 
> (isInputRange!RoR && isInputRange!(ElementType!RoR) && 
> isInputRange!R && is(Unqual!(ElementType!(ElementType!RoR)) == 
> Unqual!(ElementType!R)))
> /home/juanjux/descargas/x86_64-gdcproject-linux-gnu/include/d/4.9.0/std/array.d:1573: 
> note: std.array.join(RoR)(RoR ror) if (isInputRange!RoR && 
> isInputRange!(ElementType!RoR))



More information about the D.gnu mailing list