[Issue 5055] hasAssignableElements etc only check forward range primitives

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=5055

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

   What|Removed |Added

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

--


[Issue 14743] ICE in TemplateInstance::needsTypeInference() with template forward reference

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14743

Kenji Hara  changed:

   What|Removed |Added

   Keywords||ice
   Hardware|x86_64  |All
Summary|dmd: template.c:6926: int   |ICE in
   |TemplateInstance::needsType |TemplateInstance::needsType
   |Inference(Scope*,   |Inference() with template
   |int)::ParamNeedsInf::fp(Dsy |forward reference
   |mbol*): Assertion   |
   |`td->semanticRun != |
   |PASSinit' failed.   |
 OS|Linux   |All
   Severity|normal  |major

--


[Issue 14753] New: pragma(inline) hides the alias "string"

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14753

  Issue ID: 14753
   Summary: pragma(inline) hides the alias "string"
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Keywords: rejects-valid
  Severity: major
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: j...@red.email.ne.jp

D2.068 is adding new pragma(inline).
But this code does not work with D2.068-b1.

pragma(inline)
void test(string) { }

Error: undefined identifier 'string'


I think this is a critical or blocker bug.

--


[Issue 14737] [REG2.058] A concatenation of array literal and static array should make dynamic array

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14737

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

https://github.com/D-Programming-Language/dmd/commit/d68e8d61ccabd1ae7c2252b86cda56e13adef1c4
Merge pull request #4776 from 9rnsr/fix14737

[REG2.058] Issue 14737 - A concatenation of array literal and static array
should make dynamic array

--


[Issue 14754] New: [REG2.068b1] 64bit wrong code with -inline

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14754

  Issue ID: 14754
   Summary: [REG2.068b1] 64bit wrong code with -inline
   Product: D
   Version: D2
  Hardware: x86_64
OS: Windows
Status: NEW
  Keywords: wrong-code
  Severity: regression
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: j...@red.email.ne.jp

This program crashed when compiled and run with -m64 -inline.
In 2.067, it works.


---
import std.algorithm;
import std.array;

auto aafunc(string k)
{
enum aa = [ "K": "V" ];
auto p = k in aa;
return  null;
}

auto mapfun(R)(R words, string k)
{
return words.map!(s=>aafunc(k)).array;
}

void main()
{
auto r = [""].mapfun("");
}

--


[Issue 14510] Bad tail call optimization with static arrays

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14510

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

https://github.com/D-Programming-Language/dmd/commit/86757a2f4efc5562d8621207676d2a187e91b33a
Merge pull request #4778 from WalterBright/fix14510

Critical: fix Issue 14510 - Bad tail call optimization with static arrays

--


[Issue 7115] sort function is broken with large arrays

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=7115

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

   What|Removed |Added

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

--- Comment #4 from hst...@quickfur.ath.cx ---
Can no longer reproduce this bug on git HEAD. Tested on Linux/64. I'm guessing
.sort has been replaced with the Phobos sort by now (IIRC)? If so, we should
resolve this bug.

--


[Issue 5335] DDoc ignores documentation comment that begins on the same line as the open curly brace

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=5335

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

   What|Removed |Added

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

--


[Issue 14735] [REG2.068-b1] std.string.indexOf cannot deduce function for char argument

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14735

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

https://github.com/D-Programming-Language/dmd/commit/c2b84a0b24f680bfa3cd336af6c84b0ded2c4594
Merge pull request #4779 from 9rnsr/fix14735

[REG2.068-b1] Issue 14735 - std.string.indexOf cannot deduce function for char
argument

--


[Issue 4244] AA insert from fixed-sized array much slower than from equivalent struct

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=4244

--- Comment #3 from hst...@quickfur.ath.cx ---
The problem is caused by the hash computation of arrays (including static
arrays). Here's the benchmark code I used:


--
void hashTest() {
import std.conv : to;
import std.datetime : Duration, benchmark;
import std.stdio : writefln;

static struct Pair { int x, y; }

int[2] staticArray;
Pair pair;

auto result = benchmark!(() => typeid(staticArray).toHash(),
 () => typeid(pair).toHash())(30_000_000);

writefln("staticArrayHash: %s", to!Duration(result[0]));
writefln("structHash: %s", to!Duration(result[1]));
}

void main() {
hashTest();
}
--


Here are some trial runs showing the typical measurements:
--
$ ./test 
staticArrayHash: 8 secs, 947 ms, 130 μs, and 7 hnsecs
structHash: 1 sec, 196 ms, 711 μs, and 1 hnsec
$ ./test 
staticArrayHash: 9 secs, 130 ms, 423 μs, and 2 hnsecs
structHash: 1 sec, 196 ms, and 737 μs
$ ./test 
staticArrayHash: 8 secs, 922 ms, 449 μs, and 9 hnsecs
structHash: 1 sec, 260 ms, 688 μs, and 8 hnsecs
$ ./test 
staticArrayHash: 9 secs, 43 ms, 237 μs, and 6 hnsecs
structHash: 1 sec, 196 ms, and 983 μs
--

This shows that computing the hash of a static array is about 8-9 times slower
than computing the hash of a struct of equivalent size.

Looking into the druntime code, it seems that a likely cause of the performance
problem is the getArrayHash() function, which calls an inner function
hasCustomHash() that in turn calls getElement(), which uses a loop to walk up
the TypeInfo tree to ascertain whether the array elements have a custom hash
function. I copied the druntime code into my test file, and modified
hasCustomToHash() to just return false, and the benchmark shows that the array
hash function is now approximately on par with the struct hash function.

So, it looks like the culprit is the call to getElement(). I'll see if I can
cook up a PR to fix this.

--


[Issue 4244] Built-in static array hash function is 8-9 times slower than hash function of a POD struct with equivalent size

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=4244

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

   What|Removed |Added

  Component|dmd |druntime
Summary|AA insert from fixed-sized  |Built-in static array hash
   |array much slower than from |function is 8-9 times
   |equivalent struct   |slower than hash function
   ||of a POD struct with
   ||equivalent size
 OS|Windows |All

--


[Issue 14750] druntime/test/coverage was added to druntime, but not to the MANIFEST - zip file broken again

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14750

--- Comment #3 from Walter Bright  ---
(In reply to Martin Nowak from comment #2)
> (In reply to Walter Bright from comment #0)
> > When adding files to druntime, PLEASE add them to the manifest.
> 
> Please stop recommending repeated manual actions as solutions, they don't
> work.

I'm fine if someone posts a method of doing this automatically. In the absence
of such, it needs to be done manually. Otherwise, things break, as they did for
me. There's no point in having a MANIFEST file if it is allowed to get out of
sync with the files.


> Why should we distribute the additional tests?

Because running 'make -f posix.mak clean' fails without them. That's how I
discovered the problem.

--


[Issue 14752] Implicit conversion fail for array concatenation

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14752

Steven Schveighoffer  changed:

   What|Removed |Added

 CC||schvei...@yahoo.com

--- Comment #1 from Steven Schveighoffer  ---
Is this a dup of https://issues.dlang.org/show_bug.cgi?id=1654 ?

--


[Issue 14752] New: Implicit conversion fail for array concatenation

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14752

  Issue ID: 14752
   Summary: Implicit conversion fail for array concatenation
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: bugzi...@digitalmars.com

Consider:

  void main() {
char[] x;
string s = "abc" ~ x;
  }

which fails to compile with:

  Error: cannot implicitly convert expression ("abc" ~ x) of type char[] to
string

This should work, because the ~ operator produces a unique allocated string.

--


[Issue 14503] BigInt to binary/octal and lower case "%x" (hexadecimal format)

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14503

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

   What|Removed |Added

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

--


[Issue 14744] std.range DDox page corrupted

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14744

--- Comment #4 from Vladimir Panteleev  ---
Filed DDox GitHub issue:

https://github.com/rejectedsoftware/ddox/issues/89

--


[Issue 14712] GIT HEAD : std.net.curl regressions

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14712

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

https://github.com/D-Programming-Language/phobos/commit/7a20221c263810f005bedd5e4c05fca656503fa1
fix Issue 14712 - GIT HEAD : std.net.curl regressions

https://github.com/D-Programming-Language/phobos/commit/bf66cd106ecad30a5322fbfa740fad87efd4f4b6
Merge pull request #3457 from CyberShadow/pull-20150630-152826-cherrypick-3436

fix Issue 14712 - GIT HEAD : std.net.curl regressions

--


[Issue 14747] compiler insists on unnecessary return statement

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14747

Kenji Hara  changed:

   What|Removed |Added

   Keywords||pull

--- Comment #1 from Kenji Hara  ---
https://github.com/D-Programming-Language/dmd/pull/4790
https://github.com/D-Programming-Language/phobos/pull/3456

--


[Issue 14748] Removing std.stdio import causes 2x increase in "Hello, world" program binary filesize

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14748

--- Comment #6 from Vladimir Panteleev  ---
(In reply to Walter Bright from comment #1)
> On Win32, I get the same exe file size, and 'stream' symbols do not appear
> in the executable.

The test machine that detected this is running Ubuntu Server 14.04 x64.

--


[Issue 14503] BigInt to binary/octal and lower case "%x" (hexadecimal format)

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14503

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

https://github.com/D-Programming-Language/phobos/commit/47dfc369b07d62988682404edf7b4a95dec93480
Merge pull request #3240 from e10s/issue14503

Fix BigInt.toString with "%x"

--


[Issue 14747] compiler insists on unnecessary return statement

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14747

--- Comment #2 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/4ceb3ab1599025cc5b8a8659c088d17215b89091
Supplemental fix for issue 14747 - remove unreachable statements

https://github.com/D-Programming-Language/phobos/commit/181550b1eaa31a0b9722c80ddfe18c0417ac
Merge pull request #3456 from 9rnsr/fix14747

Supplemental fix for issue 14747 - remove unreachable statements

--


[Issue 4244] AA insert from fixed-sized array much slower than from equivalent struct

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=4244

--- Comment #2 from hst...@quickfur.ath.cx ---
Looking at the generated assembly code, it seems that foo1 and foo2 are
essentially identical. So it looks like the problem must come from the AA code,
probably from the different treatments given to different typeinfo's for the
two key types.

--


[Issue 4244] AA insert from fixed-sized array much slower than from equivalent struct

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=4244

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

   What|Removed |Added

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

--- Comment #1 from hst...@quickfur.ath.cx ---
Confirmed that this performance issue still happens on git HEAD
(1ceb899e9ee430bcd223ddeeb907245ea5be3d47). Tested on Linux/64bit, AMD Phenom
II X6 1055T (800 MHz).

The original code runs a little too fast on my system to have any measurable
performance numbers (S/N ratio too low to be accurate), so I bumped N to 1800,
and noted that the foo1() version takes on average about 1.4 to 1.5 seconds to
complete, whereas the foo2() version takes only about 0.8 to 0.9 seconds on
average. Both versions compiled with `dmd -O -release -inline`. (Surprisingly
enough, not specifying -inline seems to produce faster code?! It's a small
difference, though, so could just be background noise.)

Also surprisingly, gdc-5.1.1 produces much slower code than dmd in this case:
the foo1() version takes on average about 3.9 seconds, whereas the foo2()
version takes on average about 3.4 seconds. Both compiled with `gdc -O3
-finline -frelease`. This may possibly be caused by gdc using an older version
of druntime, as recently the AA code in git HEAD has had some performance
improvements.

Will take a look into the generated assembly code next.

--


[Issue 14735] [REG2.068-b1] std.string.indexOf cannot deduce function for char argument

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14735

--- Comment #13 from github-bugzi...@puremagic.com ---
Commit pushed to stable at https://github.com/D-Programming-Language/phobos

https://github.com/D-Programming-Language/phobos/commit/709fb22e8ad984d5a77181a2669afaefed5c6a1d
Merge pull request #3446 from 9rnsr/fix14735

Supplemental fix for issue 14735 - Prevent self-recursive match

--


[Issue 14553] The return types of std.array.array for narrow strings conflicts with its documentation

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14553

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

   What|Removed |Added

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

--- Comment #1 from hst...@quickfur.ath.cx ---
The question is, should we change the code to copy the qualifiers to the
returned dchar[], or should we fix the docs to match the code?

I'm not sure why it's important to keep the qualifiers if we're creating a new
array anyway. Why not keep the code as-is and ensure that it's pure, so that
the returned array can be implicitly cast to whatever qualifiers the user
wants?

--


[Issue 3043] Template symbol arg cannot be demangled

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=3043

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

   What|Removed |Added

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

--- Comment #3 from hst...@quickfur.ath.cx ---
Related issue: https://issues.dlang.org/show_bug.cgi?id=14576

--


[Issue 13936] groupBy must be redone

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13936

--- Comment #49 from hst...@quickfur.ath.cx ---
Sounds like this is done now. Should we resolve this bug?

--


[Issue 9383] Wrong context for contracts if closure [dis]appears in override function

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=9383

Kenji Hara  changed:

   What|Removed |Added

   Keywords||contracts, pull

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

--


[Issue 14751] New: std.array.array doesn't work with ranges of immutable classes

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14751

  Issue ID: 14751
   Summary: std.array.array doesn't work with ranges of immutable
classes
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: normal
  Priority: P1
 Component: phobos
  Assignee: nob...@puremagic.com
  Reporter: jappleg...@gmail.com

import std.array;
import std.range;
import std.algorithm;

class Foo {
}

void main() {
auto result = iota(3).map!(i => new immutable Foo).array();
}

/usr/include/dmd/phobos/std/conv.d(4028): Error: cannot implicitly convert
expression (arg) of type immutable(Foo) to test.Foo
/usr/include/dmd/phobos/std/conv.d(3931): Error: template instance
std.conv.emplaceImpl!(immutable(Foo)).emplaceImpl!(immutable(Foo)) error
instantiating
/usr/include/dmd/phobos/std/array.d(115):instantiated from here:
emplaceRef!(immutable(Foo), Foo, immutable(Foo))
test.d(9):instantiated from here: array!(MapResult!(__lambda1, Result))

--


[Issue 6417] Wrong context for nested functions in virtual class member function contracts

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=6417

Kenji Hara  changed:

   What|Removed |Added

   Keywords||pull
   Severity|normal  |major

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

--


[Issue 14748] Removing std.stdio import causes 2x increase in "Hello, world" program binary filesize

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14748

Walter Bright  changed:

   What|Removed |Added

 CC||bugzi...@digitalmars.com

--- Comment #1 from Walter Bright  ---
On Win32, I get the same exe file size, and 'stream' symbols do not appear in
the executable.

--


[Issue 14750] New: druntime/test/coverage was added to druntime, but not to the MANIFEST - zip file broken again

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14750

  Issue ID: 14750
   Summary: druntime/test/coverage was added to druntime, but not
to the MANIFEST - zip file broken again
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: regression
  Priority: P1
 Component: druntime
  Assignee: nob...@puremagic.com
  Reporter: bugzi...@digitalmars.com

When adding files to druntime, PLEASE add them to the manifest.

--


[Issue 7104] linker error on void main(){ typeof(new class{}) c; c = new typeof(c); }

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=7104

Kenji Hara  changed:

   What|Removed |Added

 CC||dzug...@gmail.com

--- Comment #5 from Kenji Hara  ---
*** Issue 14454 has been marked as a duplicate of this issue. ***

--


[Issue 14750] druntime/test/coverage was added to druntime, but not to the MANIFEST - zip file broken again

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14750

Martin Nowak  changed:

   What|Removed |Added

 CC||c...@dawg.eu

--- Comment #2 from Martin Nowak  ---
(In reply to Walter Bright from comment #0)
> When adding files to druntime, PLEASE add them to the manifest.

Please stop recommending repeated manual actions as solutions, they don't work.

(In reply to Walter Bright from comment #1)
> In fact, it seems none of the files in the test directory are in the
> manifest.

Why should we distribute the additional tests?

--


[Issue 4650] Static data that must be scanned by the GC should be grouped

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=4650

--- Comment #13 from Rainer Schuetze  ---
>what is the status of this with the recent pulls? Still valid, fixed?

More work needs to be done to move immutable data into the CONST segment (or
similar areas that are not scanned). It is currently limited to float values
and strings, not user defined data.

--


[Issue 14454] Lambda template param doesn't compile with -inline "*** is a nested function and cannot be accessed from ***"

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14454

Kenji Hara  changed:

   What|Removed |Added

   Keywords||rejects-valid
 Status|NEW |RESOLVED
   Hardware|x86 |All
 Resolution|--- |DUPLICATE
 OS|Windows |All
   Severity|minor   |major

--- Comment #2 from Kenji Hara  ---
(In reply to Vladimir Panteleev from comment #1)
> This program compiles fine with git master.
> 
> Fixed by: https://github.com/D-Programming-Language/dmd/pull/4453

The root compiler issue is same with 7104.

*** This issue has been marked as a duplicate of issue 7104 ***

--


[Issue 14748] Removing std.stdio import causes 2x increase in "Hello, world" program binary filesize

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14748

--- Comment #3 from Ketmar Dark  ---
hm. it seems to pull the whole Phobos in (or at least a great amount of it). i
removed "std.stream" from libphobos2.a, the file is smaller (yet still around
800 kb), and now i see other crap there, like "std.path", for example.

it seems that if this bug will be fixed, linux binaries can become lesser in
many cases.

--


[Issue 14750] druntime/test/coverage was added to druntime, but not to the MANIFEST - zip file broken again

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14750

--- Comment #1 from Walter Bright  ---
In fact, it seems none of the files in the test directory are in the manifest.

--


[Issue 14748] Removing std.stdio import causes 2x increase in "Hello, world" program binary filesize

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14748

--- Comment #2 from Walter Bright  ---
(In reply to Walter Bright from comment #1)
> On Win32, I get the same exe file size, and 'stream' symbols do not appear
> in the executable.

The file size is 200Kb.

--


[Issue 12791] .tupleof does not take base class fields into account

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=12791

--- Comment #3 from pabu...@gmail.com ---
ok, sorry, indeed __traits can do it. I know this may be out of place here but
might still be useful for people landing on this page:

---
auto b = new B; // B inherits from A
foreach(i, m; __traits(allMembers, B))
static if (__traits(compiles, to!string(__traits(getMember, b, m
writeln(m, " = ", __traits(getMember, b, m));
---

prints 'name = value' for all the fields (inherited or new, static or not,
etc.) of an instance of class B.

--


[Issue 14746] Behavior change with struct destructor and alias this

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14746

Kenji Hara  changed:

   What|Removed |Added

   Keywords||wrong-code
  Component|dmd |druntime
   Hardware|x86_64  |All
 OS|Linux   |All

--- Comment #1 from Kenji Hara  ---
Introduced in:
https://github.com/D-Programming-Language/druntime/pull/1181

--


[Issue 13433] Request: Clock.currTime option to use CLOCK_REALTIME_COARSE / CLOCK_REALTIME_FAST

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13433

Jonathan M Davis  changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution|--- |FIXED

--


[Issue 14746] [REG2.068a] Behavior change with struct destructor and alias this

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14746

Kenji Hara  changed:

   What|Removed |Added

   Keywords||pull
Summary|Behavior change with struct |[REG2.068a] Behavior change
   |destructor and alias this   |with struct destructor and
   ||alias this

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

--


[Issue 14748] Removing std.stdio import causes 2x increase in "Hello, world" program binary filesize

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14748

--- Comment #5 from Ketmar Dark  ---
oops. disregard my #4, i'm an idiot and messed link commands.

--


[Issue 14588] [REG2.067] undefined reference error while linking with -debug option to a static library.

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14588

Kenji Hara  changed:

   What|Removed |Added

   Keywords||link-failure, pull
   Hardware|x86_64  |All
 OS|Linux   |All

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

--


[Issue 14748] Removing std.stdio import causes 2x increase in "Hello, world" program binary filesize

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14748

--- Comment #4 from Ketmar Dark  ---
anyway, something is wrong with generated object file. i generated "hello.o"
for phobos without PR3443 applied and with PR3443 applied, then linked that
object files with "libphobos2.a" WITH PR3443 applied, and got two ELFs with
very different sizes (~900 kb and ~400 kb respectively).

so seems that with PR3443 DMD generates an object file which somehow pulls in
alot of unnecessary modules. very strange.

--


[Issue 14735] [REG2.068-b1] std.string.indexOf cannot deduce function for char argument

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14735

--- Comment #10 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/cd77a9cdcb8483618bde3512386e6899692c04af
Supplemental fix for issue 14735 - Prevent self-recursive match

The slice expression `s[]` will match to T[n] by using compile-time length
deduction.

https://github.com/D-Programming-Language/phobos/commit/f6ce5692ef12c136229844f21afe184dfb885f3e
Merge pull request #3446 from 9rnsr/fix14735

Supplemental fix for issue 14735 - Prevent self-recursive match

--


[Issue 14735] [REG2.068-b1] std.string.indexOf cannot deduce function for char argument

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14735

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

   What|Removed |Added

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

--


[Issue 4650] Static data that must be scanned by the GC should be grouped

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=4650

rsw0x  changed:

   What|Removed |Added

 CC||rs...@rsw0x.me

--- Comment #12 from rsw0x  ---
what is the status of this with the recent pulls? Still valid, fixed?

--


[Issue 14742] Changing function signatures breaks code

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14742

--- Comment #3 from Vladimir Panteleev  ---
(In reply to Walter Bright from comment #2)
> How were you looking for the "target path" string?

ParameterIdentifierTuple

> In any case, a rule that functions cannot become template functions would be
> extremely limiting.
> 
> One way to avoid adding optional parameter breakage is to add an overload
> instead. But I suspect that would then break introspection code that is not
> expecting an overload.

I just tried this program:

```
void f(int i) {}
void f(string s) {}

