[Issue 9891] Ability to modify immutable using default value of ref/out parameter

2015-09-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=9891

Kenji Hara  changed:

   What|Removed |Added

   Keywords||pull

--- Comment #2 from Kenji Hara  ---
https://github.com/D-Programming-Language/dmd/pull/5056

--


[Issue 15021] [REG2.068.1] linker error with speculative instantiation and -inline

2015-09-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15021

Kenji Hara  changed:

   What|Removed |Added

   Keywords||link-failure, pull
Summary|[Reg 2.068.1] linker error  |[REG2.068.1] linker error
   |with speculative|with speculative
   |instantiation and -inline   |instantiation and -inline

--- Comment #2 from Kenji Hara  ---
https://github.com/D-Programming-Language/dmd/pull/5055

--


[Issue 15026] cannot array assign to a slice return value

2015-09-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15026

--- Comment #1 from Martin Nowak  ---
Workaround is to slice the return value, i.e. `bar()[]` and `foo[][]`.

--


[Issue 15026] New: cannot array assign to a slice return value

2015-09-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15026

  Issue ID: 15026
   Summary: cannot array assign to a slice return value
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: c...@dawg.eu

cat > bug.d << CODE
int[] bar()
{
return null;
}

void test()
{
bar() = 2;
}
CODE

Error: bar() is not an lvalue


Even more annoying with opSlice.

cat > bug.d << CODE
struct Foo
{
int[] opSlice()
{
return null;
}
}

void test()
{
Foo foo;
foo[] = 2;
}
CODE

Error: foo[] is not an lvalue


Seems like the lvalue check should be done after array assignments are lowered.

--


[Issue 15018] Win64: ICE when assigning struct of size 4 to slice

2015-09-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15018

--- Comment #2 from github-bugzi...@puremagic.com ---
Commit pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/7a8fc052b6a6ab0a9296e2319f1e3825e66a88c0
Merge pull request #5054 from rainers/issue_15018

fix Issue 15018 - Win64: ICE when assigning struct of size 4 to slice

--


[Issue 15018] Win64: ICE when assigning struct of size 4 to slice

2015-09-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15018

github-bugzi...@puremagic.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--


[Issue 15025] New: duplicate array initializers are only checked in todt glue code

2015-09-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15025

  Issue ID: 15025
   Summary: duplicate array initializers are only checked in todt
glue code
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: normal
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: c...@dawg.eu

cat > bug.d << CODE
void main()
{
import std.stdio;
int[] ary = [0: 1, 2, 1: 3]; // silently overwrites 2
writeln(ary);
}
CODE

dmd -run bug

[1, 3]


cat > bug.d << CODE
int[] ary = [0: 1, 2, 1: 3]; // fails during data emission in glue layer
void main()
{
import std.stdio;
writeln(ary);
}
CODE

dmd -run bug

bug.d(1): Error: duplicate initializations for index


Both programs should have the same result and to avoid silently overwriting an
already initialized element, both programs should error.

--


[Issue 14926] Programs compiled using dmd 2.068 are generating dummy profilegc.log files

2015-09-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14926

--- Comment #8 from github-bugzi...@puremagic.com ---
Commit pushed to master at https://github.com/D-Programming-Language/druntime

https://github.com/D-Programming-Language/druntime/commit/281bf608c07b0acdfc5ff97e1699057896082155
Merge pull request #1364 from WalterBright/fix14926

--


[Issue 15024] New: Wrong keyword color for Visual Studio Dark theme

2015-09-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15024

  Issue ID: 15024
   Summary: Wrong keyword color for Visual Studio Dark theme
   Product: D
   Version: D2
  Hardware: x86_64
OS: Windows
Status: NEW
  Severity: regression
  Priority: P1
 Component: visuald
  Assignee: nob...@puremagic.com
  Reporter: den...@gmail.com

Created attachment 1548
  --> https://issues.dlang.org/attachment.cgi?id=1548&action=edit
screenshot

Some types are too dark (VS2015, Visual D 0.3.42)
regression after https://issues.dlang.org/show_bug.cgi?id=11786 perhaps?

--


[Issue 15023] New: debug info for extern(C++) classes don't work when debugging C++ code

2015-09-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15023

  Issue ID: 15023
   Summary: debug info for extern(C++) classes don't work when
debugging C++ code
   Product: D
   Version: D2
  Hardware: All
