[Issue 13746] New: formatValue of functions and delegates with UDA or @nogc

2014-11-18 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13746

  Issue ID: 13746
   Summary: formatValue of functions and delegates with UDA or
@nogc
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: normal
  Priority: P1
 Component: Phobos
  Assignee: nob...@puremagic.com
  Reporter: ilyayaroshe...@gmail.com

unittest
{
static void func() {}
formatTest( &func, "void function()" );
}

unittest
{
void func() @nogc {}
formatTest( &func, "@nogc void delegate()" );
}

void formatTest(T)(T val, string expected, size_t ln = __LINE__, string fn =
__FILE__)
{
import std.array : appender;
import std.conv : text;
FormatSpec!char f;
auto w = appender!string();
formatValue(w, val, f);
enforce!AssertError(
w.data == expected,
text("expected = `", expected, "`, result = `", w.data, "`"), fn,
ln);
}

--


[Issue 13746] formatValue of functions and delegates with @nogc

2014-11-18 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13746

Илья Ярошенко  changed:

   What|Removed |Added

Summary|formatValue of functions|formatValue of functions
   |and delegates with UDA or   |and delegates with @nogc
   |@nogc   |

--


[Issue 13746] formatValue of delegates with @nogc

2014-11-18 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13746

Илья Ярошенко  changed:

   What|Removed |Added

Summary|formatValue of functions|formatValue of delegates
   |and delegates with @nogc|with @nogc

--- Comment #1 from Илья Ярошенко  ---
update:

unittest
{
import std.conv : to;

int i;

int foo(short k) @nogc
{
return i + k;
}

int delegate(short) @nogc bar() nothrow
{
return &foo; 
}

assert(to!string(&bar) == "int delegate(short) @nogc delegate() nothrow");
}

--


[Issue 519] Invariant not called from autogenerated class/struct constructor/destructor

2014-11-18 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=519

Martin Nowak  changed:

   What|Removed |Added

 CC||c...@dawg.eu

--- Comment #14 from Martin Nowak  ---
Rainer raised an important question for running invariant before class
destruction. Because GC finalization order is undetermined an invariant that
would check whether some classes's field points to a valid instance could fail
because the pointed-to class could already have been finalized.


http://forum.dlang.org/post/m4eu6v$trq$1...@digitalmars.com

--


[Issue 13747] New: Linux CMSG_NXTHDR is private

2014-11-18 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13747

  Issue ID: 13747
   Summary: Linux CMSG_NXTHDR is private
   Product: D
   Version: D2
  Hardware: x86_64
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: druntime
  Assignee: nob...@puremagic.com
  Reporter: redballoo...@gmail.com

CMSG_NXTHDR on Linux is defined as a macro wrapping the __csmg_nxthdr function.

The translation to D in core.sys.posix.sys.socket.d has an extern
__cmsg_nxthdr() function, which is private.  This is "exposed" using an alias,
CMSG_NXTHDR.  But since the alias doesn't change the protection, so CMSG_NXTHDR
is not usable.

I'm putting together a pull request for a bunch of CMSG changes & fixes, but I
don't know what the right way to fix this part is.

--


[Issue 13745] Circular template attributes inference does not work

2014-11-18 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13745

Илья Ярошенко  changed:

   What|Removed |Added

Summary|Circular CTFE attributes|Circular template
   |inference does not work |attributes inference does
   ||not work

--


[Issue 13748] New: benchmark druntime/benchmark/aabench/string.d fails

2014-11-18 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13748

  Issue ID: 13748
   Summary: benchmark druntime/benchmark/aabench/string.d fails
   Product: D
   Version: D2
  Hardware: x86_64
OS: Windows
Status: NEW
  Severity: regression
  Priority: P1
 Component: druntime
  Assignee: nob...@puremagic.com
  Reporter: r.sagita...@gmx.de

The PR https://github.com/D-Programming-Language/druntime/pull/979 causes the
benchmark druntime/benchmark/aabench/string.d to fail:

- aa.length is one larger than expected
- the word "vita" is counted one less than before
- when iterating over aa, one entry less than aa.length is traversed

--


[Issue 12542] No function attribute inference for recursive functions

2014-11-18 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=12542

monarchdo...@gmail.com changed:

   What|Removed |Added

   See Also||https://issues.dlang.org/sh
   ||ow_bug.cgi?id=13745

--


[Issue 13745] Circular template attributes inference does not work

2014-11-18 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13745

monarchdo...@gmail.com changed:

   What|Removed |Added

 CC||monarchdo...@gmail.com
   See Also||https://issues.dlang.org/sh
   ||ow_bug.cgi?id=12542

--


[Issue 13748] benchmark druntime/benchmark/aabench/string.d fails

2014-11-18 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13748

Steven Schveighoffer  changed:

   What|Removed |Added

 CC||schvei...@yahoo.com
   Assignee|nob...@puremagic.com|schvei...@yahoo.com

--


[Issue 13748] benchmark druntime/benchmark/aabench/string.d fails

2014-11-18 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13748

--- Comment #1 from Steven Schveighoffer  ---
Found the issue.

The following code tests the problem (adding as a unit test), but is highly
dependent on the AA implementation:

void main()
{
int[int] aa;
// make all values go into the last bucket (int hash is simply the int)
foreach(i; 0..16)
{
aa[3 + i * 4] = 1;
assert(aa.keys.length == i+1);
}

// now force a rehash, but with a different hash value (lower than current
// first used bucket)
aa[0] = 1;
assert(aa.keys.length == 17);
}

PR: https://github.com/D-Programming-Language/druntime/pull/1025

--


[Issue 13749] New: std.range module conflicts with std.range package

2014-11-18 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13749

  Issue ID: 13749
   Summary: std.range module conflicts with std.range package
   Product: D
   Version: D2
  Hardware: x86_64
OS: Linux
Status: NEW
  Severity: critical
  Priority: P1
 Component: Phobos
  Assignee: nob...@puremagic.com
  Reporter: vlevenf...@gmail.com

Just built the latest phobos and got this when I tried to compile something:

/opt/dmd/include/d2/std/range/constraints.d(114): Error: package name
'std.range' conflicts with usage as a module name in file
/opt/dmd/include/d2/std/range.d

--


[Issue 13749] std.range module conflicts with std.range package

2014-11-18 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13749

Vlad Levenfeld  changed:

   What|Removed |Added

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

--- Comment #1 from Vlad Levenfeld  ---
Whoops should have cleaned out my install directory. Sorry.

--


[Issue 13748] benchmark druntime/benchmark/aabench/string.d fails

2014-11-18 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13748

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

   What|Removed |Added

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

--


[Issue 13748] benchmark druntime/benchmark/aabench/string.d fails

2014-11-18 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=13748

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

https://github.com/D-Programming-Language/druntime/commit/57e3887a2eb9f27008f7925dded49ee056e9d38c
Fix issue 13748 -- benchmark druntime/benchmark/aabench/string.d fails

https://github.com/D-Programming-Language/druntime/commit/6c6c431853553660c13da6ecffe463db29b8396f
Merge pull request #1025 from schveiguy/fix13748

Fix issue 13748 -- benchmark druntime/benchmark/aabench/string.d fails

--