[Issue 11193] [ICE] String template argument mixed with variadic template arguments causes ICE

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11193


monkeywork...@hotmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11198] Error messages for declaring a 'version' inside main() and other functions are unclear

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11198


yebblies  changed:

   What|Removed |Added

   Keywords||diagnostic, pull
 CC||yebbl...@gmail.com


--- Comment #1 from yebblies  2013-11-14 18:27:16 EST ---
https://github.com/D-Programming-Language/dmd/pull/2760

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11193] [ICE] String template argument mixed with variadic template arguments causes ICE

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11193



--- Comment #2 from monkeywork...@hotmail.com 2013-11-13 23:25:39 PST ---
(In reply to comment #1)
> I get
> 
> testx.d(1): Error: undefined identifier A
> testx.d(1): Error: undefined identifier A
> testx.d(7): Error: not a property test!"a b c"
> 
> An no ice.
> 
> Possibly fixed?

Those are some weird errors, but it looks like the ICE is no longer happening.
Should I make a new bug report for the errors?

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 8735] Can't use alias this on template + ICE: Assertion failure: 't' on line 100 in file 'aliasthis.c'

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=8735



--- Comment #6 from Kenji Hara  2013-11-13 23:01:59 PST ---
(In reply to comment #0)
> Two bugs. First bug:
> 
> struct Foo
> {
> int test(string op)() { return 0; }
> alias test!"*" this;
> }
> 
> test.d(15): Error: no identifier for declarator test!("*")
> test.d(15): Error: semicolon expected to close alias declaration

This is not a bug. AliasThisDeclaration only accepts an "Identifier" as the
forwarding target.

http://dlang.org/declaration
AliasThisDeclaration:
alias Identifier this

So it is invalid bug, or may be filed as an enhancement separately.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11193] [ICE] String template argument mixed with variadic template arguments causes ICE

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11193


yebblies  changed:

   What|Removed |Added

   Keywords||ice
 CC||yebbl...@gmail.com


--- Comment #1 from yebblies  2013-11-14 17:57:23 EST ---
I get

testx.d(1): Error: undefined identifier A
testx.d(1): Error: undefined identifier A
testx.d(7): Error: not a property test!"a b c"

An no ice.

Possibly fixed?

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11102] [ddoc] stray ( / ) without line or column numbers

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11102


yebblies  changed:

   What|Removed |Added

 CC||yebbl...@gmail.com


--- Comment #1 from yebblies  2013-11-14 17:15:28 EST ---
Without a test case, it's very difficult to fix.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11080] assert(`string`) should be forbidden

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11080


yebblies  changed:

   What|Removed |Added

 CC||yebbl...@gmail.com


--- Comment #27 from yebblies  2013-11-14 17:05:47 EST ---
Sounds like a good candidate for a lint tool.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 8179] ICE(e2ir.c) with failed fixed size array cast

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=8179


Kenji Hara  changed:

   What|Removed |Added

   Keywords||pull
 Status|REOPENED|RESOLVED
 Resolution||FIXED


-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 8179] ICE(e2ir.c) with failed fixed size array cast

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=8179



--- Comment #7 from github-bugzi...@puremagic.com 2013-11-13 20:35:51 PST ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/88b0e504d6b13e3707e6f0d904ee6bf9e1a5236c
fix Issue 8179 - ICE(e2ir.c) with failed fixed size array cast

https://github.com/D-Programming-Language/dmd/commit/66216b55c5b40a50c503963532f882d611fa7500
Merge pull request #2752 from WalterBright/fix8179b

fix Issue 8179 - ICE(e2ir.c) with failed fixed size array cast

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11513] [REG 2.064] Assertion in module.c

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11513


Kenji Hara  changed:

   What|Removed |Added

   Keywords||ice, pull
   Platform|x86_64  |All
 OS/Version|Linux   |All
   Severity|normal  |regression


--- Comment #1 from Kenji Hara  2013-11-13 20:06:11 PST ---
https://github.com/D-Programming-Language/dmd/pull/2759

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11309] std.concurrency: OwnerTerminated message doesn't work

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11309