OS: Linux
Status: NEW
  Severity: major
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: c...@dawg.eu

Haven't investigated this further but when debugging C++ code in ddmd, the
debugger doesn't know anything about extern(C++) classes.
Not to mention that the debug info for classes has lots of other issues (e.g.
no baseclass fields).

--


[Issue 15022] New: use __TEXT,__cstring to deduplicate strings during linking

2015-09-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15022

  Issue ID: 15022
   Summary: use __TEXT,__cstring to deduplicate strings during
linking
   Product: D
   Version: D2
  Hardware: All
OS: Mac OS X
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: c...@dawg.eu

The linker will deduplicate all strings in the __TEXT,__cstring section.
https://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/MachORuntime/#//apple_ref/doc/uid/TP4895-CH248-CJBIIIJH

--


[Issue 12090] Make std.concurrency compatible with fibers as threads

2015-09-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=12090

Mathias LANG  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 CC||pro.mathias.l...@gmail.com
 Resolution|--- |FIXED

--- Comment #10 from Mathias LANG  ---
This was fixed in 2.067 but since the title of the P.R. didn't include "Fix",
bugzilla didn't pick it up.
Note: It's not showing up in the changelog as a result.

--


[Issue 15021] [Reg 2.068.1] linker error with speculative instantiation and -inline

2015-09-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15021

--- Comment #1 from Martin Nowak  ---
Maybe we should do a 2.068.2 hotfix release for this?

--


[Issue 15021] New: [Reg 2.068.1] linker error with speculative instantiation and -inline

2015-09-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15021

  Issue ID: 15021
   Summary: [Reg 2.068.1] linker error with speculative
instantiation and -inline
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: regression
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: c...@dawg.eu

cat > bug.d << CODE
import std.conv;

class AliasDeclaration
{
}

