[Issue 10552] Cannot apply access specifiers to individual anonymous enum members
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 .
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 .
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
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
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
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
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
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
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
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
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
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.
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: ---