[Issue 6178] Struct inside the AA are not init correctly

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6178



--- Comment #13 from Maxim Fomin ma...@maxim-fomin.ru 2013-01-16 01:18:30 PST 
---
Well, seems in 2.061 the behavior was changed. 

Without any options, the output is like:

-1154412584 opAssign called (big value)
1 dtor called
-1154412584 dtor called

With -release or -noboundscheck the output is more robust:

0 opAssign called
1 dtor called
0 dtor called

With -O option output is:

32638 opAssign called // close to signed short int max
1 dtor called
32638 dtor called

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


[Issue 9325] New: writeln of const class instance

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9325

   Summary: writeln of const class instance
   Product: D
   Version: D2
  Platform: x86
OS/Version: Windows
Status: NEW
  Keywords: rejects-valid
  Severity: normal
  Priority: P2
 Component: Phobos
AssignedTo: nob...@puremagic.com
ReportedBy: bearophile_h...@eml.cc


--- Comment #0 from bearophile_h...@eml.cc 2013-01-16 01:45:53 PST ---
This program:


import std.stdio: writeln;
class Foo { int x = 5; }
void main() {
auto f = new Foo;
writeln(f);
}


Prints (dmd 2.062alpha):

test1.Foo



While this:


import std.stdio: writeln;
class Foo { int x = 5; }
void main() {
const f = new Foo;
writeln(f);
}



Gives:

...\dmd2\src\phobos\std\format.d(2435): Error: template instance
formatObject!(LockingTextWriter, const(Foo), char)
formatObject!(LockingTextWriter, const(Foo), char) does not match template
declaration formatObject(Writer, T, Char)(ref Writer w, ref T val, ref
FormatSpec!(Char) f) if (hasToString!(T, Char))
...\dmd2\src\phobos\std\format.d(2435): Error: function expected before (), not
formatObject!(LockingTextWriter, const(Foo), char) of type void
...\dmd2\src\phobos\std\format.d(2863): Error: template instance
std.format.formatValue!(LockingTextWriter, const(Foo), char) error
instantiating
...\dmd2\src\phobos\std\format.d(415):instantiated from here:
formatGeneric!(LockingTextWriter, const(Foo), char)
...\dmd2\src\phobos\std\stdio.d(714):instantiated from here:
formattedWrite!(LockingTextWriter, char, const(Foo))
...\dmd2\src\phobos\std\stdio.d(1620):instantiated from here:
write!(const(Foo),char)
test2.d(5):instantiated from here: writeln!(const(Foo))
...\dmd2\src\phobos\std\format.d(415): Error: template instance
std.format.formatGeneric!(LockingTextWriter, const(Foo), char) error
instantiating
...\dmd2\src\phobos\std\stdio.d(714):instantiated from here:
formattedWrite!(LockingTextWriter, char, const(Foo))
...\dmd2\src\phobos\std\stdio.d(1620):instantiated from here:
write!(const(Foo),char)
test2.d(5):instantiated from here: writeln!(const(Foo))
...\dmd2\src\phobos\std\stdio.d(714): Error: template instance
std.format.formattedWrite!(LockingTextWriter, char, const(Foo)) error
instantiating
...\dmd2\src\phobos\std\stdio.d(1620):instantiated from here:
write!(const(Foo),char)
test2.d(5):instantiated from here: writeln!(const(Foo))
...\dmd2\src\phobos\std\stdio.d(1620): Error: template instance
std.stdio.File.write!(const(Foo),char) error instantiating
test2.d(5):instantiated from here: writeln!(const(Foo))
test2.d(5): Error: template instance std.stdio.writeln!(const(Foo)) error
instantiating

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


[Issue 6178] Struct inside the AA are not init correctly

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6178



