[Issue 12532] __traits(compiles, ...) fails to see valid enum symbols
https://d.puremagic.com/issues/show_bug.cgi?id=12532 monarchdo...@gmail.com changed: What|Removed |Added CC||monarchdo...@gmail.com --- Comment #1 from monarchdo...@gmail.com 2014-04-06 23:09:32 PDT --- Reduced: // enum a = is(typeof(b)); enum b = is(typeof(a)); pragma(msg, a); //true pragma(msg, b); //false // I'm not sure this is actually resolvable...? -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 12528] [CTFE] cannot append elements from one inout array to another inout array
https://d.puremagic.com/issues/show_bug.cgi?id=12528 Kenji Hara k.hara...@gmail.com changed: What|Removed |Added Keywords||pull, rejects-valid --- Comment #2 from Kenji Hara k.hara...@gmail.com 2014-04-06 23:53:52 PDT --- https://github.com/D-Programming-Language/dmd/pull/3430 -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 12535] New: The language introduction page is not linked from index
https://d.puremagic.com/issues/show_bug.cgi?id=12535 Summary: The language introduction page is not linked from index Product: D Version: D2 Platform: All URL: http://dlang.org/intro.html OS/Version: All Status: NEW Keywords: spec Severity: normal Priority: P2 Component: websites AssignedTo: nob...@puremagic.com ReportedBy: j...@red.email.ne.jp --- Comment #0 from j...@red.email.ne.jp 2014-04-07 00:07:14 PDT --- While the D1 documents have the introduction page in the first of the language reference, the D2 miss that page in the index. It exists almost orphan. If that page is to be removed, the description about the script line(shebang) and preprocessing should be salvaged. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 12390] [REG2.066a] has no effect in expression diagnostic regression
https://d.puremagic.com/issues/show_bug.cgi?id=12390 Kenji Hara k.hara...@gmail.com changed: What|Removed |Added Keywords||pull Summary|Regression (2.065): has no |[REG2.066a] has no effect |effect in expression |in expression diagnostic |diagnostic regression |regression --- Comment #4 from Kenji Hara k.hara...@gmail.com 2014-04-07 00:50:09 PDT --- OK, I confirmed the issue. It's a bug in the value discarding check. And, this is 2.066 git-head only regression. https://github.com/D-Programming-Language/dmd/pull/3432 -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 12536] New: Implove the documentation about preprocessing the files has Ddoc file header
https://d.puremagic.com/issues/show_bug.cgi?id=12536 Summary: Implove the documentation about preprocessing the files has Ddoc file header Product: D Version: D2 Platform: All URL: http://dlang.org/ddoc.html OS/Version: All Status: NEW Severity: normal Priority: P2 Component: websites AssignedTo: nob...@puremagic.com ReportedBy: j...@red.email.ne.jp Depends on: 12535 --- Comment #0 from j...@red.email.ne.jp 2014-04-07 00:55:12 PDT --- When I was scanning many d module files, some are in strange format -- of the whole ddoc. Though I have never known that, a Ddoc file header makes the compiler preprocess and the generated file is not an object but an HTML document. I wonder if it is in use and is well known... Anyways, the descriptions about such preprocesses should be _gathered_ in one place. I have filed Issue 12535 for the same purpose. It might get better Editor/IDE supports, too. ;) -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 12528] [CTFE] cannot append elements from one inout array to another inout array
https://d.puremagic.com/issues/show_bug.cgi?id=12528 --- Comment #3 from github-bugzi...@puremagic.com 2014-04-07 02:58:40 PDT --- Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/b3d3eeb2223fa521b8653ed0a4ef3f749b2b11b7 fix Issue 12528 - [CTFE] cannot append elements from one inout array to another inout array https://github.com/D-Programming-Language/dmd/commit/b3d2ca068a976a6f69447502edb3779d97897642 Merge pull request #3430 from 9rnsr/fix12528 Issue 12528 - [CTFE] cannot append elements from one inout array to another inout array -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 12528] [CTFE] cannot append elements from one inout array to another inout array
https://d.puremagic.com/issues/show_bug.cgi?id=12528 Kenji Hara k.hara...@gmail.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 11778] format for null does not verify fmt flags.
https://d.puremagic.com/issues/show_bug.cgi?id=11778 Kenji Hara k.hara...@gmail.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 12536] Improve the documentation about preprocessing the files has Ddoc file header
https://d.puremagic.com/issues/show_bug.cgi?id=12536 --- Comment #1 from j...@red.email.ne.jp 2014-04-07 03:59:28 PDT --- Sorry, I should have mentioned that the above _is_ descrived in the document page about DDOC(see the URL of this issue), nearly at the bottom of the page. I am afraid that we could scarsly remind it even if it matters. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 12537] New: Templatizing opEquals results in infinite recursion in the compiler
https://d.puremagic.com/issues/show_bug.cgi?id=12537 Summary: Templatizing opEquals results in infinite recursion in the compiler Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: jmdavisp...@gmx.com --- Comment #0 from Jonathan M Davis jmdavisp...@gmx.com 2014-04-07 04:40:32 PDT --- I'm currently trying to templatize the free function opEquals in druntime for issue# 9769, and a compiler bug is blocking me. This piece of code (taken from dmd's test suite) triggers the problem: struct T11875x(C) { C c; } class D11875a { D11875b c; alias c this; } class D11875b { D11875a c; alias c this; } static assert( is(T11875x!D11875a == T11875x!D, D) is(D == D11875a)); void main() { } If all you do is templatize opEquals in object_.d and copy it to object.di (since currently, object.di holds only the signatures for opEquals), then the compiler never stops (or if it does, it takes a very long time). i.e. bool opEquals()(const Object lhs, const Object rhs) { // A hack for the moment. return opEquals(cast()lhs, cast()rhs); } bool opEquals()(Object lhs, Object rhs) { // If aliased to the same object or both null = equal if (lhs is rhs) return true; // If either is null = non-equal if (lhs is null || rhs is null) return false; // If same exact type = one call to method opEquals if (typeid(lhs) is typeid(rhs) || typeid(lhs).opEquals(typeid(rhs))) return lhs.opEquals(rhs); // General case = symmetric calls to method opEquals return lhs.opEquals(rhs) rhs.opEquals(lhs); } So, all that was added was the () after opEquals. Running in gdb, it looks like the stack trace goes on pretty much forever. However, the first portion looks like #0 0x004284dc in Expression_optimize(Expression*, int, bool)::OptimizeVisitor::visit(DotVarExp*) () #1 0x004284e7 in Expression_optimize(Expression*, int, bool)::OptimizeVisitor::visit(DotVarExp*) () #2 0x004284e7 in Expression_optimize(Expression*, int, bool)::OptimizeVisitor::visit(DotVarExp*) () #3 0x004284e7 in Expression_optimize(Expression*, int, bool)::OptimizeVisitor::visit(DotVarExp*) () #4 0x004284e7 in Expression_optimize(Expression*, int, bool)::OptimizeVisitor::visit(DotVarExp*) () #5 0x004284e7 in Expression_optimize(Expression*, int, bool)::OptimizeVisitor::visit(DotVarExp*) () #6 0x004284e7 in Expression_optimize(Expression*, int, bool)::OptimizeVisitor::visit(DotVarExp*) () #7 0x004284e7 in Expression_optimize(Expression*, int, bool)::OptimizeVisitor::visit(DotVarExp*) () #8 0x004284e7 in Expression_optimize(Expression*, int, bool)::OptimizeVisitor::visit(DotVarExp*) () #9 0x004284e7 in Expression_optimize(Expression*, int, bool)::OptimizeVisitor::visit(DotVarExp*) () #10 0x004284e7 in Expression_optimize(Expression*, int, bool)::OptimizeVisitor::visit(DotVarExp*) () #11 0x004284e7 in Expression_optimize(Expression*, int, bool)::OptimizeVisitor::visit(DotVarExp*) () #12 0x004284e7 in Expression_optimize(Expression*, int, bool)::OptimizeVisitor::visit(DotVarExp*) () #13 0x004284e7 in Expression_optimize(Expression*, int, bool)::OptimizeVisitor::visit(DotVarExp*) () #14 0x004284e7 in Expression_optimize(Expression*, int, bool)::OptimizeVisitor::visit(DotVarExp*) () #15 0x004284e7 in Expression_optimize(Expression*, int, bool)::OptimizeVisitor::visit(DotVarExp*) () #16 0x004284e7 in Expression_optimize(Expression*, int, bool)::OptimizeVisitor::visit(DotVarExp*) () #17 0x004284e7 in Expression_optimize(Expression*, int, bool)::OptimizeVisitor::visit(DotVarExp*) () #18 0x004284e7 in Expression_optimize(Expression*, int, bool)::OptimizeVisitor::visit(DotVarExp*) () #19 0x004284e7 in Expression_optimize(Expression*, int, bool)::OptimizeVisitor::visit(DotVarExp*) () #20 0x004284e7 in Expression_optimize(Expression*, int, bool)::OptimizeVisitor::visit(DotVarExp*) () ... But for some reason, the stack doesn't actually get blown (probably due to a tail recursion optimization, but I don't know). If I use what is currently my actual solution / * Returns true if lhs and rhs are equal. */ bool opEquals(T, U)(T lhs, U rhs) if (is(T == class) is(U == class) is(typeof(lhs.opEquals(rhs)) == bool) is(typeof(rhs.opEquals(lhs)) == bool)) { static if (is(T : U) || is(U : T)) { // If aliased to the same object or both null = equal if (lhs is rhs) return true; } // If either is null = non-equal if (lhs is null || rhs is null) return false; // If same exact
[Issue 12414] Assertion failure in 'template.c' on inout+foreach+template tuple parameter
https://d.puremagic.com/issues/show_bug.cgi?id=12414 --- Comment #1 from Kenji Hara k.hara...@gmail.com 2014-04-07 05:03:50 PDT --- I cannot reproduce ICE with 2.060 - 2.065 and git-head. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 12538] New: ZeroBUGS links are broken
https://d.puremagic.com/issues/show_bug.cgi?id=12538 Summary: ZeroBUGS links are broken Product: D Version: unspecified Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: websites AssignedTo: nob...@puremagic.com ReportedBy: jbin...@gmail.com --- Comment #0 from Jeroen Bollen jbin...@gmail.com 2014-04-07 05:35:35 PDT --- The zerobugs links in the documentation on the website are broken. They all link to zerobugs.org. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 12476] Assert error in interpret.c:3204
https://d.puremagic.com/issues/show_bug.cgi?id=12476 Kenji Hara k.hara...@gmail.com changed: What|Removed |Added Keywords||pull --- Comment #1 from Kenji Hara k.hara...@gmail.com 2014-04-07 05:55:10 PDT --- https://github.com/D-Programming-Language/dmd/pull/3433 -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 12460] Crash with goto and static if
https://d.puremagic.com/issues/show_bug.cgi?id=12460 Kenji Hara k.hara...@gmail.com changed: What|Removed |Added Keywords||pull --- Comment #1 from Kenji Hara k.hara...@gmail.com 2014-04-07 06:19:05 PDT --- https://github.com/D-Programming-Language/dmd/pull/3434 -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 12532] __traits(compiles, ...) fails to see valid enum symbols
https://d.puremagic.com/issues/show_bug.cgi?id=12532 --- Comment #2 from det 2k...@gmx.net 2014-04-07 07:20:53 PDT --- (In reply to comment #1) Reduced: // enum a = is(typeof(b)); enum b = is(typeof(a)); pragma(msg, a); //true pragma(msg, b); //false // I'm not sure this is actually resolvable...? sorry, i should have reduced it to enum a = __traits(compiles, b); pragma(msg, a); // true enum b = __traits(compiles, a); pragma(msg, b); // false guess i was too preoccupied with issue 12533. however, i think b should be true, __traits(compiles, ...) should not need the value or type of a. in other words, it should be able to see that a symbol is defined without caring what it actually is. as a matter of fact, in enum c; pragma(msg, typeof(c)); // _error_ pragma(msg, is(typeof(c)) );// false enum d = __traits(compiles, c); pragma(msg, d); // true this is kinda happening. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 9016] swap() doesn't work with std.container.DList.front and back
https://d.puremagic.com/issues/show_bug.cgi?id=9016 monarchdo...@gmail.com changed: What|Removed |Added Status|NEW |RESOLVED CC||monarchdo...@gmail.com Resolution||FIXED --- Comment #1 from monarchdo...@gmail.com 2014-04-07 07:39:28 PDT --- This didn't work because containers were sealed, and swap operates on references. It is now resolved thanks to the unsealing of containers: https://github.com/D-Programming-Language/phobos/pull/1857 -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 9015] std.container.DList.opOpAssign missing return
https://d.puremagic.com/issues/show_bug.cgi?id=9015 monarchdo...@gmail.com changed: What|Removed |Added Status|NEW |RESOLVED CC||monarchdo...@gmail.com Resolution||FIXED --- Comment #1 from monarchdo...@gmail.com 2014-04-07 07:37:07 PDT --- Fixed in https://github.com/D-Programming-Language/phobos/pull/1954 -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 12434] std.algorithm.sum of immutable array too
https://d.puremagic.com/issues/show_bug.cgi?id=12434 Andrej Mitrovic andrej.mitrov...@gmail.com changed: What|Removed |Added Status|NEW |RESOLVED CC||andrej.mitrov...@gmail.com Resolution||FIXED -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8772] DList.remove doesn't work with result of std.range.take
https://d.puremagic.com/issues/show_bug.cgi?id=8772 monarchdo...@gmail.com changed: What|Removed |Added Status|NEW |RESOLVED CC||monarchdo...@gmail.com Resolution||INVALID --- Comment #3 from monarchdo...@gmail.com 2014-04-07 07:49:12 PDT --- This is invalid, as remove is a O(1) operation, but removing a Take!Range is linear operation. So that's an invalid argument. The correct way to remove a Take!Range, is to use the linear removal function: linearRemove: // import std.range, std.algorithm, std.container; void main() { auto list = DList!int([1,2,3,4,5]); list.linearRemove(list[].find(3).take(1)); } // Well, that's how it is right now anyways. If/when DList will have deterministic ownership of its elements, things could change, since it would have to call destructor on the removed elements... -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 12434] std.algorithm.sum of immutable array too
https://d.puremagic.com/issues/show_bug.cgi?id=12434 --- Comment #3 from github-bugzi...@puremagic.com 2014-04-07 07:43:45 PDT --- Commits pushed to master at https://github.com/D-Programming-Language/phobos https://github.com/D-Programming-Language/phobos/commit/6123ca33713ddd0dfcded8a46bcbef5c3e8e8a50 Fix Issue 12434 - std.algorithm.sum of immutable array too https://d.puremagic.com/issues/show_bug.cgi?id=12434 Simply uses the inference's `Unqual` type as a seed, rather than the straight up result. Also add some unittesting while at it. https://github.com/D-Programming-Language/phobos/commit/a3269b7591c21f0617ab687051a684766304c479 Merge pull request #2071 from monarchdodra/12434 Fix Issue 12434 - std.algorithm.sum of immutable array too -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 12476] Assert error in interpret.c:3204
https://d.puremagic.com/issues/show_bug.cgi?id=12476 --- Comment #2 from github-bugzi...@puremagic.com 2014-04-07 10:45:43 PDT --- Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/9a7f2a251ecf74852b30e3980d7192953ff44985 fix Issue 12476 - Assert error in interpret.c:3204 https://github.com/D-Programming-Language/dmd/commit/caf5992b236deaee860e9e5a1e1caa9e5f849db9 Merge pull request #3433 from 9rnsr/fix12476 Issue 12476 - Assert error in interpret.c:3204 -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 12460] Crash with goto and static if
https://d.puremagic.com/issues/show_bug.cgi?id=12460 --- Comment #2 from github-bugzi...@puremagic.com 2014-04-07 08:32:29 PDT --- Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/15fa38b9238c1bfb56214dc6ac76963843c011c6 fix Issue 12460 - Crash with goto and static if By implementing issue 10199, LabelStatement::statement may be NULL. So LabelStatement::syntaxCopy should consider the case. https://github.com/D-Programming-Language/dmd/commit/aee4e6d51ed3d26b26eb2b7af5ee15d35b7664eb Merge pull request #3434 from 9rnsr/fix12460 Issue 12460 - Crash with goto and static if -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 12390] [REG2.066a] has no effect in expression diagnostic regression
https://d.puremagic.com/issues/show_bug.cgi?id=12390 --- Comment #5 from github-bugzi...@puremagic.com 2014-04-07 10:39:53 PDT --- Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/89ca0a14eb2b0a3e232a2eded5f43693d02510e3 fix Issue 12390 - has no effect in expression diagnostic regression When value discarding check on statements, the side-effect check should not be done deeply. https://github.com/D-Programming-Language/dmd/commit/b80a6da17ac42c8976f5e552faff1b969593bdc0 Merge pull request #3432 from 9rnsr/fix12390 [REG2.066a] Issue 12390 - has no effect in expression diagnostic regression -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 12312] Regression (2.064): Diagnostic for void static arrays has gone bad
https://d.puremagic.com/issues/show_bug.cgi?id=12312 --- Comment #3 from github-bugzi...@puremagic.com 2014-04-07 11:21:47 PDT --- Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/2986f41ad1a3e6955b81a74b2403dadb2e56f8d7 fix Issue 12312 - Diagnostic for void static arrays has gone bad https://github.com/D-Programming-Language/dmd/commit/21a1c035b3a0f466c4b0fa4fc26781d1c8c697f5 Merge pull request #3428 from 9rnsr/fix12312 [REG2.064] Issue 12312 - Diagnostic for void static arrays has gone bad -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 12539] New: Compiler crash when looking up a nonexistent tuple element in an associative array
https://d.puremagic.com/issues/show_bug.cgi?id=12539 Summary: Compiler crash when looking up a nonexistent tuple element in an associative array Product: D Version: unspecified Platform: x86_64 OS/Version: Windows Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: gamecu...@hotmail.com --- Comment #0 from gamecu...@hotmail.com 2014-04-07 11:29:30 PDT --- Happens on Windows 7 x86_64 with DMD 2.065 Does not happen on DPaste ``` template Tuple (E...) { alias Tuple = E; } void main () { // Would be a string tuple. alias Foo = Tuple!(); int[string] map = []; auto a = map[Foo[0]]; } ``` I would expect a build failure (as happens on DPaste), but not a compiler crash. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 12534] ICE on using expression tuple as type tuple
https://d.puremagic.com/issues/show_bug.cgi?id=12534 --- Comment #2 from github-bugzi...@puremagic.com 2014-04-07 12:50:29 PDT --- Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/478b03d5d6fd7c3f88447bccb91beeaad4523d4f fix Issue 12534 - ICE on using expression tuple as type tuple TypeSlice::next should be handled as same as TypeSArray and TypeDArray - if the next part is reduced to error type, it should not be returned to the original field. https://github.com/D-Programming-Language/dmd/commit/8fd2207dfc52586035c9b855577fde815b69a33c Merge pull request #3429 from 9rnsr/fix12534 Issue 12534 - ICE on using expression tuple as type tuple -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 12540] New: Algebraic recursive alias declaration when a class contains an Algebraic member that can accept itself
https://d.puremagic.com/issues/show_bug.cgi?id=12540 Summary: Algebraic recursive alias declaration when a class contains an Algebraic member that can accept itself Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: Phobos AssignedTo: nob...@puremagic.com ReportedBy: tcdknut...@gmail.com --- Comment #0 from Dylan Knutson tcdknut...@gmail.com 2014-04-07 12:03:58 PDT --- It's not possible to create an Algebraic alias which can take a class, where that class has the same algebraic type as a member. Example code: ``` import std.variant; alias SomeAlg = Algebraic!SomeClass; class SomeClass { SomeAlg entity; } void main() {} ``` Yielding the error: ``` /d519/f212.d(3): Error: alias f212.SomeAlg recursive alias declaration /opt/compilers/dmd2/include/std/variant.d(1227): Error: template instance std.variant.maxSize!(SomeClass) error instantiating /d519/f212.d(3):instantiated from here: Algebraic!(SomeClass) /d519/f212.d(3): Error: template instance std.variant.Algebraic!(SomeClass) error instantiating ``` What's perhaps stranger is that this code does work: ``` import std.variant; //alias SomeAlg = Algebraic!SomeClass; class SomeClass { Algebraic!SomeClass entity; } void main() {} ``` But it's doing, as far as I can tell, the exact same thing. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 12499] tuple/TypeTuple 1-Arg initialization fails during CTFE.
https://d.puremagic.com/issues/show_bug.cgi?id=12499 --- Comment #2 from github-bugzi...@puremagic.com 2014-04-07 13:39:25 PDT --- Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/c53eb66756f2911f50e103068d4b8575bfbc5542 fix Issue 12499 - tuple/TypeTuple 1-Arg initialization fails during CTFE https://github.com/D-Programming-Language/dmd/commit/d9864ef218a423e3c6946e5b6d745fb9e6729ef6 Merge pull request #3420 from 9rnsr/fix12499 Issue 12499 - tuple/TypeTuple 1-Arg initialization fails during CTFE -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 12499] tuple/TypeTuple 1-Arg initialization fails during CTFE.
https://d.puremagic.com/issues/show_bug.cgi?id=12499 Kenji Hara k.hara...@gmail.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 12476] Assert error in interpret.c:3204
https://d.puremagic.com/issues/show_bug.cgi?id=12476 Kenji Hara k.hara...@gmail.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 12534] ICE on using expression tuple as type tuple
https://d.puremagic.com/issues/show_bug.cgi?id=12534 Kenji Hara k.hara...@gmail.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 12312] Regression (2.064): Diagnostic for void static arrays has gone bad
https://d.puremagic.com/issues/show_bug.cgi?id=12312 Kenji Hara k.hara...@gmail.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 12460] Crash with goto and static if
https://d.puremagic.com/issues/show_bug.cgi?id=12460 Kenji Hara k.hara...@gmail.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 12390] [REG2.066a] has no effect in expression diagnostic regression
https://d.puremagic.com/issues/show_bug.cgi?id=12390 Kenji Hara k.hara...@gmail.com changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution||FIXED -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 12539] Compiler crash when looking up a nonexistent tuple element in an associative array
https://d.puremagic.com/issues/show_bug.cgi?id=12539 Kenji Hara k.hara...@gmail.com changed: What|Removed |Added Keywords||ice, pull Platform|x86_64 |All Version|unspecified |D2 OS/Version|Windows |All --- Comment #1 from Kenji Hara k.hara...@gmail.com 2014-04-07 18:23:21 PDT --- https://github.com/D-Programming-Language/dmd/pull/3435 -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 12541] New: templated __traits(compiles, ...) on value symbols causes a compilation error - under certain conditions
https://d.puremagic.com/issues/show_bug.cgi?id=12541 Summary: templated __traits(compiles, ...) on value symbols causes a compilation error - under certain conditions Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: major Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: 2k...@gmx.net --- Comment #0 from det 2k...@gmx.net 2014-04-07 22:46:42 PDT --- now this is quite intricate, please bear with me. under certain conditions (see below), compilation fails with an unsubstantiated error message when trying to assign the outcome of a __traits(compiles, ...) reflection via template. in the two following code examples (compile separately) 'test' is the test symbol that shall be validated, i.e., tested via __traits(compiles, ...). this shall happen indirectly through the template 'valid'. the two examples demonstrate two slightly different conditions under which compilation fails with error message variable [...] had semantic errors when compiling. this buggy behavior occurs only if the test symbol in question is a value (enum, const, inmutable). test symbols that are functions, structs, classes or empty enums don't cause any problems. this is quite a show-stopper for the meta / code reflection / code generation stuff i am working on. it probably contains the root cause for many other issues that are very difficult to reduce. it is actually an example for a heisenbug: if you add a pragma(msg, ...) at the right place for inspection (see example/condition 2), the bug will disappear! === CODE EXAMPLE / CONDITION 1 === /++ bug condition 1: if first call to __traits(compiles, ...) is via template, then compilation fails for test symbols that are enum, const and immutable values but: o always works for test symbols that are funcs, structs, classes and empty enums ++/ enum fails = valid!(test); // Error: variable fails had semantic errors when compiling pragma(msg, fails: ~fails.stringof); // true // always works (as expected): enum ok = __traits(compiles, test); pragma(msg, ok: ~ok.stringof);// true enum test = 13; // fails // immutable test = 42;// fails // const test = 42;// fails //BUT: // enum test; // works // void test(){} // works // struct test{} // works // class test{}// works // always works (as expected): enum ok2 = valid!(test); pragma(msg, ok2: ~ok2.stringof); // true template valid(alias sym){ enum valid = __traits(compiles, sym); } // no difference if this template is declared first void main(){} === CODE EXAMPLE / CONDITION 2 === /++ bug condition 2: if first call to __traits(compiles, ...) happens from module level and is not inquiring about the test symbol, then compilation fails for test symbols that are enum, const and immutable values. but: o will compile if first call is __traits(compiles, test) o always works for test symbols that are funcs, structs, classes and empty enums ++/ enum ok = __traits(compiles, main); // 'enum fails' below will not compile! // pragma(msg, __traits(compiles, test) ); // 'enum fails' below will compile now // enum ok = __traits(compiles, test); // 'enum fails' below will compile now // pragma(msg, ok: ~ok.stringof);// true enum fails = valid!(test); // Error: variable fails had semantic errors when compiling pragma(msg, fails: ~fails.stringof); // true enum test = 13; // enum test; // no compilation errors if test symbol is not a value // fails only for enum, const and immutable values // (but always works for functions, structs, classes and empty enums) // always works (as expected): enum ok2 = valid!(test); pragma(msg, ok2: ~ok2.stringof); // true template valid(alias sym){ enum valid = __traits(compiles, sym); } // no difference if this template is declared first void main(){} -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 12533] instantiated template using __traits(compiles, ...) causes semantic errors when reused
https://d.puremagic.com/issues/show_bug.cgi?id=12533 --- Comment #1 from det 2k...@gmx.net 2014-04-07 22:50:35 PDT --- (In reply to comment #0) might be caused by issue 12541. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---