void aliasDeclaration(AliasDeclaration ad)
{
// This is extracted from VariantN
AliasDeclaration* zis;
static if (is(typeof(to!string(*zis
to!string(*zis);
}

void main()
{
}
CODE

dmd -inline bug

bug.o:bug.d:function _D3bug16aliasDeclarationFC3bug16AliasDeclarationZv: error:
undefined reference to
'_D3std6format54__T22enforceValidFormatSpecTC3bug16AliasDeclarationTaZ22enforceValidFormatSpecFNaNfKS3std6format18__T10FormatSpecTaZ10FormatSpecZv'
bug.o:bug.d:function
_D3std4conv11__T2toTAyaZ31__T2toTC3bug16AliasDeclarationZ2toFC3bug16AliasDeclarationZAya:
error: undefined reference to
'_D3std6format54__T22enforceValidFormatSpecTC3bug16AliasDeclarationTaZ22enforceValidFormatSpecFNaNfKS3std6format18__T10FormatSpecTaZ10FormatSpecZv


This is most likely caused by
https://github.com/D-Programming-Language/dmd/pull/4944 and broke any code
using classes in Variant and specifically dfmt.

--


[Issue 14980] [REG2.068] getAddressInfo(null) broken

2015-09-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14980

--- Comment #6 from github-bugzi...@puremagic.com ---
Commits pushed to master at https://github.com/D-Programming-Language/phobos

https://github.com/D-Programming-Language/phobos/commit/156bf68ef7008343755ab450facdd0e5604f6fac
fix Issue 14980 - getAddressInfo(null) broken

https://github.com/D-Programming-Language/phobos/commit/e885e163f0acc034f98f53ca59a809a82ade064f
std.socket: Add test for issue 14980

https://github.com/D-Programming-Language/phobos/commit/e06c7a9e607bc7ca37958459c079e81c35893250
Merge pull request #3612 from 9rnsr/fix14980

https://github.com/D-Programming-Language/phobos/commit/564389e89b6398c99c206381cdfc8599e08c63cf
Merge pull request #3613 from CyberShadow/pull-20150830-042721

--


[Issue 14920] [REG2.067.0] SList.insertAfter on uninitialized list triggers assertion in _first

2015-09-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14920

--- Comment #4 from github-bugzi...@puremagic.com ---
Commits pushed to master at https://github.com/D-Programming-Language/phobos

https://github.com/D-Programming-Language/phobos/commit/0c28c7717437b10570677994112fc874e196d26a
fix issue 14920

https://github.com/D-Programming-Language/phobos/commit/aac09abf0a8f8624e81bbac4ded38b941cc768d9
Merge pull request #3557 from tosttost/issue_14920

--


[Issue 14904] [REG2.067.0] bad error message in reduce: 'Incompatible function/seed/element'

2015-09-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14904

--- Comment #4 from github-bugzi...@puremagic.com ---
Commits pushed to master at https://github.com/D-Programming-Language/phobos

https://github.com/D-Programming-Language/phobos/commit/6579c574bbcc53944a2060f3d1eadc1fa5516f51
fix Issue 14904 - bad error message in reduce: 'Incompatible
function/seed/element'

https://github.com/D-Programming-Language/phobos/commit/76a5087312382ff0b16840d4c2501dc8ba6abda0
Merge pull request #3580 from 9rnsr/fix14904

--


[Issue 14996] only(EnumMembers!T) eats all my memory when T : string

2015-09-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14996

github-bugzi...@puremagic.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--


[Issue 14996] only(EnumMembers!T) eats all my memory when T : string

2015-09-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14996

--- Comment #4 from github-bugzi...@puremagic.com ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/2070e8e1386ad03d1d77d7beff910bfca31a8aad
fix Issue 14996 - only(EnumMembers!T) eats all my memory when T : string

https://github.com/D-Programming-Language/dmd/commit/21e644ee74d83c64869c60830b96547736765c73
Merge pull request #5046 from 9rnsr/fix14996

Issue 14996 - only(EnumMembers!T) eats all my memory when T : string

--


[Issue 14472] add separate ptr data section

2015-09-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14472

--- Comment #2 from Martin Nowak  ---
Something along this line from Rainer.
https://github.com/D-Programming-Language/dmd/pull/5047#issuecomment-138125410
https://github.com/rainers/dmd/commit/e6a3d1778ad2969fc7bcb378a084b8d865b015c7

--


[Issue 6744] Missing AA symbol with enum

2015-09-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=6744

Kenji Hara  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #10 from Kenji Hara  ---
(In reply to Kenji Hara from comment #2)
> This is not only the problem of AA, it is where template instantiation is
> belongs to.
> 
>  test.d
> import traits;
> void func()(){ X!() x; auto n = x.length; }
> void main(){ func(); assert(0); }
> 
>  traits.d
> struct X(){ int length(){ return 0; } }
> enum x = X!()();
> 
>  command line
> dmd test.d
> 
>  output
> OPTLINK (R) for Win32  Release 8.00.7
> Copyright (C) Digital Mars 1989-2010  All rights reserved.
> http://www.digitalmars.com/ctg/optlink.html
> test2.obj(test2)
>  Error 42: Symbol Undefined _D6traits6__T1XZ1X6lengthMFZi
> 
> semantic() runs against the type of X!() at both line 2 in test and line 2
> of traits, but its instantiation belongs to only traits, because the
> semantic runs  first in traits.
> But the module traits never generate .obj, then the symbol ob X!().length
> will be lost.


Now, the question has been resolved.

Since 2.064, new template instantiation strategy has been introduced:

https://github.com/D-Programming-Language/dmd/pull/2550

By that, when a template X!() is instantiated in both root module (test.d) and
non-root module (traits.d), it's assumed that the instantiated code would exist
in the linked object file of the non-root module.
But the command line `dmd test.d` does not correctly compile & link the
traits.d module.
Then test.obj fail to link the instantiated X!().length() funciton.
In short, the link-failure is intentional behavior.

Close this issue as "resolved".

--


[Issue 3248] lossless floating point formatting

2015-09-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=3248

hst...@quickfur.ath.cx changed:

   What|Removed |Added

 CC|hst...@quickfur.ath.cx  |

--


[Issue 14696] destructor for temporary called before statement is complete with conditional operator

2015-09-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14696

--- Comment #11 from github-bugzi...@puremagic.com ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/3bbe72b5fdc278fe1293c20b39af4f94b10070bb
fix Issue 14696 - destructor for temporary called before statement is complete
with conditional operator

https://github.com/D-Programming-Language/dmd/commit/38d31b0364e555ce42a8f47ca656e59b1cf90aad
Merge pull request #5003 from 9rnsr/fix14696_cdmd

--


[Issue 15017] [REG2.068.1-b2] assigning a Variant to be value in a hashmap

2015-09-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15017

--- Comment #5 from github-bugzi...@puremagic.com ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/4a87ff64dfdc67419a69136ce542e88c67726701
fix Issue 15017 - assigning a Variant to be value in a hashmap

https://github.com/D-Programming-Language/dmd/commit/c9c12bf14b054a589841a2a62f083106c8647fb5
Merge pull request #5042 from 9rnsr/fix15017

--


[Issue 15002] [REG2.064] ICE with invalid static variable initializer while CTFE

2015-09-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15002

--- Comment #7 from github-bugzi...@puremagic.com ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/b5b8d55d74cef95b2e5a6cf24a93438c2ae20141
fix Issue 15002 - ICE with invalid static variable initializer while CTFE

https://github.com/D-Programming-Language/dmd/commit/a94bcb5ab7e714bd9673a4367d1bff01f4338fce
Merge pull request #5026 from 9rnsr/fix15002

--


[Issue 14948] [Reg 2.068.0] AA key requirement was broken w/o notice and w/ horrible error message

2015-09-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14948

--- Comment #8 from github-bugzi...@puremagic.com ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/5c1d3c5b63394b7d3758f86a53eace6ffb3d3165
fix Issue 14948 - AA key requirement was broken w/o notice and w/ horrible
error message

https://github.com/D-Programming-Language/dmd/commit/880f45dafe5b45951f5b30d188130b32250d6e31
Merge pull request #5001 from 9rnsr/fix14948

--


[Issue 14708] destructor for temporary not called during stack unwinding

2015-09-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14708

--- Comment #3 from github-bugzi...@puremagic.com ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/e20c63cb28decb66c792b1dfc10d79aa0aebd7cf
fix Issue 14708 - destructor for temporary not called during stack unwinding

https://github.com/D-Programming-Language/dmd/commit/38d31b0364e555ce42a8f47ca656e59b1cf90aad
Merge pull request #5003 from 9rnsr/fix14696_cdmd

--


[Issue 6004] std.range.unzip()

2015-09-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=6004

Edwin van Leeuwen  changed:

   What|Removed |Added

 CC||ed...@tkwsping.nl

--- Comment #2 from Edwin van Leeuwen  ---
(In reply to weaselcat from comment #1)
> I was looking for this in std.range and didn't find anything, came across
> this issue.
> 
> Since this is about 4 years old, was anything like this ever implemented?

I was wondering the same thing.

--


[Issue 15014] Win64: Invalid C++ mangling for multiple long arguments

2015-09-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15014

--- Comment #2 from github-bugzi...@puremagic.com ---
Commit pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/63f19847131f89a6b526b7d1008b7214b9002dac
Merge pull request #5038 from rainers/issue_15014

Fix issue 15014 - Win64: Invalid C++ mangling for multiple long arguments

--


[Issue 15020] pragma(lib) not implemented with 2.068.1

2015-09-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15020

Tomáš Chaloupka  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |INVALID

--- Comment #1 from Tomáš Chaloupka  ---
Hm, it was just that after 2.068.1 installation ower 2.068.0 it ended up with
dmd uninstalled and dub used gdc instead

--


[Issue 15020] New: pragma(lib) not implemented with 2.068.1

2015-09-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15020

  Issue ID: 15020
   Summary: pragma(lib) not implemented with 2.068.1
   Product: D
   Version: D2
  Hardware: x86_64
OS: Windows
Status: NEW
  Severity: regression
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: chalu...@gmail.com

With 2.068.1 out, I tried today to recompile some vibe server and gets this
errors:

...\dub\packages\libasync-0.7.5\source\libasync\windows.d:22:1: error:
pragma(lib) not implemented [-Werror]
 pragma(lib, "ws2_32");
 ^
...\dub\packages\libasync-0.7.5\source\libasync\windows.d:23:1: error:
pragma(lib) not implemented [-Werror]
 pragma(lib, "ole32");
 ^
cc1d.exe: all warnings being treated as errors
gdc failed with exit code 1.

In the libasync sources there are these lines:
pragma(lib, "ws2_32");
pragma(lib, "ole32");

This compiles just fine with 2.068.0

I'm on windows 8.1 x86_64

Bug?

--


[Issue 14140] Bad codegen for CTFE union initialisers for immutable structs

2015-09-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14140

Kenji Hara  changed:

   What|Removed |Added

   Keywords||pull, wrong-code

--- Comment #4 from Kenji Hara  ---
https://github.com/D-Programming-Language/dmd/pull/5050

--