Martin Nowak  changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution||FIXED


-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11492] Executable with thread termination crashes (worked in 2.63, works on Windows)

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11492



--- Comment #13 from Martin Nowak  2013-11-13 16:07:28 PST ---
Looks much like a duplicate of bug 11406.
Can you check whether ld.bfd works for you?

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11513] New: [REG 2.064] Assertion in module.c

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11513

   Summary: [REG 2.064] Assertion in module.c
   Product: D
   Version: D2
  Platform: x86_64
OS/Version: Linux
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: dragosc...@gmail.com


--- Comment #0 from Dragos Carp  2013-11-13 15:16:15 PST 
---
a.d

module a;

import b;

-
b.d

module a.b;

-

dmd 2.063 produces error
dmd -c a.d
a.d(3): Error: module a.b package name 'a' in file b.d conflicts with usage as
a module name in file a.d


dmd 2.064 after implementation of DIP37 asserts
dmd -c a.d
dmd: module.c:595: void Module::parse(): Assertion `pkg' failed.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11492] Executable with thread termination crashes (worked in 2.63, works on Windows)

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11492



--- Comment #12 from Atila Neves  2013-11-13 14:55:32 
PST ---
(In reply to comment #11)
> Apparently it crashes in the Variant code when it tests for conversion.
> Can you try the following small program with your setup?
> 
> cat > bug.d << CODE
> import std.concurrency, std.variant, std.stdio;
> 
> void main()
> {
> Variant v;
> v = new OwnerTerminated(thisTid);
> if (v.convertsTo!Tid())
> writeln("does convert");
> else
> writeln("doesn't convert");
> }
> CODE

It crashes on the convertsTo line. I copied std.variant into my own copy and
inserted writelns since I couldn't get gdb to tell me where it crashed.

convertsTo seems to have all its local variables in order then promptly crashes
when it calls fptr in line 633. It makes it through to handler!(A) up to line
294 then crashes on the switch. Again, no help from the debugger. I printed the
value of selector just before the switch statement and it contains, as
expected, OpID.testConversion. I also added a writeln after every case,
including default, and none of them are printed. I tried single-stepping but it
just seems to crash on the switch.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11492] Executable with thread termination crashes (worked in 2.63, works on Windows)

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11492



--- Comment #11 from Martin Nowak  2013-11-13 13:49:19 PST ---
Apparently it crashes in the Variant code when it tests for conversion.
Can you try the following small program with your setup?

cat > bug.d << CODE
import std.concurrency, std.variant, std.stdio;

void main()
{
Variant v;
v = new OwnerTerminated(thisTid);
if (v.convertsTo!Tid())
writeln("does convert");
else
writeln("doesn't convert");
}
CODE

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11501] dirEntries fails with "Failed to stat file" when encountering broken symlinks

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11501


Mike Wey  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||mike-...@planet.nl
 Resolution||DUPLICATE


--- Comment #2 from Mike Wey  2013-11-13 13:15:52 PST ---
*** This issue has been marked as a duplicate of issue 8298 ***

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 8298] dirEntries special linux file in Home dir

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=8298


Mike Wey  changed:

   What|Removed |Added

 CC||thelastmamm...@gmail.com


--- Comment #3 from Mike Wey  2013-11-13 13:15:52 PST ---
*** Issue 11501 has been marked as a duplicate of this issue. ***

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11506] pure evaluation should be shortcircuited

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11506


Walter Bright  changed:

   What|Removed |Added

 CC||bugzi...@digitalmars.com


--- Comment #4 from Walter Bright  2013-11-13 
12:22:31 PST ---
Yes, bearophile's right, I forgot about nothrow.

But the compiler is a bit conservative by requiring nothrow. For throwing pure
functions, the foo()+foo() case can still be replaced with 2*foo() if the
arguments to foo are identical, even if foo throws. The obvious case of this is
the no-argument case, which bearophile mentioned.

Also, if foo() returns memory that it new'd, it cannot be elided:

pure nothrow string foo();
return foo() ~ foo();

so things are a bit complicated, but there's still optimization opportunity.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11512] New: Regression (2.065 git-head): Can't build Phobos docs with win32 makefile

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11512

   Summary: Regression (2.065 git-head): Can't build Phobos docs
with win32 makefile
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: regression
  Priority: P2
 Component: Phobos
AssignedTo: nob...@puremagic.com
ReportedBy: andrej.mitrov...@gmail.com


--- Comment #0 from Andrej Mitrovic  2013-11-13 
10:56:54 PST ---
C:\dmd-git\dmd2\src\phobos>make -f win32.mak HTML
Error: don't know how to make './std.ddoc'

Worked fine a while ago, but not anymore. The 2.064.2 release works fine too.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11507] Associative Array Documentation

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11507


Chuck Allison  changed:

   What|Removed |Added

 CC||ch...@freshsources.com


--- Comment #2 from Chuck Allison  2013-11-13 10:19:40 
PST ---
Is this what you had in mind?

string[] words = (cast(string)(read(filename))).split();
int[string] counts;
foreach (word; words)
++counts[word];
foreach (w; sort(counts.keys))
writefln("%s: %d", w, counts[w]);

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11494] std.array.appender is not nothrow

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11494



--- Comment #4 from monarchdo...@gmail.com 2013-11-13 10:17:38 PST ---
(In reply to comment #3)
> I'm not sure what's going on here, maybe it is trying to parse the string. But
> the appender issue itself might be invalid and/or already fixed in the newest
> dmd though.

It's trying to parse the string.

If you want to "interpret" the string as ubytes, you can use
"std.string.representation". This will "reinterpret" your string according to
its type:
string => immutable(ubyte)[]
wchar[] => ushort[]
dchar[] => uint[]

However, this will not *allocate* a new array, and it is not safe either. It
*is* nothrow though. If you want a new array, I'd recommend adding a ".dup",
but that's not nothrow.

I don't know any 1 liners that are @safe, pure and nothrow. My recommendation
would be to make an explicit trusted helper that will do it for you. Eg:

ubyte[] str2ubyte(in char[] str) pure nothrow
{
auto arr = uninitializedArray!(ubyte[])(str.length);
arr[]=str.representation()[];
return arr;
}

You could templatize too, just like representation, so as to work on any width.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11494] std.array.appender is not nothrow

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11494



--- Comment #3 from Adam D. Ruppe  2013-11-13 
09:22:14 PST ---
The specific thing that got this was here:

import std.conv;
import std.array;

void main() nothrow @safe {
string s = "foo";
auto b = to!(ubyte[])(s);
}

testarray.d(6): Error: 'std.conv.to!(ubyte[]).to!(string).to' is not nothrow


Though, now the change I did in the pull isn't fixing it. When I first played
with this, it was on my other computer which has an older dmd, so maybe
something else has changed since then, but this test here still fails to
compile on my desktop.

I'm not sure what's going on here, maybe it is trying to parse the string. But
the appender issue itself might be invalid and/or already fixed in the newest
dmd though.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11494] std.array.appender is not nothrow

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11494


monarchdo...@gmail.com changed:

   What|Removed |Added

 CC||monarchdo...@gmail.com


--- Comment #2 from monarchdo...@gmail.com 2013-11-13 08:52:31 PST ---
(In reply to comment #0)
> This propagates up to to!(array)(other_array) making it not work in nothrow
> too, despite the fact they otherwise don't throw anything except out of memory
> errors.

What do you mean? This works fine on my HEAD. It's even safe and pure:

//
import std.conv, std.array;

void main() nothrow @safe pure
{
int[] arr;
to!(int[])(arr);
appender(arr);
}
//

This is with 2.064.2. In 2.063.2 it's not @safe.

Are you sure the problem in "to" isn't that the duplicated array contains
objects with throwing postblits by any chance?

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11511] New: DDoc - the parameter list of a variadic function cannot be documented properly

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11511

   Summary: DDoc - the parameter list of a variadic function
cannot be documented properly
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Keywords: ddoc
  Severity: minor
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: ru...@rumbu.ro


--- Comment #0 from Răzvan Ștefănescu  2013-11-13 08:33:17 PST 
---
Assuming the following function:

void foo(int i, ...)

Documentation of the variable parameter list is not formatted correctly:

Example

///Parameters: i   =  some integer parameter
///... =  variable length list of arguments

The DDoc output will not automatically align and break the line after "i"
documentation

Documenting "..." as something else (e.g. "args") will output a compiler
warning.

Proposal: interpret "..." as parameter or accept "args" as replacement without
warning.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11494] std.array.appender is not nothrow

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11494


Adam D. Ruppe  changed:

   What|Removed |Added

   Keywords||pull


--- Comment #1 from Adam D. Ruppe  2013-11-13 
08:20:50 PST ---
https://github.com/D-Programming-Language/phobos/pull/1690

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11510] Relax restriction for overlapped pointer field access in safe code/during CTFE

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11510


Kenji Hara  changed:

   What|Removed |Added

   Keywords||pull


--- Comment #2 from Kenji Hara  2013-11-13 07:35:16 PST ---
https://github.com/D-Programming-Language/dmd/pull/2757

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11427] anonymous unions break structs in @safe code

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11427


Kenji Hara  changed:

   What|Removed |Added

   Keywords||pull


--- Comment #2 from Rainer Schuetze  2013-11-03 01:52:10 
PST ---
Compile this code

///
struct S
{
union
{
ubyte a;
int x;
}
void[] arr;
}

int foo() @safe
{
S s1 = S();
S s2;
return 0;
}


with "dmd -c test.d" fails with

test.d(14): Error: variable test.foo.s2 unions containing pointers are not
allowed in @safe functions

Please note that the first variable s1 is ok!

This is also triggered in std.format with this code:
import std.format;
import std.array;

void foo()
{
FormatSpec!char spec = FormatSpec!char();
auto s = appender!string;
formattedWrite(s, "%s", "hello");
}

--- Comment #3 from Kenji Hara  2013-11-13 07:35:24 PST ---
https://github.com/D-Programming-Language/dmd/pull/2757

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11510] Relax restriction for overlapped pointer field access in safe code/during CTFE

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11510



--- Comment #1 from Kenji Hara  2013-11-13 07:11:59 PST ---
(In reply to comment #0)
> // This is necessary to avoid related compiler bug
> S _dummy = S();

The "related bug" is bug 11427.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11504] [CTFE] JSONValue cannot make in CTFE

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11504


Kenji Hara  changed:

   What|Removed |Added

 Blocks||11510


--- Comment #3 from Kenji Hara  2013-11-13 07:13:55 PST ---
(In reply to comment #2)
> This problem is settled by supporting union formally in CTFE.

For that, I posted a compiler enhancement issue 11510.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11510] New: Relax restriction for overlapped pointer field access in safe code/during CTFE

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11510

   Summary: Relax restriction for overlapped pointer field access
in safe code/during CTFE
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Keywords: CTFE, spec
  Severity: enhancement
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: k.hara...@gmail.com


--- Comment #0 from Kenji Hara  2013-11-13 07:10:31 PST ---
Currently in @safe code, declaring struct variable which contains any
overlapped pointer(==reference) fields is entirely disallowed.

struct S {
union {
size_t x;
int* y; // pointer field
}
int[] arr;
}

// This is necessary to avoid related compiler bug
S _dummy = S();

void test() @safe {
S s;
// Error: variable s unions containing pointers are not allowed
// in @safe functions
}

However I think this is too limited behavior. Even if S.y is an overlapped
pointer field,

1. Declaring a variable typed S
2. Both reading and writing unoverlapped field S.arr
3. Both reading and writing overlapped field S.x
4. Writing overlapped pointer field S.y

should be allowed.

Especially, by combining #3 and #4, you can reinterpret int* to size_t under
the @safe code. But it is nothing wrong, as same as
declaring size_t variable with void initializer.

void test() @safe {
size_t num = void;
}

Even the value of 'num' is garbage, using it won't cause any memory corruption
in @safe. So currently it is properly accepted by compiler.

---

And the semantics should also work during CTFE. For CTFE, one following
restriction is necessary.

- Any field value reinterpretation by using two overlapped fields is
disallowed.
If it's detected in CTFE, should raise compile-time error.

Therefore, following code should work as expected.

bool test() {
S s;// declaration is OK

s.y = [1,2,3].ptr;// writing overlapped pointer field is OK
assert(s.y[0..3] == [1,2,3]); // reading valid field is OK

s.x = 10;
assert(s.x == 10);

// There's no reinterpretation between S.x and S.y
return true;
}
static assert(test());  // run CTFE

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11509] AA.dup @property

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11509


bearophile_h...@eml.cc changed:

   What|Removed |Added

   Keywords|rejects-valid   |
Summary|AA.rehash doesn't compile   |AA.dup @property
   |with -property  |
   Severity|normal  |enhancement


--- Comment #3 from bearophile_h...@eml.cc 2013-11-13 06:19:07 PST ---
(In reply to comment #2)
> Currently this is not a bug.
> 
> In object.di, AssociativeArray template struct defines 'rehash' and 'dup'
> method as normal function. So under -property switch, you cannot call them
> without parenthesis.

Thank you. I think AA.dup should become a @property, for uniformity with array
dup.
And perhaps rehash too. So now it's a low priority enhancement request.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11492] Executable with thread termination crashes (worked in 2.63, works on Windows)

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11492



--- Comment #10 from Atila Neves  2013-11-13 05:35:51 
PST ---
(In reply to comment #7)
> Can you find out the function where the segfault happens?

In the original example:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x77308700 (LWP 5006)]
0x00471b83 in
std.variant.__T8VariantNVm32Z.VariantN.__T7handlerTC3std11concurrency15OwnerTerminatedZ.handler()
(
parm=,
 
pStore=,
 
selector=)
at /usr/include/dlang/dmd/std/variant.d:294
294   switch (selector)
(gdb) bt
#0  0x00471b83 in
std.variant.__T8VariantNVm32Z.VariantN.__T7handlerTC3std11concurrency15OwnerTerminatedZ.handler()
(
parm=,
 
pStore=,
 
selector=)
at /usr/include/dlang/dmd/std/variant.d:294
#1  0x0046f5eb in
std.variant.__T8VariantNVm32Z.VariantN.__T10convertsToTS3std11concurrency3TidZ.convertsTo()
(
this=)
at /usr/include/dlang/dmd/std/variant.d:633
#2  0x0046f57e in
std.concurrency.Message.__T10convertsToTS3std11concurrency3TidZ.convertsTo() (
this=)
at /usr/include/dlang/dmd/std/concurrency.d:123
#3  0x0046f005 in
std.concurrency.MessageBox.__T3getTPFNaNbNfS3std11concurrency3TidZvTDFNbNfC3std11concurrency15OwnerTerminatedZvZ.get()
(
this=,
 
msg=)
at /usr/include/dlang/dmd/std/concurrency.d:1150
#4  0x0046f277 in
std.concurrency.MessageBox.__T3getTPFNaNbNfS3std11concurrency3TidZvTDFNbNfC3std11concurrency15OwnerTerminatedZvZ.get()
(
this=,
 
msg=)
at /usr/include/dlang/dmd/std/concurrency.d:1189
#5  0x0046f2ba in
std.concurrency.MessageBox.__T3getTPFNaNbNfS3std11concurrency3TidZvTDFNbNfC3std11concurrency15OwnerTerminatedZvZ.get()
(
this=,
 
msg=)
at /usr/include/dlang/dmd/std/concurrency.d:1201
#6  0x0046f32c in
std.concurrency.MessageBox.__T3getTPFNaNbNfS3std11concurrency3TidZvTDFNbNfC3std11concurrency15OwnerTerminatedZvZ.get()
(
this=,
 
list=)
at /usr/include/dlang/dmd/std/concurrency.d:1217
#7  0x0046ef51 in
std.concurrency.MessageBox.__T3getTPFNaNbNfS3std11concurrency3TidZvTDFNbNfC3std11concurrency15OwnerTerminatedZvZ.get()
(
this=,
 
_param_1=,
 
_param_0=)
at /usr/include/dlang/dmd/std/concurrency.d:1314
#8  0x0046ed9a in
std.concurrency.__T7receiveTPFNaNbNfS3std11concurrency3TidZvTDFNbNfC3std11concurrency15OwnerTerminatedZvZ.receive()
(
_param_1=,
 
_param_0=)
at /usr/include/dlang/dmd/std/concurrency.d:635
#9  0x0046ba78 in thread_local_singleton.threadWriter() () at
thread_local_singleton.d:8
#10 0x00472863 in std.concurrency.__T6_spawnTPFZvZ._spawn()
(this=)
at /usr/include/dlang/dmd/std/concurrency.d:487
#11 0x00495466 in core.thread.Thread.run() ()
#12 0x004951ed in thread_entryPoint ()
#13 0x77bc70a2 in start_thread () from /usr/lib/libpthread.so.0
#14 0x773ee49d in clone () from /usr/lib/libc.so.6

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11492] Executable with thread termination crashes (worked in 2.63, works on Windows)

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11492



--- Comment #9 from Atila Neves  2013-11-13 05:34:13 PST 
---
(In reply to comment #7)
> Can you find out the function where the segfault happens?

In the last example (the one from TDPL) I don't get a segfault, I get SIGILL:

#0  0x004a44f0 in ?? ()
#1  0x77ecef08 in ?? ()
#2  0x77de668d in _dl_lookup_symbol_x () from
/lib64/ld-linux-x86-64.so.2
#3  0x004695eb in
std.variant.__T8VariantNVm32Z.VariantN.__T10convertsToTS3std8typecons35__T5TupleTS3std11concurrency3TidTiZ5TupleZ.convertsTo()
(
this=)
at /usr/include/dlang/dmd/std/variant.d:633
#4  0x0046957e in
std.concurrency.Message.__T10convertsToTS3std11concurrency3TidTiZ.convertsTo()
(
this=)
at /usr/include/dlang/dmd/std/concurrency.d:125
#5  0x00468fb6 in
std.concurrency.MessageBox.__T3getTDFNbNfS3std11concurrency3TidiZvTPFNaNfC3std11concurrency14LinkTerminatedZvTPFNaNfC3std11concurrency15OwnerTerminatedZvTPFS3std7variant17__T8VariantNVm32Z8VariantNZvZ.get()
(
this=,
 
msg=)
at /usr/include/dlang/dmd/std/concurrency.d:1150
#6  0x004693a6 in
std.concurrency.MessageBox.__T3getTDFNbNfS3std11concurrency3TidiZvTPFNaNfC3std11concurrency14LinkTerminatedZvTPFNaNfC3std11concurrency15OwnerTerminatedZvTPFS3std7variant17__T8VariantNVm32Z8VariantNZvZ.get()
(
this=,
 
list=)
at /usr/include/dlang/dmd/std/concurrency.d:1238
#7  0x00468ef9 in
std.concurrency.MessageBox.__T3getTDFNbNfS3std11concurrency3TidiZvTPFNaNfC3std11concurrency14LinkTerminatedZvTPFNaNfC3std11concurrency15OwnerTerminatedZvTPFS3std7variant17__T8VariantNVm32Z8VariantNZvZ.get()
(
this=,
 
_param_3=,
 
_param_2=,
 
_param_1=,
 
_param_0=)
at /usr/include/dlang/dmd/std/concurrency.d:1314
#8  0x00468c41 in
std.concurrency.__T11receiveOnlyTS3std11concurrency3TidTiZ.receiveOnly() (
__HID10=)
at /usr/include/dlang/dmd/std/concurrency.d:718
#9  0x0045e9c8 in concurrency_tdpl.fun() (high=, 
low=) at concurrency_tdpl.d:15
#10 0x0045ebc9 in std.concurrency.__T6_spawnTPFiiZvTiTiZ._spawn()
(this=)
at /usr/include/dlang/dmd/std/concurrency.d:487
#11 0x00485996 in core.thread.Thread.run() ()
#12 0x0048571d in thread_entryPoint ()
#13 0x77bc70a2 in start_thread () from /usr/lib/libpthread.so.0
#14 0x773ee49d in clone () from /usr/lib/libc.so.6

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11492] Executable with thread termination crashes (worked in 2.63, works on Windows)

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11492



--- Comment #8 from Atila Neves  2013-11-13 05:32:57 PST 
---
(In reply to comment #6)
> Both examples work correctly for me.
> In the latter there is an unhandled exception.
> std.concurrency.OwnerTerminated@std/concurrency.d(234): Owner terminated

I get that unhandled exception in 2.063. On 2.064 it crashes.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11509] AA.rehash doesn't compile with -property

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11509



--- Comment #2 from Kenji Hara  2013-11-13 05:02:42 PST ---
Currently this is not a bug.

In object.di, AssociativeArray template struct defines 'rehash' and 'dup'
method as normal function. So under -property switch, you cannot call them
without parenthesis.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11509] AA.rehash doesn't compile with -property

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11509



--- Comment #1 from bearophile_h...@eml.cc 2013-11-13 03:25:57 PST ---
The same happens with ".dup".

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11509] New: AA.rehash doesn't compile with -property

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11509

   Summary: AA.rehash doesn't compile with -property
   Product: D
   Version: D2
  Platform: x86
OS/Version: Windows
Status: NEW
  Keywords: rejects-valid
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: bearophile_h...@eml.cc


--- Comment #0 from bearophile_h...@eml.cc 2013-11-13 03:02:58 PST ---
Problem found by Gary Willoughby:


void main() {
int[string] aa;
aa.rehash;
}


dmd 2.065alpha gives (compiling with "-property"):

temp.d(3): Error: not a property aa.rehash

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 9737] std.net.curl and SSL - documentation missing

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=9737



--- Comment #9 from Jacob Carlborg  2013-11-13 02:18:40 PST ---
(In reply to comment #8)
> I see the certificate bundle file (and the scripts to regenerate it) are
> installed by dmd in the ./dmd2/windows folder
> It seems that the file is not picked automatically by libcurl even if I copy 
> it
> along the EXE (tried with ca-bundle.crt and curl-ca-bundle.crt). So on Windows
> would be optimal if std.net.curl would set automatically the option, if the
> ca-bundle.crt is in the same folder as the EXE (or make this configurable).
> Then the documentation should specify that you need to deliver with your EXE
> the dlang/dmd2/windows/ca-bundle.crt

Can't we build one in, into Phobos using import("ca-bundle.crt");?

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 10162] Opposite of std.string.representation

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=10162



--- Comment #5 from bearophile_h...@eml.cc 2013-11-13 02:00:59 PST ---
(In reply to comment #3)
> Most of my use cases are to sort a char[]. It's a common operation.

So instead of unrepresentation an alternative solution is to introduce a little
std.ascii.asciiSort (it could also be named just std.ascii.sort, or
std.algorithm.asciiSort):

char[] s1 = ['t', 'e', 's', 't'];
string t1 = s1.asciiSort;

string s2 = "test";
string t2 = s2.dup.asciiSort.assumeUnique;

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 8313] stack overflow on recursive ifti evaluation

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=8313


Walter Bright  changed:

   What|Removed |Added

 CC||bugzi...@digitalmars.com


--- Comment #1 from Walter Bright  2013-11-13 
01:46:09 PST ---
https://github.com/D-Programming-Language/dmd/pull/2753

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 9737] std.net.curl and SSL - documentation missing

2013-11-13 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=9737



--- Comment #8 from Tavi Cacina  2013-11-13 
01:44:38 PST ---
I see the certificate bundle file (and the scripts to regenerate it) are
installed by dmd in the ./dmd2/windows folder
It seems that the file is not picked automatically by libcurl even if I copy it
along the EXE (tried with ca-bundle.crt and curl-ca-bundle.crt). So on Windows
would be optimal if std.net.curl would set automatically the option, if the
ca-bundle.crt is in the same folder as the EXE (or make this configurable).
Then the documentation should specify that you need to deliver with your EXE
the dlang/dmd2/windows/ca-bundle.crt

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---