[Issue 2717] alloca(0) leaves stack unaligned on OSX

2013-08-31 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=2717


Lionello Lunesu  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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


[Issue 10451] Array of pointers to opaque struct gives forward reference errors.

2013-08-31 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10451



--- Comment #4 from Manu  2013-08-31 23:00:46 PDT ---
(In reply to comment #3)
> Manu meant this: :)
> 
>   http://d.puremagic.com/issues/show_bug.cgi?id=10766

Haha, thx ;)

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


[Issue 10451] Array of pointers to opaque struct gives forward reference errors.

2013-08-31 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10451


Ali Cehreli  changed:

   What|Removed |Added

 CC||acehr...@yahoo.com


--- Comment #3 from Ali Cehreli  2013-08-31 20:05:39 PDT ---
Manu meant this: :)

  http://d.puremagic.com/issues/show_bug.cgi?id=10766

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


[Issue 5849] std.random.dice is better as a range

2013-08-31 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5849



--- Comment #9 from bearophile_h...@eml.cc 2013-08-31 19:47:44 PDT ---
Also, why is the random generator engine the first optional argument of dice(),
while it's the last for uniform()?

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


[Issue 10938] New: ICE on recursive instantiation in opDispatch

2013-08-31 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10938

   Summary: ICE on recursive instantiation in opDispatch
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Keywords: ice
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: andrej.mitrov...@gmail.com


--- Comment #0 from Andrej Mitrovic  2013-08-31 
18:38:28 PDT ---
-
class C
{
this()
{
this.opts["opts"] = 1;
}

auto opDispatch(string field : "opts")()
{
return this.opts;  // should likely be a CT error instead
}
}

void main()
{
}
-

Stack trace:

0018e610 00497af9 image0040!FuncDeclaration::semantic3+0x1612
[C:\dmd-git\dmd2\src\dmd\src\func.c @ 1281]
0018e648 004951ee image0040!TemplateInstance::semantic3+0xe9
[C:\dmd-git\dmd2\src\dmd\src\template.c @ 6915]
0018e680 00495c6f image0040!TemplateInstance::trySemantic3+0x79
[C:\dmd-git\dmd2\src\dmd\src\template.c @ 5319]
0018e790 00494fd5 image0040!TemplateInstance::semantic+0xa20
[C:\dmd-git\dmd2\src\dmd\src\template.c @ 5725]
0018e7a4 00418a8f image0040!TemplateInstance::semantic+0x14
[C:\dmd-git\dmd2\src\dmd\src\template.c @ 5246]
0018e8d8 0042eaf4 image0040!DotTemplateInstanceExp::semanticY+0x337
[C:\dmd-git\dmd2\src\dmd\src\expression.c @ 8125]
0018e948 0043c033 image0040!Type::noMember+0x290
[C:\dmd-git\dmd2\src\dmd\src\mtype.c @ 2240]
0018ebb4 00417b74 image0040!TypeClass::dotExp+0x974
[C:\dmd-git\dmd2\src\dmd\src\mtype.c @ 8717]
0018ece4 00416c55 image0040!DotIdExp::semanticY+0xb07
[C:\dmd-git\dmd2\src\dmd\src\expression.c @ 7722]
0018ed00 00420e45 image0040!DotIdExp::semantic+0x14
[C:\dmd-git\dmd2\src\dmd\src\expression.c @ 7391]
0018f070 004ce5bd image0040!AssignExp::semantic+0x10a
[C:\dmd-git\dmd2\src\dmd\src\expression.c @ 11046]
0018f090 004cee1e image0040!ExpStatement::semantic+0x28
[C:\dmd-git\dmd2\src\dmd\src\statement.c @ 385]
0018f258 004a279e image0040!CompoundStatement::semantic+0xcd
[C:\dmd-git\dmd2\src\dmd\src\statement.c @ 623]
0018fa24 004bf9d1 image0040!FuncDeclaration::semantic3+0x13c1
[C:\dmd-git\dmd2\src\dmd\src\func.c @ 1255]
0018fa9c 00440914 image0040!AggregateDeclaration::semantic3+0x9c
[C:\dmd-git\dmd2\src\dmd\src\struct.c @ 130]
0018facc 004051c5 image0040!Module::semantic3+0xc1
[C:\dmd-git\dmd2\src\dmd\src\module.c @ 812]
0018ff0c 00405a61 image0040!tryMain+0x2c67
[C:\dmd-git\dmd2\src\dmd\src\mars.c @ 1512]
0018ff48 0057ae2d image0040!main+0x43 [C:\dmd-git\dmd2\src\dmd\src\mars.c @
1725]

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