pragma(msg, ParameterTypeTuple!f);
```

It prints (int). I'm not sure if this is a behavior we would want to rely on,
though.

--


[Issue 14744] std.range DDox page corrupted

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14744

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

https://github.com/D-Programming-Language/phobos/commit/9c90fad885af9cf0cbf2d0508b3eda08b0f97953
Workaround for Issue 14744 - std.range DDox page corrupted

https://github.com/D-Programming-Language/phobos/commit/822f9e16f154a9d1453c3cada98f62ca26025059
Merge pull request #3450 from CyberShadow/pull-20150628-131049

Workaround for Issue 14744 - std.range DDox page corrupted

--


[Issue 14741] [REG2.066] problems with template overload resolution

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14741

Kenji Hara  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #2 from Kenji Hara  ---
The root issue is same with issue 14735.

*** This issue has been marked as a duplicate of issue 14735 ***

--


[Issue 11670] RTInfo is not respected for primitive types

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=11670

rsw0x  changed:

   What|Removed |Added

 CC||rs...@rsw0x.me
 Blocks||3463
   Severity|normal  |major

--- Comment #1 from rsw0x  ---
This needs implemented for precise GC implementations

--


[Issue 3463] [GC] Integrate Precise Heap Scanning Into the GC

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=3463

rsw0x  changed:

   What|Removed |Added

 Depends on||11670

--


[Issue 14742] Changing function signatures breaks code

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14742

Walter Bright  changed:

   What|Removed |Added

 CC||bugzi...@digitalmars.com

--- Comment #2 from Walter Bright  ---
How were you looking for the "target path" string?

In any case, a rule that functions cannot become template functions would be
extremely limiting.

One way to avoid adding optional parameter breakage is to add an overload
instead. But I suspect that would then break introspection code that is not
expecting an overload.

--


[Issue 14749] New: std.array not passing any typeinfo to GC

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14749

  Issue ID: 14749
   Summary: std.array not passing any typeinfo to GC
   Product: D
   Version: D2
  Hardware: x86_64
OS: All
Status: NEW
  Severity: normal
  Priority: P1
 Component: phobos
  Assignee: nob...@puremagic.com
  Reporter: rs...@rsw0x.me

stems from both ensureAddable and arrayAllocImpl not passing any typeid to the
qalloc call.

--


[Issue 14735] [REG2.068-b1] std.string.indexOf cannot deduce function for char argument

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14735

--- 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/13a16e8e0344e90c3a03b87167d9a82b3cb7e24c
fix Issue 14735 - std.string.indexOf cannot deduce function for char argument

https://github.com/D-Programming-Language/dmd/commit/fdfb5882ef701ebfda49a3cc3392b5fe4e0e95b8
Merge pull request #4779 from 9rnsr/fix14735

[REG2.068-b1] Issue 14735 - std.string.indexOf cannot deduce function for char
argument

--


[Issue 14735] [REG2.068-b1] std.string.indexOf cannot deduce function for char argument

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14735

--- Comment #12 from Kenji Hara  ---
*** Issue 14741 has been marked as a duplicate of this issue. ***

--


[Issue 13433] Request: Clock.currTime option to use CLOCK_REALTIME_COARSE / CLOCK_REALTIME_FAST

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13433

--- Comment #27 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/5f3c6f1a647c83247aea8811184d2b93f5147b46
Implement issue 13433: coarser realtime clock

This adds an option for getting the time using an alternative clock
chosen via core.time.ClockType, including access to a coarser clock as
requested by issue# 13433.

For ClockType.normal, the normal clock which has always been used is
used.

For ClockType.coarse, a faster clock is used if available even if it's
coarser so long as it still has sub-second precision, and the normal
clock is used if no such clock is available.

For ClockType.precise, a more precise clock is used if available
(currently only on FreeBSD), otherwise the normal clock is used.

For ClockType.second, a faster clock is used which only has second
precision. If no such clock is available, then the normal clock is used,
but the result is truncated to second precision.

https://github.com/D-Programming-Language/phobos/commit/14330724fd4a24bea22c807310e7b46fa9167327
Merge pull request #2584 from jmdavis/13433

Implement issue 13433 - add option for using coarser realtime clock.

--


[Issue 12791] .tupleof does not take base class fields into account

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=12791

pabu...@gmail.com changed:

   What|Removed |Added

 CC||pabu...@gmail.com

--- Comment #2 from pabu...@gmail.com ---
I have been trying to find a way to dynamically retrieve all the fields of a
derived class (and their value), including of course those of the base class. 

As you say and as described in the doc, `.tupleof` doesn't return fields from
the base class (why?)

Traits only help for static fields, and calling `myclassinstance.super.tupleof`
doesn't work, nor does `myclassinstance.BaseClassName.tupleof` (as suggested in
http://forum.dlang.org/post/mailman.69.1384804905.2552.digitalmars-d-le...@puremagic.com)

Is there any way?

--


[Issue 14732] [REG 2.068 beta] Failing unittest in std.math

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14732

Iain Buclaw  changed:

   What|Removed |Added

 CC||ibuc...@gdcproject.org

--- Comment #2 from Iain Buclaw  ---
(In reply to Walter Bright from comment #1)
> Is this a regression?

A change was introduced that caused tests to start failing with GDC.

Granted this is the first response I've received regarding this issue.  Despite
highlighting problems in the PR 3285, and despite raising a new PR to address
some of problems I raised.  What is going on with the review process?

--


[Issue 14732] [REG 2.068 beta] Failing unittest in std.math

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14732

Iain Buclaw  changed:

   What|Removed |Added

   Severity|regression  |blocker

--- Comment #3 from Iain Buclaw  ---
Changing to blocker as (imo) a release shouldn't happen until it has been
probably vetted as working.

--


[Issue 14746] New: Behavior change with struct destructor and alias this

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14746

  Issue ID: 14746
   Summary: Behavior change with struct destructor and alias this
   Product: D
   Version: D2
  Hardware: x86_64
OS: Linux
Status: NEW
  Severity: regression
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: briancsch...@gmail.com

```
import std.stdio;

