[Issue 10552] Cannot apply access specifiers to individual anonymous enum members

2013-07-06 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10552



--- Comment #2 from Kenji Hara k.hara...@gmail.com 2013-07-06 00:47:36 PDT ---
(In reply to comment #0)
 -
 enum
 {
 private A = 1,
 B = 2,
 }
 -
 
 $ dmd test.d
  Error: basic type expected, not private

I cannot see any benefits there.
You can just separate public anonymous enum and private one.

private enum
{
A = 1,
}
enum
{
B = 2,
}

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


[Issue 10543] std.algorithm.map incorrectly uses source range length for narrow strings

2013-07-06 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10543


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

   What|Removed |Added

   Keywords||pull
 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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


[Issue 9857] UFCS for struct opCall

2013-07-06 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9857



--- Comment #17 from Kenji Hara k.hara...@gmail.com 2013-07-06 02:29:24 PDT 
---
(In reply to comment #16)
  and to open a more detailed enhancement request for using
  local symbols with UFCS instead if that is desired.
 
 That's a quite different need. It needs more thinking. Thank you for the note.

UFCS is designed not work for local symbols.
https://github.com/D-Programming-Language/dlang.org/pull/346

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


[Issue 10554] New: Remove size restriction from std.socket.SocketSet

2013-07-06 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10554

   Summary: Remove size restriction from std.socket.SocketSet
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Keywords: pull
  Severity: enhancement
  Priority: P2
 Component: Phobos
AssignedTo: nob...@puremagic.com
ReportedBy: thecybersha...@gmail.com


--- Comment #0 from Vladimir Panteleev thecybersha...@gmail.com 2013-07-06 
13:35:24 EEST ---
The fd_set type is declared on all structures to allow the user to create an
instance with an arbitrary size. This should allow SocketSet to keep its own
copy of a fd_set data which is resized as needed.

https://github.com/D-Programming-Language/phobos/pull/1393

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


[Issue 10343] Cannot resolve a forward reference to a template inside global typeof

2013-07-06 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10343


Tomoya Tanjo tta...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


--- Comment #1 from Tomoya Tanjo tta...@gmail.com 2013-07-06 04:46:37 PDT ---
I found it can be compiled without errors in trunk (v2.064-devel-fbbdba5).
Thanks!

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


[Issue 10552] Cannot apply access specifiers to individual anonymous enum members

2013-07-06 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10552



--- Comment #3 from Henning Pohl henn...@still-hidden.de 2013-07-06 05:17:51 
PDT ---
(In reply to comment #2)
 I cannot see any benefits there.
 You can just separate public anonymous enum and private one.
 
 private enum
 {
 A = 1,
 }
 enum
 {
 B = 2,
 }

This has some drawbacks:

1) You have to write a new enum.
2) You cannot take advantage of the properties of anonymous enums.
3) Constants that belong together need to be defined at the same place.

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


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

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

   Summary: enumerator can no longer increment beyond maximum of
initializer
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: regression
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: r.sagita...@gmx.de


--- Comment #0 from Rainer Schuetze r.sagita...@gmx.de 2013-07-06 06:03:46 
PDT ---
I'm not sure if the new behaviour in git HEAD is desired or not, but this code
used to compile until one or two weeks ago:

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

Now it errors out with

Error: enum test.B overflow of enum value cast(B)cast(A)0

because dmd does not want to increment A0.

More strange things:


enum A
{
A0
}
enum B
{
B0 = A.A0,
B1 = A.A0 + 1
}
Error: cannot implicitly convert expression (1) of type int to A

though this works

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

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


[Issue 10552] Cannot apply access specifiers to individual anonymous enum members

2013-07-06 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10552