--- Comment #14 from Dmitry Olshansky dmitry.o...@gmail.com 2013-01-16 
01:46:18 PST ---
(In reply to comment #13)
 Well, seems in 2.061 the behavior was changed. 
 
 Without any options, the output is like:
 
 -1154412584 opAssign called (big value)
 1 dtor called
 -1154412584 dtor called
 
 With -release or -noboundscheck the output is more robust:
 
 0 opAssign called
 1 dtor called
 0 dtor called
 
 With -O option output is:
 
 32638 opAssign called // close to signed short int max
 1 dtor called
 32638 dtor called

This is shitty but I'll use -release for the moment. BTW it seems 
to require both module with struct  *and* the one where AA is used to be
compiled wiht -release.

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


[Issue 9322] Internal error: ../ztc/cod1.c 3510 with SIMD on OSX 32

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9322


Walter Bright bugzi...@digitalmars.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


--- Comment #1 from Walter Bright bugzi...@digitalmars.com 2013-01-16 
01:49:22 PST ---
https://github.com/D-Programming-Language/dmd/pull/1490

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


[Issue 4269] Regression(2.031): invalid type accepted if evaluated while errors are gagged

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4269



--- Comment #28 from github-bugzi...@puremagic.com 2013-01-16 01:52:33 PST ---
Commit pushed to dmd-1.x at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/f0a12c85632e5bba8bf0752aa66f2ab97317e5c9
Fix bug 4269 case 13:invalid template accepted if evaluated while errors are
gagged

Need to ungag template declarations if they are forward referenced.

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


[Issue 6178] Struct inside the AA are not init correctly

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6178



--- Comment #15 from Maxim Fomin ma...@maxim-fomin.ru 2013-01-16 02:18:45 PST 
---
(In reply to comment #14)
 This is shitty but I'll use -release for the moment. BTW it seems 
 to require both module with struct  *and* the one where AA is used to be
 compiled wiht -release.

Than this a part of a bigger shit.

/* Known as a problem of filling newly created space of AA array
   with T.init before assigning actual object.
   If operation is interrupted, this leads to AA array containing
   orphan T.init objects by no reason. Was reported in BZ.
*/
import std.stdio;

int foo()
{
throw new Exception();
}

int[int] array;

void main()
{
try
{
array[1] = foo();
}
catch(Exception e)
{

}
writeln(array);
}

Compiling with -O = [1:0]
Compiling with -release = []
Compiling with -noboundscheck = []

So, it appears that there is not only bug with AA assignment, but the bug
depends on compiler options.

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


[Issue 9326] New: writeln to simply show pointed data

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9326

   Summary: writeln to simply show pointed data
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: enhancement
  Priority: P2
 Component: Phobos
AssignedTo: nob...@puremagic.com
ReportedBy: bearophile_h...@eml.cc


--- Comment #0 from bearophile_h...@eml.cc 2013-01-16 02:24:58 PST ---
A small demo program:


import std.stdio: writeln;
struct Foo {
int x;
}
struct Node {
Node* next;
}
void main() {
Foo f = Foo(1);
writeln(Simple struct: , f);
Foo* pf = new Foo(2);
writeln(Struct from pointer: , pf);
Node* ptr = new Node(new Node(null));
writeln(Singly linked list: , ptr);
Node* n1 = new Node(null);
Node* n2 = new Node(n1);
n1.next = n2;
writeln(Circular singly linked list: , n1);
}


Currently prints (dmd 2.062alpha):

Simple struct: Foo(1)
Struct from pointer: 1601F90
Singly linked list: 19C1F80
Circular singly linked list: 1601F60


For debugging, or just during the writing of code, I'd often like to see what's
pointed by those pointers.

So I suggest to enhance Phobos textual formatting a little, to produce
something simple like (on 64 bit pointers are longer):

Simple struct: Foo(1)
Struct from pointer: 1601F90*Foo(2)
Singly linked list: 1601F80*Node(19C1F70*Node(null))
Circular singly linked list: 1551F60*Node(1551F50*Node(1551F60*...))


Notes:
- Numbers like 1551F50 are the pointer values in hex;
- The * helps remember that they are deferenced;
- The  of 1551F50* help better tell apart the pointer from the pointed
data.
- The ellipsis ... in Node(1551F60*...) means that this call to writeln has
already shown what this pointer points to.

- - - - - - - - - - - - - -

This change in textual formatting is not meant to influence the result of %x,
just %s:


import std.stdio: writefln;
struct Foo {
int x;
}
void main() {
Foo* pf = new Foo(100);
writefln(%s, pf);
writefln(%x, pf);
}


Currently prints:

1981F90
1981f90



After that improvement it should print something like:

1581F90*Foo(100)
1581f90

- - - - - - - - - - - - - -

To keep things simple it's better to not follow untyped pointers (void*):


import std.stdio: writefln;
struct Foo {
int x;
}
void main() {
Foo* pf = new Foo(100);
void* ptr = cast(void*)pf;
writefln(%s, pf);
}


It should print just:

1571F90

Or maybe something similar to:

1581F90*void

- - - - - - - - - - - - - -

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


[Issue 9326] writeln to simply show pointed data

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9326


Dmitry Olshansky dmitry.o...@gmail.com changed:

   What|Removed |Added

 CC||dmitry.o...@gmail.com


--- Comment #1 from Dmitry Olshansky dmitry.o...@gmail.com 2013-01-16 
02:53:08 PST ---
(In reply to comment #0)

I don't think that stuffing various debugging trickery into writeln is a good
idea.

What about a dedicated primitive that may (by default!) use more convenient
formating fot this purpose?

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


[Issue 2485] non-static initialization of struct using static initializer syntax generates wrong code

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=2485


Don clugd...@yahoo.com.au changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||WORKSFORME


--- Comment #2 from Don clugd...@yahoo.com.au 2013-01-16 03:06:07 PST ---
Works now, I think it was the same as bug 2850.

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


[Issue 8741] wrong code for struct member initialized using struct constructor

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=8741


Don clugd...@yahoo.com.au changed:

   What|Removed |Added

 CC||slud...@outerproduct.org


--- Comment #4 from Don clugd...@yahoo.com.au 2013-01-16 03:07:00 PST ---
*** Issue 3863 has been marked as a duplicate of this issue. ***

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


[Issue 4269] Regression(2.031): invalid type accepted if evaluated while errors are gagged

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4269


Don clugd...@yahoo.com.au changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution||FIXED


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


[Issue 9326] writeln to simply show pointed data

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9326



--- Comment #2 from bearophile_h...@eml.cc 2013-01-16 03:11:59 PST ---
(In reply to comment #1)

Thank you for your comment.

 I don't think that stuffing various debugging trickery into writeln is a good
 idea.

I keep hearing similar comments since few years ago I asked for a better
printing of associative arrays and arrays in D. But once you give D programmers
such better printing (thanks to Hara work), they seem happy and unwilling to go
back to a more limited printing.

It's not a trick, showing what a pointer points to is printing of a basic
built-in data structure of the language.

Probably I got spoiled by modern dynamic languages, that being often used on
the REPL, enjoy having good default printing.

If you think this enhancement request is not a good idea, you must explain why.
I have explained why it's a handy thing to have.

(The implementation of this feature requires the formatting function to keep a
set of already seen pointers. For simplicity I think a built-in associative
array of void* is enough).


 What about a dedicated primitive that may (by default!) use more convenient
 formating fot this purpose?

Once the improved format() is implemented in Phobos, what's the point of
artificially restricting the usefulness of writeln()?

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


[Issue 9097] Value range propagation to disable some array bound tests

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9097


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

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


--- Comment #1 from yebblies yebbl...@gmail.com 2013-01-16 23:23:26 EST ---
https://github.com/D-Programming-Language/dmd/pull/1493

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


[Issue 9326] writeln to simply show pointed data

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9326



--- Comment #3 from bearophile_h...@eml.cc 2013-01-16 04:48:06 PST ---
Beside dynamic arrays, associative arrays and enums, D writeln is able to print
lazy ranges, so writeln is already rather capable:


import std.stdio, std.range;
void main() {
writeln(iota(6));
}


Shows:

[0, 1, 2, 3, 4, 5]

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


[Issue 9326] writeln to simply show pointed data

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9326



--- Comment #4 from Dmitry Olshansky dmitry.o...@gmail.com 2013-01-16 
04:57:33 PST ---
(In reply to comment #2)
 (In reply to comment #1)
 
 Thank you for your comment.
 
  I don't think that stuffing various debugging trickery into writeln is a 
  good
  idea.
 
 I keep hearing similar comments since few years ago I asked for a better
 printing of associative arrays and arrays in D. But once you give D 
 programmers
 such better printing (thanks to Hara work), they seem happy and unwilling to 
 go
 back to a more limited printing.

What Kenji did was a better printing for ranges in general that is far more
powerful (and better integrated) then arrays.

 
 It's not a trick, showing what a pointer points to is printing of a basic
 built-in data structure of the language.
 
 Probably I got spoiled by modern dynamic languages, that being often used on
 the REPL, enjoy having good default printing.
 
 If you think this enhancement request is not a good idea, you must explain 
 why.
 I have explained why it's a handy thing to have.
 
 (The implementation of this feature requires the formatting function to keep a
 set of already seen pointers. For simplicity I think a built-in associative
 array of void* is enough).
 

It's good that you answered it already: not everybody needs it yet it requires
more complex code to be pulled in for everybody. 

Dynamic languages doesn't ever consider cost-to-benefit ratio it seems.

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


[Issue 5922] immutable and static variables usage in asm{}

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5922


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 CC||yebbl...@gmail.com


--- Comment #2 from yebblies yebbl...@gmail.com 2013-01-17 00:04:57 EST ---
For some reason x's initializer is x = 10 instead of just 10.  Probably a
side effect of some hack.

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


[Issue 9326] writeln to simply show pointed data

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9326



--- Comment #5 from Dmitry Olshansky dmitry.o...@gmail.com 2013-01-16 
05:11:45 PST ---
(In reply to comment #4)
  If you think this enhancement request is not a good idea, you must explain 
  why.
  I have explained why it's a handy thing to have.
  
  (The implementation of this feature requires the formatting function to 
  keep a
  set of already seen pointers. For simplicity I think a built-in associative
  array of void* is enough).
  

BTW if writeln starts allocating GC memory like that we'll have a revolt among 
users. The special case of debugging output doesn't look good enough to
compromise the basic no garabage involved guarantee.

Plus debug prints inside of a finalizer risk killing a program with current GC.
This situation with GC should/might improve in the future though but it's just
another problem to be aware of.

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


[Issue 9320] Non-POD status of a struct correlated to bad inlining.

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9320



--- Comment #1 from Nicolas Sicard dran...@gmail.com 2013-01-16 05:19:13 PST 
---
Note, LDC produces equivalent code in both cases:
---

fldtbyte ptr 028h[RSP]
fldtbyte ptr 018h[RSP]
fldST(0)
fmulST,ST(2)
fxchST(1)
faddpST(2),ST
fdivpST(1),ST
fldtbyte ptr 8[RSP]
fsubpST(1),ST
fstptbyte ptr [RDI]
movAX,[0Eh][RIP]
mov0Eh[RDI],AX
movEAX,[0Ah][RIP]
mov0Ah[RDI],EAX
ret
---

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


[Issue 6319] debug's relaxed purity does not apply to nested scopes

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6319


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 CC||yebbl...@gmail.com
   Platform|x86 |All
 AssignedTo|nob...@puremagic.com|yebbl...@gmail.com
Summary|Problem with prinft inside  |debug's relaxed purity does
   |debug{} of pure function|not apply to nested scopes
 OS/Version|Windows |All


--- Comment #4 from yebblies yebbl...@gmail.com 2013-01-17 00:27:22 EST ---
Reduced:

int x;

void main() pure
{
debug
{
{
x = 0;
}
}
}

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


[Issue 6319] debug's relaxed purity does not apply to nested scopes

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6319


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

   Keywords||pull


--- Comment #5 from yebblies yebbl...@gmail.com 2013-01-17 00:29:30 EST ---
https://github.com/D-Programming-Language/dmd/pull/1494

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


[Issue 6408] string[].init gives a wrong type

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6408


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

   Keywords||pull
 CC||yebbl...@gmail.com
   Platform|x86 |All
 AssignedTo|nob...@puremagic.com|yebbl...@gmail.com
 OS/Version|Windows |All


--- Comment #6 from yebblies yebbl...@gmail.com 2013-01-17 01:00:26 EST ---
T[], T[T] and T[N]

I'm not sure T* can be done like this, but it also produces an error instead of
being ignored silently.

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

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


[Issue 6783] Implicit cast to immutable from pure function

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6783


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||yebbl...@gmail.com
   Platform|x86 |All
 Resolution||DUPLICATE
 OS/Version|Windows |All
   Severity|normal  |enhancement


--- Comment #4 from yebblies yebbl...@gmail.com 2013-01-17 01:07:31 EST ---
*** This issue has been marked as a duplicate of issue 8408 ***

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


[Issue 8408] Purity calculation should be improved

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=8408



--- Comment #12 from yebblies yebbl...@gmail.com 2013-01-17 01:07:31 EST ---
*** Issue 6783 has been marked as a duplicate of this issue. ***

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


[Issue 9230] Incorrect implicit immutable conversion occurs in pure function

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9230



--- Comment #8 from yebblies yebbl...@gmail.com 2013-01-17 01:11:52 EST ---
Issue 8998 is related

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


[Issue 8408] Purity calculation should be improved

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=8408


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 CC||yebbl...@gmail.com


--- Comment #13 from yebblies yebbl...@gmail.com 2013-01-17 01:14:02 EST ---
Is issue 8998 a regression caused by this patch?

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


[Issue 8357] ICE instantiating template inside of a unittest

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=8357


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||yebbl...@gmail.com
 Resolution||FIXED


--- Comment #1 from yebblies yebbl...@gmail.com 2013-01-17 01:24:21 EST ---
Cannot reproduce with dmd 2.062 head

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


[Issue 8357] ICE instantiating template inside of a unittest

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=8357


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 Resolution|FIXED   |WORKSFORME


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


[Issue 5038] Change class 'invariant' syntax to emulate 'unittest'

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5038


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||yebbl...@gmail.com
 Resolution||DUPLICATE


--- Comment #2 from yebblies yebbl...@gmail.com 2013-01-17 01:28:15 EST ---
The parentheses are necessary, because without them invariant is a deprecated
alias for immutable.

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

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


[Issue 8128] unittest blocks should be allowed in interfaces

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=8128


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||yebbl...@gmail.com
 Resolution||FIXED


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


[Issue 6566] Length of run-time constant array

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6566


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||yebbl...@gmail.com
 Resolution||WORKSFORME


--- Comment #1 from yebblies yebbl...@gmail.com 2013-01-17 01:48:32 EST ---
This seems to work now with 2.062 head

Unlike the similar problem in issue 5922

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


[Issue 6708] immutable ref implicit cast to const ref

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6708


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

   Keywords||pull
 CC||yebbl...@gmail.com
   Platform|x86 |All
 AssignedTo|nob...@puremagic.com|yebbl...@gmail.com
 OS/Version|Windows |All


--- Comment #1 from yebblies yebbl...@gmail.com 2013-01-17 01:58:11 EST ---
Only the first one gives an error now.  Happening because the const-folder is
overly aggressive.

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

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


[Issue 6794] ICE(expression.c): with inout

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6794


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||yebbl...@gmail.com
 Resolution||WORKSFORME
   Severity|normal  |critical


--- Comment #2 from yebblies yebbl...@gmail.com 2013-01-17 02:01:32 EST ---
No crash for me with 2.062 head on win32.

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


[Issue 6795] ICE(cgcs.c): Incrementing an enum array item

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6795


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 CC||yebbl...@gmail.com
   Severity|normal  |critical


--- Comment #1 from yebblies yebbl...@gmail.com 2013-01-17 02:02:27 EST ---
Still exists with 2.062 head

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


[Issue 7225] immutable argument by const ref

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7225


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||yebbl...@gmail.com
 Resolution||DUPLICATE


--- Comment #1 from yebblies yebbl...@gmail.com 2013-01-17 02:06:19 EST ---
*** This issue has been marked as a duplicate of issue 6708 ***

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


[Issue 6708] immutable ref implicit cast to const ref

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6708



--- Comment #2 from yebblies yebbl...@gmail.com 2013-01-17 02:06:19 EST ---
*** Issue 7225 has been marked as a duplicate of this issue. ***

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


[Issue 7226] Refused pure nothrow ctor syntax

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7226


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 CC||yebbl...@gmail.com


--- Comment #1 from yebblies yebbl...@gmail.com 2013-01-17 02:08:02 EST ---
Basically the same thing as issue 6415, also applies to unittests

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


[Issue 7570] Missing error in ctfe for dereferencing a pointer passed as a parameter

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7570



--- Comment #3 from yebblies yebbl...@gmail.com 2013-01-17 02:11:46 EST ---
Now fails with:
DMD v2.062 DEBUG
testx.d(4):called from here: contains(froogler)
testx.d(4): Error: static assert  (!contains(froogler)) is not evaluatable at
compile time

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


[Issue 7837] A refused opBinaryRight(in) with bad error message

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7837


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||yebbl...@gmail.com
 Resolution||DUPLICATE


--- Comment #1 from yebblies yebbl...@gmail.com 2013-01-17 02:14:10 EST ---
*** This issue has been marked as a duplicate of issue 3905 ***

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


[Issue 3905] Wrong error message with wrong opBinary(in)

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3905



--- Comment #6 from yebblies yebbl...@gmail.com 2013-01-17 02:14:10 EST ---
*** Issue 7837 has been marked as a duplicate of this issue. ***

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


[Issue 8100] [ICE] with templated subclassing

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=8100


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 CC||yebbl...@gmail.com


--- Comment #1 from yebblies yebbl...@gmail.com 2013-01-17 02:18:03 EST ---
No ice with 2.062

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


[Issue 8111] [ICE] With templated recursive return-inferred function

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=8111


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 CC||yebbl...@gmail.com


--- Comment #1 from yebblies yebbl...@gmail.com 2013-01-17 02:18:24 EST ---
No ice with 2.062

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


[Issue 8374] One missed array literal interpretation as int[2]

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=8374


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 CC||yebbl...@gmail.com


--- Comment #4 from yebblies yebbl...@gmail.com 2013-01-17 02:22:44 EST ---
Is this the same as issue 8277?

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


[Issue 8149] Possible forward reference mistake

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=8149


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||yebbl...@gmail.com
 Resolution||WORKSFORME


--- Comment #1 from yebblies yebbl...@gmail.com 2013-01-17 02:20:21 EST ---
No error with 2.062

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


[Issue 8690] Can't access a global enum size_t from a pure function

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=8690


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 CC||yebbl...@gmail.com
   Platform|x86 |All
 OS/Version|Windows |All


--- Comment #1 from yebblies yebbl...@gmail.com 2013-01-17 02:28:05 EST ---
While this probably should work, it's tricky to implement because semantic has
to work out what foo is to find length, and that triggers the purity check
_long_ before it works out length is constant.

Workaround: use typeof(foo).length

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


[Issue 9107] Value Range Analysis with uint and byte

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9107


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 CC||yebbl...@gmail.com


--- Comment #1 from yebblies yebbl...@gmail.com 2013-01-17 02:31:56 EST ---
Range of a2 % 200: ( 0 to 200 )
Range of byte: ( -128 to 127 )

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


[Issue 6654] Fixed-sized array length not accessible in pure functions

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6654



--- Comment #1 from yebblies yebbl...@gmail.com 2013-01-17 02:34:55 EST ---
*** Issue 8690 has been marked as a duplicate of this issue. ***

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


[Issue 8690] Can't access a global enum size_t from a pure function

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=8690


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||DUPLICATE


--- Comment #2 from yebblies yebbl...@gmail.com 2013-01-17 02:34:55 EST ---
*** This issue has been marked as a duplicate of issue 6654 ***

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


[Issue 8583] [64 bit] AA ushort[dchar] byValue range is corrupted on x86_64

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=8583


Simon Harris pearfa...@googlemail.com changed:

   What|Removed |Added

 CC||pearfa...@googlemail.com


--- Comment #4 from Simon Harris pearfa...@googlemail.com 2013-01-16 07:37:10 
PST ---
Something interesting I found in rt/aaA.d, line 106: aligntsize() on 64-bit
compilation returns a value aligned to 16 bytes. _aaGetX uses this function on
key sizes when creating new elements. So for AAs whose key is = 8 bytes, the
value is still 16 bytes further on in memory.

You can check this by repeating the same alignment trick on the addresses of
byValue.front:

void testAAType(K, V)(V[K] aa)
{
writefln(testAAType with key %s, value %s, typeid(K), typeid(V));

for (auto v = aa.byValue; !v.empty; v.popFront()) { // emulated foreach (v
; aa.byValue)
V* fp = v.front();
writef(Unaligned: %s, *fp);

V* fpaligned = cast(V*) (( (cast(ptrdiff_t) fp) + 15)  ~15); // copy
what aligntsize does on x64

version(D_LP64) {
writefln(; Aligned: %s, *fp.alignto16());
}
else {
writefln( (Not testing aligned value on a 32-bit executable));
}
}
}

Looking at the key sizes seems to match the pass/fail results in comment #2,
with one exception: ushort[uint[3]]. Not sure why the alignment trick is needed
here, given that uint[3].sizeof  8. Maybe DMD aligns
AssociativeArray!(uint[3], ushort).Slot to 4 bytes to save space, and since
_aaGetX uses a completely different type set, alignment info gets lost
somewhere.

Tested with DMD 2.060 and 2.061 on OS X 10.8.2.

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


[Issue 7226] Refused pure nothrow ctor syntax

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7226


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||DUPLICATE


--- Comment #2 from yebblies yebbl...@gmail.com 2013-01-17 02:37:10 EST ---
*** This issue has been marked as a duplicate of issue 6677 ***

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


[Issue 6677] static this attributes position

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6677



--- Comment #1 from yebblies yebbl...@gmail.com 2013-01-17 02:37:10 EST ---
*** Issue 7226 has been marked as a duplicate of this issue. ***

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


[Issue 9326] writeln to simply show pointed data

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9326



--- Comment #7 from bearophile_h...@eml.cc 2013-01-16 09:54:23 PST ---
(In reply to comment #4)

 What Kenji did was a better printing for ranges in general that is far more
 powerful (and better integrated) then arrays.

Kenji (with help from others) has done many things on the writeln, like
improving string printing, improving array printing, significantly improving
associative array printing (maybe introducing xformat too). And I think he has
added the printing for lazy ranges. He has also improved or added the printing
of struct literals, improved the output in presence of const/immutable,
improved the function literals, and other important details.


 It's good that you answered it already: not everybody needs it yet it requires
 more complex code to be pulled in for everybody. 

That's mostly true for every improvement listed above. There is also
printf/puts.


 Dynamic languages doesn't ever consider cost-to-benefit ratio it seems.

considering how much common they are (and they are becoming) it seems a good
deal. (But they usually don't have chains of raw pointers).

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


[Issue 6408] string[].init gives a wrong type

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6408



--- Comment #7 from bearophile_h...@eml.cc 2013-01-16 09:58:21 PST ---
(In reply to comment #6)

 I'm not sure T* can be done like this, but it also produces an error instead 
 of
 being ignored silently.

Thank you.
In the unittests have you added a test case that shows such error message?

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


[Issue 5038] Change class 'invariant' syntax to emulate 'unittest'

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5038



--- Comment #3 from bearophile_h...@eml.cc 2013-01-16 10:01:17 PST ---
(In reply to comment #2)
 The parentheses are necessary, because without them invariant is a deprecated
 alias for immutable.

Eventually that alternative meaning will go away, so invariant for
structs/class instances will be free to drop the useless ().

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


[Issue 7570] Missing error in ctfe for dereferencing a pointer passed as a parameter

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7570


bearophile_h...@eml.cc changed:

   What|Removed |Added

   Keywords|diagnostic  |


--- Comment #4 from bearophile_h...@eml.cc 2013-01-16 10:08:45 PST ---
I remove the diagnostic tag because the diagnostic now seems acceptable.

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


[Issue 8100] [ICE] with templated subclassing

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=8100


bearophile_h...@eml.cc changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||WORKSFORME


--- Comment #2 from bearophile_h...@eml.cc 2013-01-16 10:11:55 PST ---
Now it gives:

temp.d(1): Error: no property 'Q' for type 'temp.Bar!(bool).Bar'
temp.d(1): Error: T1.Q is used as a type
temp.d(2): Error: template instance temp.Foo!(Bar) error instantiating
temp.d(3):instantiated from here: Bar!(bool)
temp.d(3): Error: template instance temp.Bar!(bool) error instantiating


Closed.

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


[Issue 9327] New: alias this declaration and unknown identifiers lead to segmentation fault

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9327

   Summary: alias this declaration and unknown identifiers lead to
segmentation fault
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: tvwhit...@gmail.com


--- Comment #0 from tvwhit...@gmail.com 2013-01-16 11:04:18 PST ---
If two classes alias this each other and their is an unknown identifier DMD
will fail with segmentation fault: 11. This is on DMD 2.061, Mac OS X 10.8.2.

Example:

class foo {
bar fun;
alias fun this;

this() {
fun = new bar(this);
fun.a = 5; //remove this line and the program will compile.
}
}

class bar {
foo sun;
alias sun this;

this(foo t) {
sun = t;
}
}

void main() {
foo fun = new foo;
}

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


[Issue 9195] Should not be able to index a pointer in safed

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9195



--- Comment #8 from github-bugzi...@puremagic.com 2013-01-16 11:50:29 PST ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/3d5b45196c687b714928954b027ef2944ca0beac
Fix Issue 9195 - Should not be able to index a pointer in safed

Allow pointer arithmetic when using an offset that is known to be zero

https://github.com/D-Programming-Language/dmd/commit/381bddf74ba9ddbd298491c182cc58043958f455
Merge pull request #1492 from yebblies/issue9195

Fix Issue 9195 - Should not be able to index a pointer in safed

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


[Issue 5461] Invalid declaration for auto functions in .di files generated by DMD -H

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5461


Walter Bright bugzi...@digitalmars.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||bugzi...@digitalmars.com
   Platform|Other   |All
 Resolution||FIXED


--- Comment #6 from Walter Bright bugzi...@digitalmars.com 2013-01-16 
14:59:22 PST ---
https://github.com/D-Programming-Language/dmd/pull/1487

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


[Issue 1427] Generated .di files look ugly and are hard to read

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=1427



--- Comment #4 from Walter Bright bugzi...@digitalmars.com 2013-01-16 
14:59:56 PST ---
https://github.com/D-Programming-Language/dmd/pull/1487

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


[Issue 9328] New: Use advice from Google PageSpeed Insights

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9328

   Summary: Use advice from Google PageSpeed Insights
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: enhancement
  Priority: P2
 Component: websites
AssignedTo: nob...@puremagic.com
ReportedBy: peter.alexander...@gmail.com


--- Comment #0 from Peter Alexander peter.alexander...@gmail.com 2013-01-16 
15:59:34 PST ---
Google has a tool for analyzing website performance. It gives advice that can
be used to make sure pages load as fast as possible, and to minimize bandwidth.
Following this advice would improve the user experience.

Here is what it shows for dlang.org

https://developers.google.com/speed/pagespeed/insights#url=dlang.orgmobile=false

Highlights:

Compressing the following resources with gzip could reduce their transfer size
by 157.5KiB (67% reduction).
Compressing http://dlang.org/js/codemirror.js could save 82.5KiB (73%
reduction).
Compressing http://dlang.org/js/hyphenate.js could save 32.6KiB (55%
reduction).
Compressing http://dlang.org/ could save 13.2KiB (68% reduction).
Compressing http://dlang.org/js/run.js could save 11.8KiB (73% reduction).
Compressing http://dlang.org/css/style.css could save 9.9KiB (73% reduction).
Compressing http://dlang.org/js/d.js could save 4.1KiB (68% reduction).
Compressing http://dlang.org/css/codemirror.css could save 3KiB (66%
reduction).
Compressing http://dlang.org/js/run-main-website.js could save 319B (41%
reduction).

The following cacheable resources have a short freshness lifetime. Specify an
expiration at least one week in the future for the following resources:
http://dlang.org/css/codemirror.css (expiration not specified)
http://dlang.org/css/print.css (expiration not specified)
http://dlang.org/css/style.css (expiration not specified)
http://dlang.org/images/dlogo.png (expiration not specified)
http://dlang.org/images/gradient-red.jpg (expiration not specified)
http://dlang.org/images/search-bg.gif (expiration not specified)
http://dlang.org/images/search-button.gif (expiration not specified)
http://dlang.org/images/search-left.gif (expiration not specified)
http://dlang.org/js/codemirror.js (expiration not specified)
http://dlang.org/js/d.js (expiration not specified)
http://dlang.org/js/hyphenate.js (expiration not specified)
http://dlang.org/js/run-main-website.js (expiration not specified)
http://dlang.org/js/run.js (expiration not specified)

Minifying the following JavaScript resources could reduce their size by 46.2KiB
(18% reduction).
Minifying http://dlang.org/js/codemirror.js could save 36.8KiB (33% reduction).
Minifying http://dlang.org/js/run.js could save 4.7KiB (30% reduction).
Minifying http://dlang.org/js/hyphenate.js could save 2.7KiB (5% reduction).
Minifying http://dlang.org/js/d.js could save 1.4KiB (24% reduction).
Minifying http://translate.googleapis.com/.../element_main.js could save 512B
(1% reduction) after compression.

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


[Issue 6408] string[].init gives a wrong type

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6408



--- Comment #8 from yebblies yebbl...@gmail.com 2013-01-17 11:35:14 EST ---
(In reply to comment #7)
 (In reply to comment #6)
 
  I'm not sure T* can be done like this, but it also produces an error 
  instead of
  being ignored silently.
 
 Thank you.
 In the unittests have you added a test case that shows such error message?

For:

auto x = string*.init;

You get:

testx.d(3): Error: undefined identifier 'init'

Because it is parsed as (string) * (.init).  To me it is much more clear that
string*.init is invalid code compared to string[].init.

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


[Issue 5038] Allow declaring class invariant without parentheses

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5038


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
   Platform|Other   |All
 Resolution|DUPLICATE   |
Summary|Change class 'invariant'|Allow declaring class
   |syntax to emulate   |invariant without
   |'unittest'  |parentheses
 OS/Version|Windows |All


--- Comment #4 from yebblies yebbl...@gmail.com 2013-01-17 11:41:39 EST ---
Fair enough.

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


[Issue 5038] Allow declaring class invariant without parentheses

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5038


Andrej Mitrovic andrej.mitrov...@gmail.com changed:

   What|Removed |Added

 CC||andrej.mitrov...@gmail.com


--- Comment #5 from Andrej Mitrovic andrej.mitrov...@gmail.com 2013-01-16 
16:46:22 PST ---
(In reply to comment #4)
 Fair enough.

The deprecation page lists it as deprecated since 2.057, but the Error and Gone
dates are empty. I'm not sure what the plan is, but I doubt there's any
*compilable* D2 code out there that actually uses invariant instead of
immutable.

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


[Issue 5038] Allow declaring class invariant without parentheses

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5038



--- Comment #6 from yebblies yebbl...@gmail.com 2013-01-17 11:55:15 EST ---
(In reply to comment #5)
 The deprecation page lists it as deprecated since 2.057, but the Error and 
 Gone
 dates are empty. I'm not sure what the plan is, but I doubt there's any
 *compilable* D2 code out there that actually uses invariant instead of
 immutable.

The general idea is to leave at least six months between deprecation stages. 
The version numbers are missing because there is no fixed release schedule, and
no guarantee the change would be pulled in time to match any projected date.

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


[Issue 5529] std.system.endian for pure functions?

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5529


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||yebbl...@gmail.com
 Resolution||FIXED


--- Comment #2 from yebblies yebbl...@gmail.com 2013-01-17 12:33:40 EST ---
Fixed a while ago

https://github.com/D-Programming-Language/phobos/commit/57249b4378280e67b2a66be28f939c86a0dee78a

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


[Issue 5541] Disallow escaping of references to stack-allocated memory

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5541


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution||WORKSFORME


--- Comment #3 from yebblies yebbl...@gmail.com 2013-01-17 12:36:55 EST ---
None of this compiles any more with 2.062 head

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


[Issue 9329] New: unexpected 'int' in error message

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9329

   Summary: unexpected 'int' in error message
   Product: D
   Version: D1  D2
  Platform: All
OS/Version: All
Status: NEW
  Keywords: diagnostic
  Severity: minor
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: kekeni...@yahoo.co.jp


--- Comment #0 from kekeni...@yahoo.co.jp 2013-01-16 17:47:30 PST ---
This problem is a trivial unless it causes any other worse.

class Dummy {
invariant() const { } // wrong 'const'
}

This code gets some error messages,
including an unexpected one: Error: no identifier for declarator int.

Where 'int' comes from?
It shows that an uninitialized value is exposed, I suspect.

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


[Issue 9325] writeln of const class instance

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9325


Andrej Mitrovic andrej.mitrov...@gmail.com changed:

   What|Removed |Added

 CC||andrej.mitrov...@gmail.com
   Platform|x86 |All
 OS/Version|Windows |All


--- Comment #1 from Andrej Mitrovic andrej.mitrov...@gmail.com 2013-01-16 
17:56:16 PST ---
The platform fields are not relevant unless it's a platform-specific problem.

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


[Issue 8345] Odd error for using 08 literal

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=8345


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||yebbl...@gmail.com
 Resolution||DUPLICATE


--- Comment #1 from yebblies yebbl...@gmail.com 2013-01-17 13:13:11 EST ---
*** This issue has been marked as a duplicate of issue 6033 ***

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


[Issue 5943] Power expression optimisation: 2^^unsigned == 1unsigned

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5943


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

   Keywords||pull
 CC||yebbl...@gmail.com
 AssignedTo|nob...@puremagic.com|yebbl...@gmail.com
 OS/Version|Windows |All


--- Comment #1 from yebblies yebbl...@gmail.com 2013-01-17 13:11:23 EST ---
https://github.com/D-Programming-Language/dmd/pull/1498

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


[Issue 6033] Better error message with numbers with leading zeros

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6033


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 CC||jmdavisp...@gmx.com


--- Comment #1 from yebblies yebbl...@gmail.com 2013-01-17 13:13:12 EST ---
*** Issue 8345 has been marked as a duplicate of this issue. ***

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


[Issue 6528] Private module functions optimizations

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6528


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 CC||yebbl...@gmail.com


--- Comment #3 from yebblies yebbl...@gmail.com 2013-01-17 13:36:39 EST ---
The first case here is already done by the linker.

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


[Issue 7034] Infinite foreach on array

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7034


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||yebbl...@gmail.com
 Resolution||DUPLICATE


--- Comment #2 from yebblies yebbl...@gmail.com 2013-01-17 13:54:13 EST ---
*** This issue has been marked as a duplicate of issue 5725 ***

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


[Issue 5725] ubyte/ushort infinite foreach loops

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5725



--- Comment #2 from yebblies yebbl...@gmail.com 2013-01-17 13:54:13 EST ---
*** Issue 7034 has been marked as a duplicate of this issue. ***

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


[Issue 8293] Small amount of static analysis to avoid certain destructor bugs

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=8293


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 CC||yebbl...@gmail.com


--- Comment #1 from yebblies yebbl...@gmail.com 2013-01-17 13:59:22 EST ---
The problem is that using the gc in a destructor is perfectly valid for two
reasons:
- InvalidMemoryOperationError is just an implementation deficiency
- You can manually call the destructor

The first reason will go away eventually.

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


[Issue 7840] $ property for arrays

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7840


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 CC||yebbl...@gmail.com


--- Comment #1 from yebblies yebbl...@gmail.com 2013-01-17 13:56:38 EST ---
I would consider this a bad idea, but that's just me.

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


[Issue 8964] One infinite loop with foreach

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=8964


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||yebbl...@gmail.com
 Resolution||DUPLICATE


--- Comment #1 from yebblies yebbl...@gmail.com 2013-01-17 14:02:25 EST ---
Again!

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

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


[Issue 5725] ubyte/ushort infinite foreach loops

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5725



--- Comment #3 from yebblies yebbl...@gmail.com 2013-01-17 14:02:25 EST ---
*** Issue 8964 has been marked as a duplicate of this issue. ***

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


[Issue 3632] modify float is float to do a bitwise compare

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3632



--- Comment #28 from yebblies yebbl...@gmail.com 2013-01-17 16:08:29 EST ---
New (and hopefully last) pull
https://github.com/D-Programming-Language/dmd/pull/1499

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


[Issue 6902] Different pure nothrow int() types

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6902


Martin Nowak c...@dawg.eu changed:

   What|Removed |Added

 CC||c...@dawg.eu


--- Comment #5 from Martin Nowak c...@dawg.eu 2013-01-16 21:26:47 PST ---
*** Issue 6600 has been marked as a duplicate of this issue. ***

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


[Issue 6600] unrelated expression alters function name mangling

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6600


Martin Nowak c...@dawg.eu changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||DUPLICATE


--- Comment #3 from Martin Nowak c...@dawg.eu 2013-01-16 21:26:47 PST ---
*** This issue has been marked as a duplicate of issue 6902 ***

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


[Issue 6902] Different pure nothrow int() types

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6902



--- Comment #6 from Martin Nowak c...@dawg.eu 2013-01-16 21:28:49 PST ---
cat  bug.d  CODE
void a()
{
function void() { }();
}

void b()
{
static void safe_nothrow() @safe nothrow pure { }
auto f = safe_nothrow;
enum mangle = typeof(*f).mangleof;
static assert(mangle == FNaNbNfZv, mangle);
}
CODE

dmd -c bug



I've actually found a new failing test case for this.

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


[Issue 3796] Result of .stringof is affected by unrelated function declarations

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3796


Martin Nowak c...@dawg.eu changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||c...@dawg.eu
 Resolution||DUPLICATE


--- Comment #5 from Martin Nowak c...@dawg.eu 2013-01-16 21:39:05 PST ---
*** This issue has been marked as a duplicate of issue 6902 ***

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


[Issue 6902] Different pure nothrow int() types

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6902



--- Comment #7 from Martin Nowak c...@dawg.eu 2013-01-16 21:39:05 PST ---
*** Issue 3796 has been marked as a duplicate of this issue. ***

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


[Issue 9330] New: Cannot run dmd test suite with MSYS

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9330

   Summary: Cannot run dmd test suite with MSYS
   Product: D
   Version: unspecified
  Platform: x86_64
OS/Version: Windows
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: k.hara...@gmail.com


--- Comment #0 from Kenji Hara k.hara...@gmail.com 2013-01-16 21:44:49 PST ---
DMD fails to invoke LINK.EXE for the build of `d_do_test.d`.

config file (C:\Users\khara\sc.ini) :
---
[Version]
version=7.51 Build 020

[Environment]
LIB=%HOME%\dmd2\windows\lib;%HOME%\dm\lib
DFLAGS=-I%HOME%\dmd2\src\phobos -I%HOME%\dmd2\src\druntime\import
LINKCMD=%HOME%\dmd2\windows\bin\link.exe
---

environment variables:
---
 echo %HOME%
C:\Users\khara

command lines and outputs:
---
 cd C:\Users\khara\dmd2\src\dmd\test  # move to test directory
 C:\MinGW\msys\1.0\bin\make   # run makefile with GNU make in MSYS
Creating output directory: test_results
Building d_do_test tool
OS: win32
OPTLINK (R) for Win32  Release 8.00.12
Copyright (C) Digital Mars 1989-2010  All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
OPTLINK : Warning 9: Unknown Option : KHARA\DMD2\WINDOWS\BIN\LINK.EXE
Users.obj
 Error 2: File Not Found Users.obj
--- errorlevel 1
make: *** [test_results/d_do_test] Error 1




That is a specific problem for the MSYS environment. With cygwin environment,
the problem does not occur.

When dmd invoked from MSYS make, getenv(HOME) returns C:/Users/khara
instead of C:\Users\khara (note that the path separator difference).

MinGW bug tracker report:
http://sourceforge.net/tracker/?func=detailatid=102435aid=1100932group_id=2435

When reading sc.ini, DMD will try to expanding %HOME% environment variable for
LINKCMD, but it is expanded to C:/Users/khara\dmd2\windows\bin\link.exe under
the MSYS, then dmd fails to invoke link command which has the mixtured path
separators.

From the MSYS source code, LD_LIBRARY_PATH, TMPDIR, TMP, and TEMP have same
issue.
http://mingw.git.sourceforge.net/git/gitweb.cgi?p=mingw/msys-runtime;a=blob;f=winsup/cygwin/environ.cc;h=b88ca3d39d8d77a4d38be3fcd09e2fa8bbd0c265;hb=77f2469b25911ceebae6741cbd2fa1b0ff6b1d6e#l61

So, this is not actually the bug of DMD, but I think we should add a workaround
to support development with MSYS.

To resolve the problem, DMD should normalize path separator on the link command
invocation.

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


[Issue 9330] Cannot run dmd test suite with MSYS

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9330


Kenji Hara k.hara...@gmail.com changed:

   What|Removed |Added

   Keywords||pull


--- Comment #1 from Kenji Hara k.hara...@gmail.com 2013-01-16 21:54:18 PST ---
https://github.com/D-Programming-Language/dmd/pull/1500

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


[Issue 9331] New: incorrect ulong.max value

2013-01-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9331

   Summary: incorrect ulong.max value
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: g.sa...@yahoo.es


--- Comment #0 from Jordi Sayol g.sa...@yahoo.es 2013-01-16 23:52:53 PST ---
When compiling this code to 64-bit.

app.d

import std.stdio;

void main()
{
ubyte u1 = cast(byte)-1;
byte u2 = cast(short)-1;
uint u3 = cast(int)-1;
int u4 = cast(long)-1;
writefln(%d, u1);
writefln(%d, u2);
writefln(%d, u3);
writefln(%d\n, u4);

writefln(long.sizeof: %d  ulong.max: %20d, ulong.sizeof, ulong.max);
writefln(long.sizeof: %d   long max: %20d, long.sizeof, long.max);
}


Prints this:

255
-1
4294967295
-1

long.sizeof: 8  ulong.max:   4294967295
long.sizeof: 8   long max:  9223372036854775807


ulong.max value is incorrect

Tested with dmd version 2.056, 2.057, 2.058, 2.059, 2.060 and 2.061 

No problem when compiling to 32-bit.

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