[Issue 8608] ICE(interpret.c): CTFE of erroneous struct with postblit
http://d.puremagic.com/issues/show_bug.cgi?id=8608 Don clugd...@yahoo.com.au changed: What|Removed |Added Version|unspecified |D2 Summary|CTFE seems to be invoked|ICE(interpret.c): CTFE of |implicitly(std.parallelism. |erroneous struct with |task) |postblit --- Comment #3 from Don clugd...@yahoo.com.au 2012-09-10 01:03:22 PDT --- Reduced test case shows it is related to postblit. - struct Bug8608{ this(this) {} } void func08(Bug8608 x) { } void task08(F)(F fun) {} void bug8608() { Bug8608 file; task08!(func08(file)); } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8624] Regression: CTFE: long comparisons completely broken
http://d.puremagic.com/issues/show_bug.cgi?id=8624 --- Comment #4 from github-bugzi...@puremagic.com 2012-09-10 01:33:07 PDT --- Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/9a732a03c9f671a7c45a9f7dbe485a0b3489f997 Fix issue 8624 Regression: CTFE: long comparisons completely broken An implicit narrowing cast from long to int. Catastrophic. https://github.com/D-Programming-Language/dmd/commit/475178efa63597d6d55a074406678ab92f1075ed Merge pull request #1112 from donc/regression8624ctfe Fix issue 8624 Regression: CTFE: long comparisons completely broken -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8624] Regression: CTFE: long comparisons completely broken
http://d.puremagic.com/issues/show_bug.cgi?id=8624 Walter Bright bugzi...@digitalmars.com 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 8637] New: Enforcement and purity
http://d.puremagic.com/issues/show_bug.cgi?id=8637 Summary: Enforcement and purity Product: D Version: unspecified Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: Phobos AssignedTo: nob...@puremagic.com ReportedBy: monarchdo...@gmail.com --- Comment #0 from monarchdo...@gmail.com 2012-09-10 02:58:42 PDT --- The argument taken by enforce must be castable to bool, so the the implementation can do the cast. However, enforce is declared pure, so if the cast operator is not pure, the compilation fails: import std.regex; import std.exception; void main() { auto m = match(hello world, regex(world)); assert(m); //- Fine enforce(m); //Here } Error: pure function 'enforce' cannot call impure function '~this' Error: pure function 'enforce' cannot call impure function 'opCast' The messages come from: T enforce(T)(T value, lazy const(char)[] msg = null, string file = __FILE__, size_t line = __LINE__) @safe pure { if (!value) bailOut(file, line, msg); return value; } if(!value): This makes an impure call to opCast. enforce(T)(T value... This uses pass by value, and makes an impure call to the destructor I have no idea what a good fix would be. Regarding pass by value, wouldn't this be a textbook example of using auto ref with auto return? I have no idea... -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8629] UFCS resolution prints fake error
http://d.puremagic.com/issues/show_bug.cgi?id=8629 --- Comment #2 from github-bugzi...@puremagic.com 2012-09-10 04:30:28 PDT --- Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/cc4598aa7996bb31982cd90920c4ec37d1711b44 fix Issue 8629 - UFCS resolution prints fake error https://github.com/D-Programming-Language/dmd/commit/caf289137881ec290166afa72bc787bfbd6bd970 Merge pull request #1106 from 9rnsr/fix8629 Issue 8629 - UFCS resolution prints fake error -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8634] Anonymous function parameters
http://d.puremagic.com/issues/show_bug.cgi?id=8634 Maxim Fomin ma...@maxim-fomin.ru changed: What|Removed |Added Status|NEW |RESOLVED Resolution||INVALID --- Comment #4 from Maxim Fomin ma...@maxim-fomin.ru 2012-09-10 05:22:14 PDT --- I have no desire for disputes about things which are not necessarily defective (as revealed here) and claimed by D people to be intentional part of the language. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8638] New: built-in array opSliceAssign fails with user defined opAssign
http://d.puremagic.com/issues/show_bug.cgi?id=8638 Summary: built-in array opSliceAssign fails with user defined opAssign 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 2012-09-10 06:35:34 PDT --- In a word: struct S { void opAssign(int j); } void main() { int[] i; i[] = 5; //Here1 S[] s; s[] = 5; //Here2 } Actual behavior: Here2: Error: cannot implicitly convert expression (5) of type int to S[] Expected behavior: Here2: opAssign(5) is called for each member of s, just like for Here1. Ditto for all other flavors of opSliceSomething. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6764] IFTI fails on typesafe variadic function over static array with non IntegerLiteral length
http://d.puremagic.com/issues/show_bug.cgi?id=6764 Kenji Hara k.hara...@gmail.com changed: What|Removed |Added Version|D1 D2 |D1 --- Comment #3 from Kenji Hara k.hara...@gmail.com 2012-09-10 07:35:48 PDT --- Fixed in D2. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8637] Enforcement and purity
http://d.puremagic.com/issues/show_bug.cgi?id=8637 Kenji Hara k.hara...@gmail.com changed: What|Removed |Added Version|unspecified |D2 --- Comment #1 from Kenji Hara k.hara...@gmail.com 2012-09-10 08:14:02 PDT --- (In reply to comment #0) The argument taken by enforce must be castable to bool, so the the implementation can do the cast. However, enforce is declared pure, so if the cast operator is not pure, the compilation fails: [snip] Error: pure function 'enforce' cannot call impure function '~this' Error: pure function 'enforce' cannot call impure function 'opCast' The cause might be the explicit annotation with pure. The messages come from: T enforce(T)(T value, lazy const(char)[] msg = null, string file = __FILE__, size_t line = __LINE__) @safe pure { if (!value) bailOut(file, line, msg); return value; } if(!value): This makes an impure call to opCast. enforce(T)(T value... This uses pass by value, and makes an impure call to the destructor I have no idea what a good fix would be. Regarding pass by value, wouldn't this be a textbook example of using auto ref with auto return? I have no idea... The strict pure annotation is introduced by the pull #263. https://github.com/D-Programming-Language/phobos/pull/263 As you can see, the pure annotations were just for the documentation. At this point, impure destructor had not been considered at all in the discussion. Then, now, the pure annotation causes this problem, so I think we should remove it and rely on the pure attribute inference. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8637] Enforcement and purity
http://d.puremagic.com/issues/show_bug.cgi?id=8637 --- Comment #2 from monarchdo...@gmail.com 2012-09-10 08:43:02 PDT --- If that is the fix, I can make the pull request. Do you want me to do it, or are you on it? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8637] Enforcement and purity
http://d.puremagic.com/issues/show_bug.cgi?id=8637 --- Comment #3 from Kenji Hara k.hara...@gmail.com 2012-09-10 08:49:24 PDT --- (In reply to comment #2) If that is the fix, I can make the pull request. Do you want me to do it, or are you on it? Of course I would welcome your contribution. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8482] RefCounted fails on opAssign
http://d.puremagic.com/issues/show_bug.cgi?id=8482 monarchdo...@gmail.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #2 from monarchdo...@gmail.com 2012-09-10 08:45:54 PDT --- Fixed in https://github.com/D-Programming-Language/phobos/pull/724 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8637] Enforcement and purity
http://d.puremagic.com/issues/show_bug.cgi?id=8637 monarchdo...@gmail.com changed: What|Removed |Added Status|NEW |ASSIGNED AssignedTo|nob...@puremagic.com|monarchdo...@gmail.com --- Comment #4 from monarchdo...@gmail.com 2012-09-10 08:57:48 PDT --- Will commit fix myself then. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8637] Enforcement and purity
http://d.puremagic.com/issues/show_bug.cgi?id=8637 Jonathan M Davis jmdavisp...@gmx.com changed: What|Removed |Added CC||jmdavisp...@gmx.com --- Comment #5 from Jonathan M Davis jmdavisp...@gmx.com 2012-09-10 09:07:50 PDT --- Both the annotation for pure and @safe need to go, because T's destructor and opCast could be impure or non-@safe. When the explicit annotations were added, clearly the destructor and opCast were not taken into account, since they're not called directly and are easily forgotten. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8637] Enforcement and purity
http://d.puremagic.com/issues/show_bug.cgi?id=8637 --- Comment #6 from Kenji Hara k.hara...@gmail.com 2012-09-10 09:15:20 PDT --- (In reply to comment #5) Both the annotation for pure and @safe need to go, because T's destructor and opCast could be impure or non-@safe. When the explicit annotations were added, clearly the destructor and opCast were not taken into account, since they're not called directly and are easily forgotten. Oh, that's right. We should remove both 'pure' and '@safe', and need to depends on fully attribute inference. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8637] Enforcement and purity
http://d.puremagic.com/issues/show_bug.cgi?id=8637 Dmitry Olshansky dmitry.o...@gmail.com changed: What|Removed |Added CC||dmitry.o...@gmail.com --- Comment #7 from Dmitry Olshansky dmitry.o...@gmail.com 2012-09-10 12:44:17 PDT --- Sorry, it had regex somewhere in description so I jumped in ;) https://github.com/D-Programming-Language/phobos/pull/783 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8637] Enforcement and purity
http://d.puremagic.com/issues/show_bug.cgi?id=8637 --- Comment #8 from monarchdo...@gmail.com 2012-09-10 13:59:53 PDT --- Darn! Kidding asside, thanks. BTW, I just made touch on std.regex itself. Seems like you may have wanted to know: https://github.com/D-Programming-Language/phobos/pull/784 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---