void main()
{
Ownership o;
destroy(o);
}

struct HasADestructor
{
~this() {writeln("test");}
}

struct Ownership
{
HasADestructor* pointer;
alias pointer this;
}

```

With 2.067.1 this program runs with no output. With 2.068.0-b1 it outputs the
string "test". With both compiler versions simply letting the struct go out of
scope does not result in any output.

--


[Issue 14732] [2.068 beta] Failing unittest in std.math

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14732

Iain Buclaw  changed:

   What|Removed |Added

Summary|[REG 2.068 beta] Failing|[2.068 beta] Failing
   |unittest in std.math|unittest in std.math

--


[Issue 14747] New: compiler insists on unnecessary return statement

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14747

  Issue ID: 14747
   Summary: compiler insists on unnecessary return statement
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: major
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: john.loughran.col...@gmail.com

//returns.d
auto foo(Args...)()
{
foreach(arg; Args)
static if(is(arg == int))
{
return 0;
}
}

void main()
{
foo!int;
}

$ dmd results.d
returns.d(1): Error: function returns.foo!int.foo no return exp; or assert(0);
at end of function
returns.d(12): Error: template instance returns.foo!int error instantiating

--


[Issue 14748] New: Removing std.stdio import causes 2x increase in "Hello, world" program binary filesize

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14748

  Issue ID: 14748
   Summary: Removing std.stdio import causes 2x increase in
"Hello, world" program binary filesize
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: regression
  Priority: P1
 Component: phobos
  Assignee: nob...@puremagic.com
  Reporter: thecybersha...@gmail.com

https://github.com/D-Programming-Language/phobos/pull/3443#issuecomment-116250557

This looks like a Phobos regression caused by a compiler bug.

To reproduce, you can use Digger:

digger build e2dc1a631d1b0bd3eb751c6b7f6d70cfdc5b40c1 # old, small executable
digger build f1bf3d208546728d433de7b3d53631497846b117 # new, big executable

--


[Issue 14508] [REG2.067.0] compiling with -unittest instantiates templates in non-root modules

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14508

--- Comment #4 from Kenji Hara  ---
(In reply to Kenji Hara from comment #2)
> https://github.com/D-Programming-Language/dmd/pull/4626

Superseded by: https://github.com/D-Programming-Language/dmd/pull/4784

--


[Issue 14698] Un-mangle symbols in disassembly?

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14698

--- Comment #11 from Iain Buclaw  ---
(In reply to Rainer Schuetze from comment #9)
> > Support was added in binutils 2.25
> 
> I've build this version, but noticed that it doesn't demangle full text
> files, just the arguments given on the command line. Instead, it reports
> "Internal error: no symbol alphabet for current style". That has an easy
> fix, though.
> 
> As cxxfilt will very likely never support compressed symbols aswell as MS
> mangled symbols, I've compiled my own version supporting all 3 manglings
> (D/gcc/cl) including compression.
> 

Nice wrapper you've got there.  The next version of binutils/gdb will have
pretty much near complete 2.068 support. In my local tests, it managed to
demangle all symbols in Phobos and druntime (core.demangle barely got 20% - and
even then some were massively incorrect).

--


[Issue 14646] Add a documented way to invoke postblit

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14646

Daniel  changed:

   What|Removed |Added

 CC||wyr...@gmx.net

--- Comment #2 from Daniel  ---
Considering one needs to recursively invoke __postblit(), I vote for a
"suitable library function".

--


[Issue 14745] New: Qualifiers rejected for delegate literals

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14745

  Issue ID: 14745
   Summary: Qualifiers rejected for delegate literals
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: normal
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: timon.g...@gmx.ch

This code is (correctly) accepted by DMD 2.067:

void main(){
auto foo1()pure immutable{ return 0; }
auto foo2()pure const{ return 0; } 
}

But this is not:

void main(){
auto dg1=()pure immutable{ return 0; };
auto dg2=()pure const{ return 0; };
}

Both should compile. (There should be no difference in how qualifiers are
handled for named and anonymous nested functions.)

--


[Issue 14431] [REG 2.067.0] huge slowdown of compilation speed

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14431

Kenji Hara  changed:

   What|Removed |Added

   Keywords||performance, pull

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

--


[Issue 14739] Immutable alias to template triggers dmd assert

2015-06-30 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14739

Vladimir Panteleev  changed:

   What|Removed |Added

 CC||thecybersha...@gmail.com
   Hardware|x86_64  |All
 OS|Windows |All
   Severity|enhancement |regression

--- Comment #2 from Vladimir Panteleev  ---
This program compiled in 2.062, and stopped compiling with an ICE after:
https://github.com/D-Programming-Language/dmd/pull/1760

The ICE was fixed and the error changed to "failed semantic analysis" in 2.064,
after:
https://github.com/D-Programming-Language/dmd/pull/2645

The ICE was reintroduced in 2.066, after:
https://github.com/D-Programming-Language/dmd/pull/3383

--