[Issue 6518] break inside a static foreach inside a switch
http://d.puremagic.com/issues/show_bug.cgi?id=6518 yebblies changed: What|Removed |Added Keywords||patch, rejects-valid CC||yebbl...@gmail.com Platform|x86 |All OS/Version|Windows |All --- Comment #4 from yebblies 2011-09-07 14:12:22 EST --- https://github.com/D-Programming-Language/dmd/pull/370 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 5980] foreach element of a type tuple of string literals is not implicitly convertible to immutable(char)*
http://d.puremagic.com/issues/show_bug.cgi?id=5980 yebblies changed: What|Removed |Added Status|NEW |RESOLVED CC||yebbl...@gmail.com Resolution||FIXED --- Comment #8 from yebblies 2011-09-07 13:56:12 EST --- Fixed in 2.055 beta, probably the same as issue 6220. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6615] Implement optimization for downcast to final class
http://d.puremagic.com/issues/show_bug.cgi?id=6615 --- Comment #1 from timon.g...@gmx.ch 2011-09-06 16:44:26 PDT --- hm, ok. It seems that druntime actually does shortcut and most of the difference boils down to the fact that the druntime function cannot be inlined... -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6615] New: Implement optimization for downcast to final class
http://d.puremagic.com/issues/show_bug.cgi?id=6615 Summary: Implement optimization for downcast to final class Product: D Version: D2 Platform: Other OS/Version: Linux Status: NEW Severity: enhancement Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: timon.g...@gmx.ch --- Comment #0 from timon.g...@gmx.ch 2011-09-06 16:36:04 PDT --- Consider this benchmark: import std.stdio, std.datetime; class A{} final class B:A{} A x; static this(){x=new B;} B f1(){ return cast(B)x; } T fastCast(T,R)(R x){return typeid(x) is typeid(T)?cast(T)cast(void*)x:null;} B f2(){ return fastCast!(B)(x); } void main() { auto a=benchmark!(f1,f2)(100); writeln(a[0].to!("seconds",double)); writeln(a[1].to!("seconds",double)); } f2 is about 30x faster on my machine, compiled with dmd -O -release -inline. (DMD 2.054). If the benchmark is changed so that the cast does not succeed, the difference is even larger. This means DMD should probably optimize downcasts to final classes to a simple typeid pointer comparison. That is safe, because final classes have no children. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6614] New: std.traits should have an isFinal template
http://d.puremagic.com/issues/show_bug.cgi?id=6614 Summary: std.traits should have an isFinal template Product: D Version: D2 Platform: Other OS/Version: Linux Status: NEW Severity: enhancement Priority: P2 Component: Phobos AssignedTo: nob...@puremagic.com ReportedBy: timon.g...@gmx.ch --- Comment #0 from timon.g...@gmx.ch 2011-09-06 16:22:20 PDT --- std.traits should have an isFinal template which indicates if a class type or member function is final. class A{} final class B{} static assert(!isFinal!A && isFinal!B); class C{int foo();} class D{final int foo();} static assert(!isFinal!(C.foo) && isFinal!(D.foo)); -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6607] critical_.d and critical.c use double check locking the wrong way
http://d.puremagic.com/issues/show_bug.cgi?id=6607 --- Comment #2 from deadalnix 2011-09-06 14:33:22 PDT --- Actually, even if the compiler do not reorder that, modern CPU can, and this is out of control, unless specific precautions are used. It's even more problematic now that almost everybody has a multicore CPU. We need stronger guaranties to make the double check locking pattern valid, for exemple guaranties that java's 5+ volatile keyword provide. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6613] New: Can't use empty tuple as default value for variadic template function parameter
http://d.puremagic.com/issues/show_bug.cgi?id=6613 Summary: Can't use empty tuple as default value for variadic template function parameter Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: minor Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: thecybersha...@gmail.com --- Comment #0 from Vladimir Panteleev 2011-09-06 12:40:19 PDT --- template Tuple(T...) { alias T Tuple; } void f(T...)(int arg0 = 0, T argN = Tuple!()); static this() { f(); } Compiler output: test.d(3): Error: cannot implicitly convert expression (tuple()) of type () to () test.d(5): Error: template instance test.f!() error instantiating The compiler requires a default value for argN, because it comes after another optional argument, but it doesn't seem like an empty tuple can be specified. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6045] Unable to demangle symbols
http://d.puremagic.com/issues/show_bug.cgi?id=6045 Sean Kelly changed: What|Removed |Added CC||s...@invisibleduck.org --- Comment #2 from Sean Kelly 2011-09-06 12:13:06 PDT --- Is that second symbol really valid? Here's a brief run-down of one pertinent portion of the parse, given: 70__T15SqlitePersisterTS8serenity9persister6Sqlite11__unittest6FZ The format for a TemplateInstanceName is: Number __T LName TemplateArgs Z So we pick off '70' as Number, match the '__T', pick out the LName of "SqlitePersister", then match a template arg (which begin with a 'T', 'V', or 'S') to get "serenity.persister.Sqlite.__unittest6". At this point we expect a 'T', 'V', or 'S' if there's another template arg to parse... there isn't one, so we jump back to parsing the TemplateInstance name and expect a 'Z' to terminate the name. We find an 'F' instead, so this isn't a template name and so we assume that this is a weird qualified name instead. Is there some use of the 'F' that the ABI doesn't mention? Otherwise I think core.demangle is currently correct in its treatment of the second symbol. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4890] GC.collect() deadlocks multithreaded program.
http://d.puremagic.com/issues/show_bug.cgi?id=4890 Sean Kelly changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #6 from Sean Kelly 2011-09-06 11:39:15 PDT --- A thread will be added to the global thread list before its TLS range is set, but the range will be set before the thread ever actually uses TLS data. I think this one can be closed. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6607] critical_.d and critical.c use double check locking the wrong way
http://d.puremagic.com/issues/show_bug.cgi?id=6607 Sean Kelly changed: What|Removed |Added Status|NEW |ASSIGNED CC||s...@invisibleduck.org --- Comment #1 from Sean Kelly 2011-09-06 11:27:42 PDT --- I've always hoped that because Walter implemented this module, he did so knowing how DMD would generate the involved code. I do agree that this isn't a safe long-term assumption though, since the compiler may change, leaving the need to update this code as a forgotten detail. What should really happen is for all the .c modules to be transitioned to .d modules, and for any questionable practices like these to be changed to something more universally reliable. Between new language features and core.atomic I think this can be improved without actually sacrificing performance. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6611] array[]++ and array[]-- too?
http://d.puremagic.com/issues/show_bug.cgi?id=6611 --- Comment #3 from yebblies 2011-09-07 03:41:35 EST --- (In reply to comment #2) > I understand. If doing this is not good, then I suggest to turn this into a > diagnostic enhancement request. So given code like this: > It's probably not worth introducing yet another hidden allocation, or a special case as it can be easily written using pre-inc. > void main() { > int[10] a; > a[]++; > } > > > to raise a single error message that explains why that vector op is on purpose > not supported. That sounds reasonable, the error message is terrible. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6611] array[]++ and array[]-- too?
http://d.puremagic.com/issues/show_bug.cgi?id=6611 --- Comment #2 from bearophile_h...@eml.cc 2011-09-06 10:22:34 PDT --- (In reply to comment #1) > This line implies the following > a[]++ => (auto tmp = a[].dup, ++a[], tmp) > > Do we really want it to be this easy to do? I understand. If doing this is not good, then I suggest to turn this into a diagnostic enhancement request. So given code like this: void main() { int[10] a; a[]++; } to raise a single error message that explains why that vector op is on purpose not supported. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 5665] DmdScript Bug, Program.compile is very slow
http://d.puremagic.com/issues/show_bug.cgi?id=5665 Dmitry Olshansky changed: What|Removed |Added CC||dmitry.o...@gmail.com --- Comment #2 from Dmitry Olshansky 2011-09-06 08:48:34 PDT --- Thanks for pointing this out, I was maintaining D2 port in my spare time, and will sure have a look at this. As for DMDscript bugzilla here it is: http://bugzilla.digitalmars.com/issues/ -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6611] array[]++ and array[]-- too?
http://d.puremagic.com/issues/show_bug.cgi?id=6611 yebblies changed: What|Removed |Added CC||yebbl...@gmail.com --- Comment #1 from yebblies 2011-09-06 23:34:55 EST --- This line implies the following a[]++ => (auto tmp = a[].dup, ++a[], tmp) Do we really want it to be this easy to do? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6612] New: Associative arrays with associative array keys literals
http://d.puremagic.com/issues/show_bug.cgi?id=6612 Summary: Associative arrays with associative array keys literals Product: D Version: D2 Platform: x86 OS/Version: Windows Status: NEW Keywords: rejects-valid Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: bearophile_h...@eml.cc --- Comment #0 from bearophile_h...@eml.cc 2011-09-06 03:21:48 PDT --- void main() { auto aa1 = [1: 2]; // OK auto aa2 = [4: 5]; // OK int[int[int]] aa3 = [a1a:3, a1b:6]; // OK int[int[int]] aa4 = [[1:2]:3, [4:5]:6]; // error } DMD 2.055beta shows: test.d(5): comma expected separating array initializers, not : test.d(5): semicolon expected, not '3' test.d(5): found ':' when expecting ';' following statement test.d(5): found ']' when expecting ';' following statement -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6611] New: array[]++ and array[]-- too?
http://d.puremagic.com/issues/show_bug.cgi?id=6611 Summary: array[]++ and array[]-- too? Product: D Version: D2 Platform: x86 OS/Version: Windows Status: NEW Severity: enhancement Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: bearophile_h...@eml.cc --- Comment #0 from bearophile_h...@eml.cc 2011-09-06 03:17:47 PDT --- This code contains two operations that are refused by DMD2.055beta: void main() { int[10] a; a[] += 1; // OK ++a[];// OK --a[];// OK a[]++;// line 6, error a[]--;// line 7, error } test2.d(6): Error: slice expression a[] is not a modifiable lvalue test2.d(6): Error: 'a[]' is not a scalar, it is a int[] test2.d(6): Error: cannot cast int to int[] test2.d(7): Error: slice expression a[] is not a modifiable lvalue test2.d(7): Error: 'a[]' is not a scalar, it is a int[] test2.d(7): Error: cannot cast int to int[] Maybe it's better to allow the last two lines too. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4977] cannot use nothrow or pure with Rebindable
http://d.puremagic.com/issues/show_bug.cgi?id=4977 Kenji Hara changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #5 from Kenji Hara 2011-09-06 03:05:22 PDT --- https://github.com/D-Programming-Language/phobos/commit/936f2a4c38dcca8cfe0a7e4247bddcff2f19f8ba -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6610] New: opAssign when copy-ing array
http://d.puremagic.com/issues/show_bug.cgi?id=6610 Summary: opAssign when copy-ing array Product: D Version: unspecified Platform: Other OS/Version: All Status: NEW Severity: minor Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: luka8...@owave.net --- Comment #0 from luka8088 2011-09-06 02:47:02 PDT --- /* * As discussed on #d @ freenode on 2011-09-06 * Should this work ? * */ import std.stdio; struct s { int a; int b; int c; void opAssign (s value) { // Should opAssign be call for each array member ? (&this)[0..1] = (&value)[0..1]; // causes infinite loop (as it should) // this = value; this.c = 4; } } void main () { writeln("start"); s s1; s1.a = 1; s1.b = 2; s1.c = 3; s s2; s2 = s1; writeln(s1.a, " ", s1.b, " ", s1.c); // 1 2 3 writeln(s2.a, " ", s2.b, " ", s2.c); // 1 2 4 writeln("end"); } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6377] std.conv.to should check range when changing signedness
http://d.puremagic.com/issues/show_bug.cgi?id=6377 Kenji Hara changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #9 from Kenji Hara 2011-09-06 02:44:21 PDT --- https://github.com/D-Programming-Language/phobos/commit/995ddfc3316a6f6c520f84e6b44fb6c6c3c26d63 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3813] Bad writeln of arrays
http://d.puremagic.com/issues/show_bug.cgi?id=3813 --- Comment #24 from bearophile_h...@eml.cc 2011-09-06 02:31:57 PDT --- (In reply to comment #23) > Why are we spending our valuable time on this? Because I print tuples often, and I'd like to see this situation improved. See also: http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D&article_id=143987 > Quite honestly I think the noise is in this discussion. It was an useful discussion already: http://d.puremagic.com/issues/show_bug.cgi?id=6606 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6606] RefCounted doesn't work with unions due to use of format
http://d.puremagic.com/issues/show_bug.cgi?id=6606 Jonathan M Davis changed: What|Removed |Added Status|NEW |RESOLVED CC||jmdavisp...@gmx.com Resolution||FIXED -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 5590] ICE when using .values on enum which is associative array
http://d.puremagic.com/issues/show_bug.cgi?id=5590 yebblies changed: What|Removed |Added Status|RESOLVED|REOPENED CC||yebbl...@gmail.com Platform|x86 |All Resolution|DUPLICATE | OS/Version|Linux |All --- Comment #4 from yebblies 2011-09-06 19:10:00 EST --- Not a duplicate, but probably related. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3180] Covariance of delegates/function pointers
http://d.puremagic.com/issues/show_bug.cgi?id=3180 yebblies changed: What|Removed |Added Keywords||patch Severity|normal |critical --- Comment #12 from yebblies 2011-09-06 19:02:19 EST --- Part was fixed by https://github.com/D-Programming-Language/dmd/commit/dfb683f63ec89709b0bf2760ef3b2a249ce320eb Raising importance as while not a regression, this fixes one. (bug 6352) Pull for the remaining common type bugs: https://github.com/D-Programming-Language/dmd/pull/368 --- Comment #13 from yebblies 2011-09-06 19:03:45 EST --- Part was fixed by https://github.com/D-Programming-Language/dmd/commit/dfb683f63ec89709b0bf2760ef3b2a249ce320eb Raising importance as while not a regression, this fixes one. (bug 6352) Pull for the remaining common type bugs: https://github.com/D-Programming-Language/dmd/pull/368 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3180] Covariance of delegates/function pointers
http://d.puremagic.com/issues/show_bug.cgi?id=3180 yebblies changed: What|Removed |Added Keywords||patch Severity|normal |critical --- Comment #12 from yebblies 2011-09-06 19:02:19 EST --- Part was fixed by https://github.com/D-Programming-Language/dmd/commit/dfb683f63ec89709b0bf2760ef3b2a249ce320eb Raising importance as while not a regression, this fixes one. (bug 6352) Pull for the remaining common type bugs: https://github.com/D-Programming-Language/dmd/pull/368 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3180] Covariance of delegates/function pointers
http://d.puremagic.com/issues/show_bug.cgi?id=3180 yebblies changed: What|Removed |Added CC||clugd...@yahoo.com.au --- Comment #11 from yebblies 2011-09-06 18:49:34 EST --- *** Issue 3267 has been marked as a duplicate of this issue. *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3267] int delegate() should be implicitly castable to const(int) delegate()
http://d.puremagic.com/issues/show_bug.cgi?id=3267 yebblies changed: What|Removed |Added Status|NEW |RESOLVED CC||yebbl...@gmail.com Resolution||DUPLICATE --- Comment #1 from yebblies 2011-09-06 18:49:34 EST --- *** This issue has been marked as a duplicate of issue 3180 *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6608] Tuple field is not escaped
http://d.puremagic.com/issues/show_bug.cgi?id=6608 bearophile_h...@eml.cc changed: What|Removed |Added Status|NEW |RESOLVED CC||bearophile_h...@eml.cc Resolution||FIXED --- Comment #2 from bearophile_h...@eml.cc 2011-09-06 01:45:10 PDT --- Merged, and it works. Thanks for your work. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6014] rt_finalize Segmentation fault , dmd 2.053 on linux & freebsd
http://d.puremagic.com/issues/show_bug.cgi?id=6014 --- Comment #16 from Don 2011-09-06 01:24:59 PDT --- *** Issue 5766 has been marked as a duplicate of this issue. *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 5766] undefined reference to `_D3std4bind12__ModuleInfoZ'
http://d.puremagic.com/issues/show_bug.cgi?id=5766 Don changed: What|Removed |Added Status|NEW |RESOLVED Resolution||DUPLICATE --- Comment #3 from Don 2011-09-06 01:24:59 PDT --- Bug 6014 has the same test case, and unlike this bug report, it makes sense. *** This issue has been marked as a duplicate of issue 6014 *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3180] Covariance of delegates/function pointers
http://d.puremagic.com/issues/show_bug.cgi?id=3180 yebblies changed: What|Removed |Added Keywords|patch | Status|RESOLVED|REOPENED Platform|Other |All Resolution|FIXED | OS/Version|Windows |All --- Comment #10 from yebblies 2011-09-06 18:12:49 EST --- Partial is partial. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6337] [CTFE] ICE when touching member variable of struct during CTFE
http://d.puremagic.com/issues/show_bug.cgi?id=6337 Don changed: What|Removed |Added CC||soy...@gmail.com --- Comment #4 from Don 2011-09-06 00:56:59 PDT --- *** Issue 6323 has been marked as a duplicate of this issue. *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6323] Regression(2.054) calling opAssign inside a struct initializer
http://d.puremagic.com/issues/show_bug.cgi?id=6323 Don changed: What|Removed |Added Resolution|FIXED |DUPLICATE --- Comment #3 from Don 2011-09-06 00:56:59 PDT --- *** This issue has been marked as a duplicate of issue 6337 *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6584] ICE on large version number/debug level
http://d.puremagic.com/issues/show_bug.cgi?id=6584 yebblies changed: What|Removed |Added Keywords||patch CC||yebbl...@gmail.com Platform|Other |All OS/Version|Linux |All --- Comment #1 from yebblies 2011-09-06 17:56:45 EST --- https://github.com/D-Programming-Language/dmd/pull/366 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6323] Regression(2.054) calling opAssign inside a struct initializer
http://d.puremagic.com/issues/show_bug.cgi?id=6323 Don changed: What|Removed |Added Status|NEW |RESOLVED CC||clugd...@yahoo.com.au Resolution||FIXED --- Comment #2 from Don 2011-09-06 00:56:42 PDT --- This had the same root cause as bug 6337. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6608] Tuple field is not escaped
http://d.puremagic.com/issues/show_bug.cgi?id=6608 Kenji Hara changed: What|Removed |Added Keywords||patch --- Comment #1 from Kenji Hara 2011-09-06 00:04:41 PDT --- https://github.com/D-Programming-Language/phobos/pull/242 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6606] RefCounted doesn't work with unions due to use of format
http://d.puremagic.com/issues/show_bug.cgi?id=6606 Kenji Hara changed: What|Removed |Added Keywords||patch --- Comment #4 from Kenji Hara 2011-09-06 00:04:34 PDT --- https://github.com/D-Programming-Language/phobos/pull/242 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---