[Issue 10937] New: struct inside union gives uninitialized error in CTFE

2013-08-31 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10937

   Summary: struct inside union gives uninitialized error in CTFE
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: destructiona...@gmail.com


--- Comment #0 from Adam D. Ruppe  2013-08-31 
18:29:57 PDT ---
===

struct Test {
union {
ubyte[1] a;
struct {
ubyte b;
}
}

this(ubyte B) {
this.b = B; // this triggers the error below
// this.a[0] = B; // this works
}
}

enum test = Test(0); // test30.d(9): Error: uninitialized variable 'b' cannot
be returned from CTFE

===

Both constructor lines work fine at runtime.

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


[Issue 5849] std.random.dice is better as a range

2013-08-31 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5849



--- Comment #8 from bearophile_h...@eml.cc 2013-08-31 17:47:46 PDT ---
(In reply to comment #7)

> import std.stdio, std.random, std.range;
> void main() {
> immutable probabilities = [0.2, 0.6, 0.1, 0.1];
> immutable values = "ACGT";
> probabilities.diceRange(values).take(10).writeln;
> }
> 
> 
> This is quite handy.

If the second optional argument is not supported, then the code becomes:


import std.stdio, std.random, std.range;
void main() {
immutable probabilities = [0.2, 0.6, 0.1, 0.1];
immutable values = "ACGT";
probabilities.diceRange.map!(i => values[i]).take(10).writeln;
}


But I am not sure it's strictly equivalent.

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


[Issue 10766] Variant does not accept pointers to incomplete (opaque) types

2013-08-31 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10766



--- Comment #2 from Manu  2013-08-31 17:45:38 PDT ---
http://d.puremagic.com/issues/show_bug.cgi?id=10451

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


[Issue 10451] Array of pointers to opaque struct gives forward reference errors.

2013-08-31 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10451


Manu  changed:

   What|Removed |Added

 CC||turkey...@gmail.com


--- Comment #2 from Manu  2013-08-31 17:45:25 PDT ---
http://d.puremagic.com/issues/show_bug.cgi?id=10451

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


[Issue 5849] std.random.dice is better as a range

2013-08-31 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5849



--- Comment #7 from bearophile_h...@eml.cc 2013-08-31 17:44:25 PDT ---
If we don't want to break the API of dice() making it a range, a simple
solution is to call the dice range "diceRange" and keep both (but perhaps dice
becomes a small function that returns diceRange.front).

Another interesting suggestion: in my code I've seen that most times I want to
use a dice/diceRange I have to map its result on the items of an array:


import std.stdio, std.random;
void main() {
immutable probabilities = [0.2, 0.6, 0.1, 0.1];
immutable values = "ACGT";
foreach (_; 0 .. 10)
values[probabilities.dice].write;
}


That outputs something similar to:
CGCCAAACCC


So an improvement for diceRange() is to accept as first argument the range of
probabilities, and as second optional argument a range of items. If the second
argument is not given, then it generates integers as dice(). If the second
argument is given, then it yields the items, according to their probabilities.
So that program becomes:


import std.stdio, std.random, std.range;
void main() {
immutable probabilities = [0.2, 0.6, 0.1, 0.1];
immutable values = "ACGT";
probabilities.diceRange(values).take(10).writeln;
}


This is quite handy.

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


[Issue 10766] Variant does not accept pointers to incomplete (opaque) types

2013-08-31 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10766


Manu  changed:

   What|Removed |Added

 CC||turkey...@gmail.com


--- Comment #1 from Manu  2013-08-31 17:43:23 PDT ---
Same issue perhaps?


struct MyStruct;

MyStruct*[] arrayOfPointers;

arrayOfPointers ~= null; // fail
arrayOfPointers = new MyStruct*[n]; // also fail

Complains:
Error: struct MyStruct is forward referenced when looking for 'toHash'
Error: struct MyStruct is forward referenced when looking for 'opCmp'
Error: struct MyStruct is forward referenced when looking for 'toString'
Error: struct MyStruct unknown size
Error: struct MyStruct no size yet for forward reference
Error: struct MyStruct unknown size
Error: struct MyStruct no size yet for forward reference

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


[Issue 10819] Invalid comparison for equality of lambda functions

2013-08-31 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10819



--- Comment #9 from Andrei Alexandrescu  2013-08-31 16:12:26 
PDT ---
Yah, a hash-based solution would be quite good.

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


[Issue 10819] Invalid comparison for equality of lambda functions

2013-08-31 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10819



--- Comment #8 from hst...@quickfur.ath.cx 2013-08-31 15:32:59 PDT ---
Hmm you're right. We can't drop the module, otherwise lambdas with static
variables will be wrongly conflated. :-/ But is this still doable for lambdas
within the same module?

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


[Issue 10466] Optional "[]" syntax for std.range.iota too

2013-08-31 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10466



--- Comment #8 from Joseph Rushton Wakeling  
2013-08-31 12:37:42 PDT ---
(In reply to comment #7)
> I understand the general meaning of your words, and I could agree, but at the
> moment there is no D code around shaped as "iota!"(]"(0.0, 1.0, 0.3)", so
> formally there is no breaking. A code breaking change is when code that used 
> to
> work suddenly stops working or silently has a different semantics.

No, but there is D code shaped around iota(0.0, 1.0, 0.3) which is semantically
identical to iota!"[)"(0.0, 1.0, 0.3), which is part of the proposal.

So, if there is going to be any "choice of boundary conditions" generalization
of iota, it should work as a seamless generalization of all the behaviour it
currently supports -- which includes both integral and floating-point types.

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


[Issue 10936] unittest in struct body makes crash dmd

2013-08-31 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10936



--- Comment #1 from Oleg B  2013-08-31 11:33:54 PDT ---
I want say UNCOMMENT 11,12 lines

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


[Issue 10936] New: unittest in struct body makes crash dmd

2013-08-31 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10936

   Summary: unittest in struct body makes crash dmd
   Product: D
   Version: D2
  Platform: x86_64
OS/Version: Linux
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: code.via...@gmail.com


--- Comment #0 from Oleg B  2013-08-31 11:31:52 PDT ---
[code]
struct vec( size_t N, string AS="" )
{
float[N] data;
this(E)( E[] ext... ) { data[0] = 0; }

@property auto opDispatch(string v)() const
{ mixin( "return vec!(v.length,v)( 0 );" ); }

unittest {
auto pos = vec!(3,"xyz")( 1, 2, 10 );
//auto pxx = pos.xy;
//assert( is( typeof( pxy ) == vec!(2,"xy") ) );
assert( is( typeof( pos.xy ) == vec!(2,"xy") ) );
}
}
unittest { vec!(3,"xyz") a; }
[/code]

if unittest in struct body I have error:

dmd: func.c:1299: virtual void FuncDeclaration::semantic3(Scope*): Assertion
`type == f' failed.

if uncomment 11,12 lines and comment I have error:

dmd: struct.c:741: virtual void StructDeclaration::semantic(Scope*): Assertion
`type->ty != Tstruct || ((TypeStruct *)type)->sym == this' failed.

if unittest take away from a body I haven't dmd errors

[code]
struct vec( size_t N, string AS="" )
{
float[N] data;
this(E)( E[] ext... ) { data[0] = 0; }

@property auto opDispatch(string v)() const
{ mixin( "return vec!(v.length,v)( 0 );" ); }

}
unittest { vec!(3,"xyz") a; }

unittest {
auto pos = vec!(3,"xyz")( 1, 2, 10 );
auto pxx = pos.xy;
assert( is( typeof( pxy ) == vec!(2,"xy") ) );
assert( is( typeof( pos.xy ) == vec!(2,"xy") ) );
}
[/code]

i use:
$ dmd -unittest -main file.d

system:
$ uname -a
Linux lenovo 3.9.11-200.fc18.x86_64 #1 SMP Mon Jul 22 21:04:50 UTC 2013 x86_64
x86_64 x86_64 GNU/Linux

DMD64 D Compiler v2.063.2

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


[Issue 10935] New: Malformed std.windows.charset reference

2013-08-31 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10935

   Summary: Malformed std.windows.charset reference
   Product: D
   Version: unspecified
  Platform: All
OS/Version: All
Status: NEW
  Severity: normal
  Priority: P2
 Component: websites
AssignedTo: nob...@puremagic.com
ReportedBy: temta...@gmail.com


--- Comment #0 from Temtaime  2013-08-31 10:47:36 PDT ---
http://dlang.org/phobos/std_windows_charset.html
Looks ugly.

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


[Issue 10934] New: D logo missing when building website on Windows

2013-08-31 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10934

   Summary: D logo missing when building website on Windows
   Product: D
   Version: D2
  Platform: All
OS/Version: Windows
Status: NEW
  Severity: normal
  Priority: P2
 Component: websites
AssignedTo: nob...@puremagic.com
ReportedBy: andrej.mitrov...@gmail.com


--- Comment #0 from Andrej Mitrovic  2013-08-31 
04:54:49 PDT ---
When I do a 'make -f win32.mak function.html', the D logo is missing, instead
there's "D LOGO" text with a file url "file:///"

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


[Issue 10555] enumerator can no longer increment beyond maximum of initializer

2013-08-31 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10555



--- Comment #4 from Henning Pohl  2013-08-31 04:23:52 
PDT ---
Keep in mind that you can always cast to the base type:

enum A // int
{
A0
}

template BaseType(E)
{
static if (is(E e == enum))
{
alias BaseType = e;
}
else
{
static assert("not an enum");
}
}

enum B // int
{
B0 = cast(BaseType!A)A.A0,
B1
}

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


[Issue 10555] enumerator can no longer increment beyond maximum of initializer

2013-08-31 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10555


Henning Pohl  changed:

   What|Removed |Added

 CC||henn...@still-hidden.de


--- Comment #3 from Henning Pohl  2013-08-31 04:16:03 
PDT ---
I think this behaviour is correct:

Spec:

If the EnumBaseType is not explicitly set, and the first EnumMember has an
initializer, it is set to the type of that initializer. Otherwise, it defaults
to type int.

Named enum members may not have individual Types.

A named enum member can be implicitly cast to its EnumBaseType, but
EnumBaseType types cannot be implicitly cast to an enum type.


The behaviour before issue 3096 always used int as EnumBaseType even though
there is a first initializer.

enum A // int
{
A0
}
enum B // A
{
B0 = A.A0,
B1
}

In this case the base type of B is A and A does not have a member whith a value
of 1.

enum A // int
{
A0
}
enum B // A
{
B0 = A.A0,
B1 = A.A0 + 1
}

This is basically the same case as above.

enum A // int
{
A0
}

enum B // int
{
B0 = A.A0 + 0,
B1
}

This works because the type of the first initializer is int. So the base type
of B becomes int and ints can be incremented easily.

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


[Issue 10819] Invalid comparison for equality of lambda functions

2013-08-31 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10819



--- Comment #7 from Peter Alexander  2013-08-31 
03:53:53 PDT ---
(In reply to comment #6)
> This is probably total overkill, but what about instead of mangling to 
> __lambda
> + an incrementing integer, replace the integer with the SHA hash of the
> lambda's AST tree? As Andrei said, we cater only to the case where the two
> lambdas are token-for-token identical, because the general problem of
> equivalence between two arbitrary lambdas is uncomputable.

That works but is it OK for the lambda type to not have a module?

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


[Issue 10466] Optional "[]" syntax for std.range.iota too

2013-08-31 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10466



--- Comment #7 from bearophile_h...@eml.cc 2013-08-31 03:25:36 PDT ---
(In reply to comment #6)

> Bottom line -- iota() currently does allow FP numbers and excluding them would
> be a breaking change.

I understand the general meaning of your words, and I could agree, but at the
moment there is no D code around shaped as "iota!"(]"(0.0, 1.0, 0.3)", so
formally there is no breaking. A code breaking change is when code that used to
work suddenly stops working or silently has a different semantics.

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


[Issue 10230] Duplicated buttons for runnable examples

2013-08-31 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10230



--- Comment #2 from github-bugzi...@puremagic.com 2013-08-31 02:50:23 PDT ---
Commits pushed to master at https://github.com/D-Programming-Language/phobos

https://github.com/D-Programming-Language/phobos/commit/87bd3315db559ecca11e3bf69ac0410a16da7d8b
fix Issue 10230 - Duplicated buttons for runnable examples

https://github.com/D-Programming-Language/phobos/commit/aa3b13ce49c84c6cae35541c72a4f44d785c49f9
Merge pull request #1328 from 9rnsr/fix10230

Issue 10230 - Duplicated buttons for runnable examples

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


[Issue 10919] typeof should accept types

2013-08-31 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10919


Temtaime  changed:

   What|Removed |Added

 CC||temta...@gmail.com


--- Comment #3 from Temtaime  2013-08-31 01:45:50 PDT ---
I'm agree with Timon.

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


[Issue 10893] Numerous DDoc parameter warnings in Phobos (as found by 10236)

2013-08-31 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10893


Lionello Lunesu  changed:

   What|Removed |Added

   Keywords||pull


--- Comment #2 from Lionello Lunesu  2013-08-31 
00:43:25 PDT ---
https://github.com/D-Programming-Language/phobos/pull/1536

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


[Issue 10466] Optional "[]" syntax for std.range.iota too

2013-08-31 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10466


Joseph Rushton Wakeling  changed:

   What|Removed |Added

 CC||joseph.wakel...@webdrake.ne
   ||t


--- Comment #6 from Joseph Rushton Wakeling  
2013-08-31 00:34:59 PDT ---
(In reply to comment #4)
> Hmm, iota with FP gets tricky, because, for example, 0.1 does not have an 
> exact
> representation in floating-point. So if you write iota(0.0, 1.0, 0.1), it's
> unclear whether 1.0 will be included or not (for example, you may end up with
> 0.8 and it gets included, or it may end up with 1.001 and get
> excluded).

Surely that should be a case of, "use with FP at own risk".  There are cases
where it might be useful, but as with all things, you need to understand the
possibility of rounding error.

I got bitten rather amusingly by such an example where I was doing a for ()
loop across [0, 1] in 0.1 increments.  GDC and LDC can handle that, DMD
couldn't, and I had to switch to increments that were negative powers of 2.  If
you can trust the user to implement a for () loop correctly, you can trust them
to do the same with iota().

Bottom line -- iota() currently does allow FP numbers and excluding them would
be a breaking change.

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


[Issue 10881] Support %f formatting for a std.complex.complex

2013-08-31 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10881


monarchdo...@gmail.com changed:

   What|Removed |Added

 CC||monarchdo...@gmail.com


--- Comment #12 from monarchdo...@gmail.com 2013-08-31 00:20:49 PDT ---
(In reply to comment #11)
> (In reply to comment #10)
> > Commit pushed to master at https://github.com/D-Programming-Language/phobos
> 
> Now using this formatting string, for the given matrix:
> "[%([%(%1.3f, %)],\n %)]]"
> 
> It outputs:
> 
> [[0.707+0.000i, 0.707+0.000i, 0.000+0.000i],
>  [0.000-0.707i, 0.000+0.707i, 0.000+0.000i],
>  [0.000+0.000i, 0.000+0.000i, 0.000+1.000i]]

For anybody reading this on forum.dlang.org: please view the entry on the bug
tracker: There *is* a space that prefixes those lines, and they are all
actually perfectly aligned.

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