--- Comment #4 from Andrej Mitrovic andrej.mitrov...@gmail.com 2013-07-06 
07:08:29 PDT ---
(In reply to comment #2)
 (In reply to comment #0)
  -
  enum
  {
  private A = 1,
  B = 2,
  }
  -
  
  $ dmd test.d
   Error: basic type expected, not private
 
 I cannot see any benefits there.
 You can just separate public anonymous enum and private one.
 
 private enum
 {
 A = 1,
 }
 enum
 {
 B = 2,
 }

I see it as an unnecessary limitation, each member can have its own type and
its own initializer (even its own UDA), but not an access specifier. Note that
due to Issue 10552 we can use neither syntax.

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


[Issue 10556] New: mixin template fails overload resolution

2013-07-06 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10556

   Summary: mixin template fails overload resolution
   Product: D
   Version: unspecified
  Platform: All
OS/Version: All
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: monarchdo...@gmail.com


--- Comment #0 from monarchdo...@gmail.com 2013-07-06 07:06:03 PDT ---
mixin template fooImpl(T)
{
static void foo(T t)
{}
}
struct S{}
mixin fooImpl!S;
mixin fooImpl!int;
mixin fooImpl!long;

void main()
{
S s;
int a;
foo(s);
foo(a); //17
}


hello.d
17
Error: hello.fooImpl!(int).foo at hello.d:3 conflicts with
hello.fooImpl!(long).foo at hello.d:3


Here, I'm using mixin template fooImpl to create a finite set of non-template
functions. In particular, I'm generating the functions foo(int) and
foo(long).

Yet, when making the call to foo with an int, the compiler complains of
finding multiple matches, failing to see that there is an exact match.

Apparently, I think the compiler sees foo as template functions
fooImpl!long.foo(long), so they all equally match. I think this is wrong
behavior.

The specs state that If two different mixins are put in the same scope, and
each define a declaration with the same name, there is an ambiguity error when
the declaration is referenced, however this is clearly not the case, since
foo(s) is correctly resolved. foo(int) and foo(long) should also correctly
resolve just as well.

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


[Issue 10556] mixin template fails overload resolution

2013-07-06 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10556


monarchdo...@gmail.com changed:

   What|Removed |Added

   See Also||http://d.puremagic.com/issu
   ||es/show_bug.cgi?id=8074


--- Comment #1 from monarchdo...@gmail.com 2013-07-06 07:09:46 PDT ---
http://d.puremagic.com/issues/show_bug.cgi?id=8074

8074 is related, although it deals with strictly non-ambiguous overloads. In
this example, there are multiple matches, but one is exact.

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


[Issue 10125] readln!dchar misdecodes Unicode non-BMP

2013-07-06 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10125


monarchdo...@gmail.com changed:

   What|Removed |Added

 CC||monarchdo...@gmail.com


--- Comment #2 from monarchdo...@gmail.com 2013-07-06 07:16:40 PDT ---
Concurrently fixed in:
https://github.com/D-Programming-Language/phobos/pull/1381

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


[Issue 10557] New: __traits(== __parameters) should accept function pointer/delegate type

2013-07-06 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10557

   Summary: __traits(== __parameters) should accept function
pointer/delegate type
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: enhancement
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: k.hara...@gmail.com


--- Comment #0 from Kenji Hara k.hara...@gmail.com 2013-07-06 07:30:42 PDT ---
Recent function type and default argument improvement:
https://github.com/D-Programming-Language/dmd/pull/1102

changes default arguments and parameter identifiers volatile on function
type.

The change itself makes sense, but after all, we cannot take the information
from function pointer/delegate variable and function literal symbol anymore.

void function(int arg = 10) fp;
pragma(msg, typeof(fp));  // prints void function(int arg = 10)

static if (is(typeof(fp) FP == F*, F)) {
  pragma(msg, F); // print void(int)
  static if (is(F PT == __parameters)) {
// Right now here, PT does not contain any def-arg and param-id
informations.
pragma(msg, PT);  // prints (int)
  }
}

This is expected behavior, but it is also inconvenient for some
meta-programming.

To get the volatile information, I'd like to propose that is(F PT ==
__parameters) accepts function pointer type and delegate type directly.

void function(int a = 10) fp;
static if (is(typeof(fp) PT1 == __parameters)) {
  // Currently this always fails, but will pass after this ER is implemented
  pragma(msg, PT1);  // will print (int a = 10)
}
void delegate(int b = 20) dg;
static if (is(typeof(dg) PT2 == __parameters)) {
  // Currently this always fails, but will pass after this ER is implemented
  pragma(msg, PT2);  // will print (int b = 20)
}

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


[Issue 10557] __traits(== __parameters) should accept function pointer/delegate type

2013-07-06 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10557


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

   What|Removed |Added

   Keywords||pull


--- Comment #1 from Kenji Hara k.hara...@gmail.com 2013-07-06 07:42:51 PDT ---
https://github.com/D-Programming-Language/dmd/pull/2308

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


[Issue 10548] [REG 2.064a] argument has no identifier

2013-07-06 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10548


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

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||INVALID


--- Comment #1 from Kenji Hara k.hara...@gmail.com 2013-07-06 07:47:22 PDT ---
This is expected change. After pull #1102 change, default arguments and
parameter identifiers never appear in the result of FunctionTypeOf template.

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


[Issue 7364] Better Eponymous Template syntax

2013-07-06 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7364


Tommi tommitiss...@hotmail.com changed:

   What|Removed |Added

 CC||tommitiss...@hotmail.com


--- Comment #7 from Tommi tommitiss...@hotmail.com 2013-07-06 08:36:27 PDT ---
(In reply to comment #4)
 Any solution should be able to replace the existing syntax completely, so the
 compiler would have to parse e.g. function template blocks:
 
 template initOf(T)
 {
 T this()
 {return T.init;}
 }
 
 I think instead of using 'this' for the symbol name, 'template' would be
 clearer.

I think using 'out' as the symbol name would be even clearer. But I agree that
'template' is better than 'this'.

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


[Issue 5911] Closure destroys the thrown Exception .

2013-07-06 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5911



--- Comment #3 from hst...@quickfur.ath.cx 2013-07-06 10:22:37 PDT ---
P.S. This is on Linux 64-bit.

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


[Issue 5911] Closure destroys the thrown Exception .

2013-07-06 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5911


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

   What|Removed |Added

   Keywords||ice
 CC||hst...@quickfur.ath.cx
   Severity|normal  |major


--- Comment #2 from hst...@quickfur.ath.cx 2013-07-06 10:21:24 PDT ---
Heh, on git HEAD (b9b5c063d7f44b879d6fde74f400ff094ba85707), this code causes
an ICE:

dmd: struct.c:251: static void AggregateDeclaration::alignmember(structalign_t,
unsigned int, unsigned int*): Assertion `alignment  0  !(alignment 
(alignment - 1))' failed.
Aborted

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


[Issue 10558] New: Assertion failure on struct.c:741

2013-07-06 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10558

   Summary: Assertion failure on struct.c:741
   Product: D
   Version: unspecified
  Platform: All
OS/Version: All
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: youx...@gmail.com


--- Comment #0 from Hisayuki Mima youx...@gmail.com 2013-07-07 03:10:05 JST 
---
template Template(){}

struct Struct(alias T){}

alias bar = foo!(Template!());

template foo(alias T)
{
alias foobar = Struct!T;

void fun() {
alias a = foo!T;
}
}

The above code compiled, dmd v2.064-devel-3df7dab outputs:

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

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


[Issue 10559] New: Symbol Undefined with Complicated Import and Subobject Graph

2013-07-06 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10559

   Summary: Symbol Undefined with Complicated Import and Subobject
Graph
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: dsim...@yahoo.com


--- Comment #0 from David Simcha dsim...@yahoo.com 2013-07-06 13:09:22 PDT ---
Created an attachment (id=1230)
The multi-file test case.

The attached zip file is a painstakingly reduced test case that results in a
symbol undefined error in the linking stage when built from the scidStuff5/
directory using the following commands:

dmd  -lib -release scid/storage/arraydata.d scid/storage/external.d
scid/storage/cowmatrix.d scid/storage/cowarray.d scid/vector.d scid/typecons.d
scid/matrix.d -ofscid.lib

dmd -release -lib -of../dstats.lib dstats/*.d 

dmd -release dstats/distrib.d -L ../scid.lib -L
~/customd/deps/blaslapackdll.lib -L ../dstats.lib

Error 42: Symbol Undefined
_D4scid7storage8cowarray15__T8CowArrayTdZ8CowArray15__fieldPostBlitMFZv

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


[Issue 10440] shared library on osx: worked in 2.062, fails in 2.063 / 2.063.2

2013-07-06 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10440



--- Comment #6 from github-bugzi...@puremagic.com 2013-07-06 13:19:50 PDT ---
Commits pushed to master at https://github.com/D-Programming-Language/druntime

https://github.com/D-Programming-Language/druntime/commit/5fc0480d13705c57daadf067801d630d1b9cd629
fix Issue 10440

- print a warning and ignore shared library sections

https://github.com/D-Programming-Language/druntime/commit/4caca8b4a2f77d0a2df7c3fa833397ac694143ee
Merge pull request #531 from dawgfoto/fix10440

fix Issue 10440

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


[Issue 10560] New: Enum typed as int with value equal to 0 or 1 prefer bool over int overload

2013-07-06 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10560

   Summary: Enum typed as int with value equal to 0 or 1 prefer
bool over int overload
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: critical
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: yazan.dab...@gmail.com


--- Comment #0 from yazan.dab...@gmail.com 2013-07-06 14:24:31 PDT ---
import std.stdio;

void foo(bool b) { writeln(bool); }
void foo(int i) { writeln(int); }

enum Boo : int {
  a = 1,
  b = 2,
}

void main() {
  foo(Boo.a); //prints 'bool', should print int
  foo(Boo.b); //prints 'int' correctly
}

This issue is related to http://d.puremagic.com/issues/show_bug.cgi?id=

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


[Issue 9999] Integer literal 0 and 1 should prefer integer type in overload resolution

2013-07-06 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=


yazan.dab...@gmail.com changed:

   What|Removed |Added

 CC||yazan.dab...@gmail.com


--- Comment #10 from yazan.dab...@gmail.com 2013-07-06 14:27:46 PDT ---
A related issue: http://d.puremagic.com/issues/show_bug.cgi?id=10560

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


[Issue 10561] New: Regression (2.064 HEAD): anon enum members no longer have enum base type

2013-07-06 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10561

   Summary: Regression (2.064 HEAD): anon enum members no longer
have enum base type
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: regression
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: andrej.mitrov...@gmail.com


--- Comment #0 from Andrej Mitrovic andrej.mitrov...@gmail.com 2013-07-06 
15:39:50 PDT ---
-
enum : ubyte
{
GL_FALSE  = 0,
GL_TRUE   = 1,
}

void main()
{
static assert(is(typeof(GL_TRUE) == ubyte));
}
-

2.063:
$ dmd test.d


2.064 git-head:
$ dmd test.d
 test.d(11): Error: static assert  (is(int == ubyte)) is false

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


[Issue 10440] shared library on osx: worked in 2.062, fails in 2.063 / 2.063.2

2013-07-06 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10440


Martin Nowak c...@dawg.eu 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 10561] Regression (2.064 HEAD): anon enum members no longer have enum base type

2013-07-06 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10561


Henning Pohl henn...@still-hidden.de changed:

   What|Removed |Added

   Keywords||pull, rejects-valid
 CC||henn...@still-hidden.de


--- Comment #1 from Henning Pohl henn...@still-hidden.de 2013-07-06 18:21:37 
PDT ---
https://github.com/D-Programming-Language/dmd/pull/2309

Dayum, these enums.

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


[Issue 10562] New: Cannot initialize arrays by an element value when the elements are fixed-length arrays

2013-07-06 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10562

   Summary: Cannot initialize arrays by an element value when the
elements are fixed-length arrays
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: acehr...@yahoo.com


--- Comment #0 from Ali Cehreli acehr...@yahoo.com 2013-07-06 22:05:22 PDT ---
We know that arrays can be initialized by a single element value:

void main()
{
int value = 1;
int[2] a = value;
assert(a == [ 1, 1 ]);
}

The bug is that it does not work when the elements are fixed-length arrays
themselves:

void main()
{
int[3] value = [ 1, 2, 3 ];
int[3][2] a = value;  // -- COMPILATION ERROR
assert(a == [ [ 1, 2, 3 ], [ 1, 2, 3 ] ]);
}

Error: mismatched array lengths, 6 and 3

On the other hand, the array can be initialized by an element-of-an-element:

void main()
{
// Note: This is the type of an element of array elements
int value = 1;
int[3][2] a = value;
assert(a == [ [ 1, 1, 1 ], [ 1, 1, 1 ] ]);
}

Is that a feature or perhaps a consequence of the reported bug?

Ali

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


[Issue 10563] New: Accessing const/immutable string array in CTFE crashes dmd.

2013-07-06 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=10563

   Summary: Accessing const/immutable string array in CTFE crashes
dmd.
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: iselix1988+dbugzi...@gmail.com


--- Comment #0 from iselix1988+dbugzi...@gmail.com 2013-07-06 22:13:31 PDT ---
Accessing const/immutable string array in struct/class in CTFE, cause dmd
crashes by segmentation fault.
See code below.


immutable string[] array = [0];
class cls{
immutable string[] array = [0];
}
struct str{
immutable string[] array = [0];
}

auto top(T)(T t){
return t[0];
}

pragma(msg, array.top); // OK
pragma(msg, cls.array.top); // SEGV
pragma(msg, str.array.top); // SEGV

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