[Issue 7476] Write(ln) functions no longer accept retro range
http://d.puremagic.com/issues/show_bug.cgi?id=7476 Kevin changed: What|Removed |Added CC||ke...@brogan.ca --- Comment #1 from Kevin 2012-02-10 00:34:41 PST --- Works for me. Windows 7 64bit - Service Pack 1 C:\Users\Kevin\Documents\D Projects\ConsoleApp1\ConsoleApp1\bin>where dmd C:\D\dmd\windows\bin\dmd.exe C:\D\dmd2\windows\bin\dmd.exe C:\Users\Kevin\Documents\D Projects\ConsoleApp1\ConsoleApp1\bin>C:\D\dmd2\windows\bin\dmd.exe ..\main.d C:\Users\Kevin\Documents\D Projects\ConsoleApp1\ConsoleApp1\bin>main.exe dcba C:\Users\Kevin\Documents\D Projects\ConsoleApp1\ConsoleApp1\bin>type ..\main.d import std.stdio, std.range; void main() { write(retro("abcd")); } C:\Users\Kevin\Documents\D Projects\ConsoleApp1\ConsoleApp1\bin>C:\D\dmd2\windows\bin\dmd.exe DMD32 D Compiler v2.057 Copyright (c) 1999-2011 by Digital Mars written by Walter Bright Documentation: http://www.digitalmars.com/d/2.0/index.html Usage: --- truncate --- -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7476] Write(ln) functions no longer accept retro range
http://d.puremagic.com/issues/show_bug.cgi?id=7476 --- Comment #2 from Kevin 2012-02-10 00:38:30 PST --- Wait, I'm confused. You said it works on 2.057 (which I can confirm). What version is it not working on? 2.057 is the latest. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7476] Write(ln) functions no longer accept retro range
http://d.puremagic.com/issues/show_bug.cgi?id=7476 Jonathan M Davis changed: What|Removed |Added CC||jmdavisp...@gmx.com --- Comment #3 from Jonathan M Davis 2012-02-10 00:43:32 PST --- > Wait, I'm confused. You said it works on 2.057 (which I can confirm). What > version is it not working on? 2.057 is the latest. The latest on github (and the current 2.058 beta). -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6406] [2.054] Libraries not working on Ubuntu
http://d.puremagic.com/issues/show_bug.cgi?id=6406 Don changed: What|Removed |Added Status|NEW |RESOLVED CC||clugd...@yahoo.com.au Resolution||FIXED --- Comment #2 from Don 2012-02-10 01:31:21 PST --- The 2.057 .deb package works for me on Ububntu 11.10. The 2.054 .deb package doesn't seem to be available any more, so I don't know if it was a problem with the users setup, or a genuine bug which has been fixed. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7475] Regression(2.058 beta): Template member erroneously inaccessible
http://d.puremagic.com/issues/show_bug.cgi?id=7475 --- Comment #1 from github-bugzi...@puremagic.com 2012-02-10 01:32:18 PST --- Commit pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/c504c3f9f230ffa75ca79d915da095a6e446dca3 fix Issue 7475 - Regression(2.058 beta): Template member erroneously inaccessible -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6406] [2.054] Libraries not working on Ubuntu
http://d.puremagic.com/issues/show_bug.cgi?id=6406 Don changed: What|Removed |Added Resolution|FIXED |WORKSFORME -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7475] Regression(2.058 beta): Template member erroneously inaccessible
http://d.puremagic.com/issues/show_bug.cgi?id=7475 Walter Bright changed: What|Removed |Added Status|NEW |RESOLVED CC||bugzi...@digitalmars.com Resolution||FIXED -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7476] Write(ln) functions no longer accept retro range
http://d.puremagic.com/issues/show_bug.cgi?id=7476 --- Comment #4 from Kevin 2012-02-10 02:00:32 PST --- Just downloaded the git source and compiled with dmc Works for me on latest version. 2.048 Beta c:\Users\Kevin\Documents\D Projects\ConsoleApp1\ConsoleApp1\bin>dmd ../main.d DMD v2.058 DEBUG c:\Users\Kevin\Documents\D Projects\ConsoleApp1\ConsoleApp1\bin>main.exe dcba c:\Users\Kevin\Documents\D Projects\ConsoleApp1\ConsoleApp1\bin> -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7476] Write(ln) functions no longer accept retro range
http://d.puremagic.com/issues/show_bug.cgi?id=7476 --- Comment #5 from Kevin 2012-02-10 02:04:28 PST --- I've got to stop typing at 2 in the morning... I mean 2.058 Debug, as shown in the console dump. (In reply to comment #4) > Just downloaded the git source and compiled with dmc > > Works for me on latest version. 2.048 Beta -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7479] New: Regression(2.046) ICE(glue.c) with invalid template parameter during gagging
http://d.puremagic.com/issues/show_bug.cgi?id=7479 Summary: Regression(2.046) ICE(glue.c) with invalid template parameter during gagging Product: D Version: D1 & D2 Platform: All OS/Version: All Status: NEW Severity: regression Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: clugd...@yahoo.com.au --- Comment #0 from Don 2012-02-10 02:36:35 PST --- This is a test case from bug 4269, which was not fixed by the recent commit to mitigate 4269. Note also that 4269 was a regression in 2.031, this one is far more recent. == static if(is(typeof(X3.init))) {} void X3(T3) { } == ICE(glue.c) for 2.047 on. It generated an error on 2.045 and earlier. (On 2.046 it silently generated bad code). == Comment from yebblies: The crash is due to an error in a parameter type not resulting in TypeFunction::semantic returning terror. (Or at least, that and the fact it reaches code generation due to this bug.) I swear I fixed this in a pull request last year, but it must've been part of something that never got accepted. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4269] Regression(2.031): invalid type accepted if evaluated while errors are gagged
http://d.puremagic.com/issues/show_bug.cgi?id=4269 yebblies changed: What|Removed |Added Platform|Other |All Severity|normal |regression --- Comment #18 from yebblies 2012-02-10 22:17:54 EST --- Having a closer look at Walter's patch, this only fixes the issue for class, struct and interface declarations. From the list in comment 5, function, variable, template and alias this declarations still need to be fixed to get this off the regression list. Don, I thought you meant you'd tested with your new patch and it still crashed - is this the case or is this only with Walter's fix? The underlying reason is the same, but when this bug is fixed the crash will disappear as it will never get to codegen. Walter, please see the list in comment 5, everything here needs to fail before this stops being an ice/regression. Please also note that https://github.com/D-Programming-Language/dmd/commit/75ccf8c3ae057aad7128d710fe735f7772be0471 overwrote three test cases from this bug that dealt with alias and template declarations. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7479] Regression(2.046) ICE(glue.c) with function.init with errors gagged
http://d.puremagic.com/issues/show_bug.cgi?id=7479 yebblies changed: What|Removed |Added Status|NEW |RESOLVED Resolution||DUPLICATE --- Comment #1 from yebblies 2012-02-10 22:29:22 EST --- The regression and ice part of this bug is the same as issue 4269. The rest is the same as issue 7462 - errors in the argument/return types of functions are not propagated to the function type. I don't know how it was introduced but these are the causes. *** This issue has been marked as a duplicate of issue 7462 *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7462] Error message with _error_ in overridden function
http://d.puremagic.com/issues/show_bug.cgi?id=7462 --- Comment #1 from yebblies 2012-02-10 22:29:22 EST --- *** Issue 7479 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 4269] Regression(2.031): invalid type accepted if evaluated while errors are gagged
http://d.puremagic.com/issues/show_bug.cgi?id=4269 yebblies changed: What|Removed |Added Severity|regression |normal --- Comment #19 from yebblies 2012-02-10 23:05:52 EST --- To be more specific - any declaration semantic routine that might result in errors needs to give an error the second time semantic is run too - the reason it happens with the X3 test case is because errors in parameter types are not propagated to the function type, but there are plenty of other errors in FuncDeclaration::semantic that will be silently ignored as the type isn't set to Type::terror. I haven't looked at the other declaration types yet but there are probably cases there too. Some FuncDeclaration cases: //static if (is(typeof(X17.init))) {} //scope void X17() {} //static if (is(typeof(X18.init))) {} //abstract void X18() {} //static if (is(typeof(X19.init))) {} //override void X19() {} //static if (is(typeof(X20.init))) {} //const void X20() {} //static if (is(typeof(X21.init))) {} //immutable void X21() {} //static if (is(typeof(main.init))) {} //string main(); //static if (is(typeof(main.init))) {} //auto main() { return ""; } //static if (is(typeof(main.init))) {} //void main(int) { } Some of these are just accepts-invalid with meaningless attributes, but the 'main' ones will generate wrong code. Errors in the declaration type are not all that needs to be monitored - either the error count needs to be examined or every possible error needs to set the type to Type::terror. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4269] Regression(2.031): invalid type accepted if evaluated while errors are gagged
http://d.puremagic.com/issues/show_bug.cgi?id=4269 yebblies changed: What|Removed |Added Keywords||wrong-code --- Comment #20 from yebblies 2012-02-10 23:11:42 EST --- The approach of using Declaration::type to signal semantic failed also relies on Type::semantic returning Type::terror on every error - this is not followed everywhere. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7462] Error message with _error_ in overridden function
http://d.puremagic.com/issues/show_bug.cgi?id=7462 yebblies changed: What|Removed |Added Keywords||pull CC||yebbl...@gmail.com AssignedTo|nob...@puremagic.com|yebbl...@gmail.com --- Comment #2 from yebblies 2012-02-10 23:16:04 EST --- https://github.com/D-Programming-Language/dmd/pull/705 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6327] Internal error: ..\ztc\cgcv.c 206
http://d.puremagic.com/issues/show_bug.cgi?id=6327 yebblies changed: What|Removed |Added CC||yebbl...@gmail.com --- Comment #4 from yebblies 2012-02-10 23:19:27 EST --- Any chance you could test this with the latest dmd, provide the source code or provide a reduced test case? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7476] Write(ln) functions no longer accept retro range
http://d.puremagic.com/issues/show_bug.cgi?id=7476 timon.g...@gmx.ch changed: What|Removed |Added CC||timon.g...@gmx.ch --- Comment #6 from timon.g...@gmx.ch 2012-02-10 04:22:52 PST --- I think it is a regression in Phobos. Have you compiled against Phobos 2.057 or Phobos 2.058head? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7444] Require [] for array copies too
http://d.puremagic.com/issues/show_bug.cgi?id=7444 Kenji Hara changed: What|Removed |Added Keywords||pull --- Comment #5 from Kenji Hara 2012-02-10 04:23:32 PST --- (In reply to comment #4) > Maybe sa[] = da and da[] = da should be '// X' too. Hmm, OK. If it is an element-wise assignment, we should add explicit slicing both side of AssignExp. I've posted a pull to implement this enhancement: https://github.com/D-Programming-Language/dmd/pull/702 Updated test: https://github.com/D-Programming-Language/dmd/pull/702/files#L6R250 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7473] [CTFE] Non-ref argument behaves as if it's a ref argument
http://d.puremagic.com/issues/show_bug.cgi?id=7473 Don changed: What|Removed |Added Keywords||wrong-code CC||clugd...@yahoo.com.au Version|D2 |D1 & D2 --- Comment #1 from Don 2012-02-10 04:52:29 PST --- Not a regression - failed on D1.072. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7476] Write(ln) functions no longer accept retro range
http://d.puremagic.com/issues/show_bug.cgi?id=7476 Kenji Hara changed: What|Removed |Added AssignedTo|nob...@puremagic.com|and...@metalanguage.com --- Comment #7 from Kenji Hara 2012-02-10 04:55:04 PST --- A shallow answer: 2.058 was merged a pull to improve std.format: https://github.com/D-Programming-Language/phobos/pull/298 and after that this regression has been occurred. A deep answer: This is a problem rooted in the std.range.put implementation. reduced code: import std.range; struct LockingTextWriter { void put(dchar c){} } struct RetroResult { bool end = false; @property bool empty() const { return end; } @property dchar front(){ return 'a'; } void popFront(){ end = true; } } void main() { LockingTextWriter w; RetroResult r; put(w, r); // test.d(20) } Output: C:\dmd2\src\phobos\std\range.d(295): Error: static assert "Cannot put a RetroResult into a LockingTextWriter" test.d(20):instantiated from here: put!(LockingTextWriter,RetroResult) Current std.format.formatValue treats retro("abcd") as a kind of string range. And try to put it into Writer by using std.range.put(). void put(R, E)(ref R r, E e) // std.range.put signature When E is an array (of cause it is random access range), put() runs the range-to-range copy. But put() cannot instantiate with E that isn't array range. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7476] Write(ln) functions no longer accept retro range
http://d.puremagic.com/issues/show_bug.cgi?id=7476 Kenji Hara changed: What|Removed |Added Keywords||pull --- Comment #8 from Kenji Hara 2012-02-10 05:08:10 PST --- https://github.com/D-Programming-Language/phobos/pull/426 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6404] Cannot check ref-ness of auto ref parameter in template constraint
http://d.puremagic.com/issues/show_bug.cgi?id=6404 d...@dawgfoto.de changed: What|Removed |Added CC||d...@dawgfoto.de --- Comment #5 from d...@dawgfoto.de 2012-02-10 06:10:29 PST --- I think it would be neat to extend this to IsExpressions. void foo()(auto ref int val) if (is(typeof(val) == ref)) -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7092] std.concurrency.receive does not accept free functions
http://d.puremagic.com/issues/show_bug.cgi?id=7092 Kenji Hara changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #2 from Kenji Hara 2012-02-10 06:19:46 PST --- https://github.com/D-Programming-Language/phobos/commit/e8e92f3f99f348ddc0a5b512544775b2f1fcd602 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7230] Crash during printing anonymous union with writeln family functions.
http://d.puremagic.com/issues/show_bug.cgi?id=7230 Kenji Hara changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #5 from Kenji Hara 2012-02-10 06:30:36 PST --- https://github.com/D-Programming-Language/phobos/commit/1d2962b4a19dbd40ab6269539bb3382ed0b9f6c5 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7141] std.regex - escaped characters can form operators in character classes
http://d.puremagic.com/issues/show_bug.cgi?id=7141 Kenji Hara 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 6472] RedBlackTree.removeKey
http://d.puremagic.com/issues/show_bug.cgi?id=6472 Kenji Hara 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 4269] Regression(2.031): invalid type accepted if evaluated while errors are gagged
http://d.puremagic.com/issues/show_bug.cgi?id=4269 --- Comment #21 from Don 2012-02-10 07:12:18 PST --- My upcoming patch fixes all of your cases in comment 5 except #13. My comment in comment 16 is about Walter's commit, not my patch. But it's not quite ready, it fails some cases in the test suite related to __traits(compiles) with deprecated and purity. I *think* I just have to do a bit more work on enabling and disabling gagging at the right time. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3396] Call of abstract method not detected by semantic check
http://d.puremagic.com/issues/show_bug.cgi?id=3396 Stewart Gordon changed: What|Removed |Added Keywords||accepts-invalid CC||s...@iname.com --- Comment #2 from Stewart Gordon 2012-02-10 10:45:07 PST --- (In reply to comment #1) > Created an attachment (id=1072) [details] > abstract methods not being flagged as unimplemented AIUI a method declared without the abstract attribute is taken to reference a function defined elsewhere. Since no library or object file that defines such a function has been linked in, the linker errors. The original testcase is different: A.m is declared as abstract, so the compiler should reject the attempt to call it there and then. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 5915] Newlines are not propagated when copy&pasting code snippets
http://d.puremagic.com/issues/show_bug.cgi?id=5915 Stewart Gordon changed: What|Removed |Added CC||s...@iname.com --- Comment #6 from Stewart Gordon 2012-02-10 11:11:23 PST --- (In reply to comment #5) > I can confirm that it works ok in Opera, but not in Firefox. So this is some > sort of browser compatibility issue. Very puzzling. Clearly it's a bug in Firefox, so there should be a bug report somewhere on b.m.o for it. The question is what exactly is triggering it to bite. But it seems to be happening only when viewing the page online - I haven't been able to reproduce it on a local copy of the page even after adding a base tag to make sure it gets all the CSS. It also stops happening if I disable JavaScript. It would seem that the listanchors function (an abomination anyway) is doing something funny to the DOM under FF - after all, for some obscure reason it gets stuck in the load of my local copy and so listanchors isn't called. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 6182] _d_arraycopy should take TypeInfo as final argument instead of simply element size
http://d.puremagic.com/issues/show_bug.cgi?id=6182 timon.g...@gmx.ch changed: What|Removed |Added CC||timon.g...@gmx.ch Severity|enhancement |major --- Comment #1 from timon.g...@gmx.ch 2012-02-10 12:09:34 PST --- This is not an enhancement. postblits not being called is a clear bug. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7480] New: Unhelpful formatting specifier mismatch exception message for pointers
http://d.puremagic.com/issues/show_bug.cgi?id=7480 Summary: Unhelpful formatting specifier mismatch exception message for pointers Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: Phobos AssignedTo: nob...@puremagic.com ReportedBy: c...@klickverbot.at --- Comment #0 from klickverbot 2012-02-10 21:44:45 PST --- Currently (2.058 Git), the following snippet triggers a generic enforce() exception without any further information: --- import std.stdio; void main() { int a; writefln("%d", &a); } --- A FormatException with a helpful message should be thrown instead. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 5083] module object cannot read file 'object.d'
http://d.puremagic.com/issues/show_bug.cgi?id=5083 yebblies changed: What|Removed |Added Status|NEW |RESOLVED CC||yebbl...@gmail.com Resolution||WORKSFORME --- Comment #3 from yebblies 2012-02-11 16:46:03 EST --- This sounds like a setup issue, not a problem with the compiler or the deb. Please reopen if anyone can reproduce with a recent version of the compiler/installer. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 5408] Calling GC.malloc inside a unittest with a flag of 1 results in an access violation.
http://d.puremagic.com/issues/show_bug.cgi?id=5408 yebblies changed: What|Removed |Added Status|NEW |RESOLVED CC||yebbl...@gmail.com Resolution||WORKSFORME --- Comment #2 from yebblies 2012-02-11 16:47:50 EST --- Can't reproduce with dmd 2.058 beta. Please reopen if you can reproduce with a recent version of dmd. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7480] Unhelpful formatting specifier mismatch exception message for pointers
http://d.puremagic.com/issues/show_bug.cgi?id=7480 klickverbot changed: What|Removed |Added Keywords||patch --- Comment #1 from klickverbot 2012-02-10 21:51:44 PST --- https://github.com/D-Programming-Language/phobos/pull/427 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7429] Cannot append a struct type to itself even if an opOpAssign(string op : "~") is defined.
http://d.puremagic.com/issues/show_bug.cgi?id=7429 yebblies changed: What|Removed |Added Status|NEW |RESOLVED CC||yebbl...@gmail.com Resolution||WORKSFORME --- Comment #2 from yebblies 2012-02-11 16:56:34 EST --- Cannot reproduce with dmd 2.058 beta. struct Set { ref Set opOpAssign(string op : "~")(in Set set_) { return this; } } void main() { Set s; s ~= s; } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7481] New: Compiler should 'soldier on' after template errors
http://d.puremagic.com/issues/show_bug.cgi?id=7481 Summary: Compiler should 'soldier on' after template errors Product: D Version: D1 & D2 Platform: All OS/Version: All Status: NEW Severity: enhancement Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: clugd...@yahoo.com.au --- Comment #0 from Don 2012-02-10 22:03:55 PST --- At the start of TemplateInstance::semantic is this code: if (global.errors) { //printf("not instantiating %s due to %d errors\n", toChars(), global.errors); if (!global.gag) { /* Trying to soldier on rarely generates useful messages * at this point. */ fatal(); } It's a hack, really. This has the effect that after ANY error, any template instantiation will abort compilation completely. Back in the Bad Old Days, when the compiler soldiered on, it would spew reams of garbage and then crash. But now, with all of the ErrorExp improvements, soldiering on does in fact generate useful error messages. If there have been errors in the template arguments, obviously it shouldn't instantiate it, but there's no need to abort compilation completely. More importantly, notice that it *does* continue if errors are gagged. Aborting compilation is hampering our ability to observe what it's doing. Soldiering on will help make it more robust. Simple example: this code should generate two errors, one for 'zoo' and one for 'roo'. int foo(X)(X x) { return 6; } void main() { foo!(zoo)(5); foo!(double)(roo); } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3822] Memory allocated with alloca() is freed at end of scope instead at end of function
http://d.puremagic.com/issues/show_bug.cgi?id=3822 yebblies changed: What|Removed |Added CC||yebbl...@gmail.com Platform|Other |All Version|2.040 |D1 & D2 AssignedTo|nob...@puremagic.com|yebbl...@gmail.com OS/Version|Windows |All --- Comment #6 from yebblies 2012-02-11 17:08:28 EST --- The issue here is that n is a compile-time constant, so the call to alloca is optimized away completely, and always reserving the extra space. This optimization is not valid if the call to alloca might be repeated. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7482] New: deprecation isn't checked inside forward referenced is(typeof())
http://d.puremagic.com/issues/show_bug.cgi?id=7482 Summary: deprecation isn't checked inside forward referenced is(typeof()) Product: D Version: D1 & D2 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: clugd...@yahoo.com.au --- Comment #0 from Don 2012-02-10 22:12:36 PST --- static if (is(typeof(Z))) {} else {static assert(0, "first time");} deprecated int Z; static if (is(typeof(Z))) {} else {static assert(0, "second time lucky");} -- crash.d(5): Error: static assert "second time lucky" It should assert the first time. This is another gagging bug, related to bug 4269, but the problem isn't an invalid type. Here, the first typeof doesn't check deprecation. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3822] Invalid optimization of alloca called with constant size
http://d.puremagic.com/issues/show_bug.cgi?id=3822 yebblies changed: What|Removed |Added Keywords||pull Summary|Memory allocated with |Invalid optimization of |alloca() is freed at end of |alloca called with constant |scope instead at end of |size |function| --- Comment #7 from yebblies 2012-02-11 17:29:13 EST --- https://github.com/D-Programming-Language/dmd/pull/707 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 7481] Compiler should 'soldier on' after template errors
http://d.puremagic.com/issues/show_bug.cgi?id=7481 Walter Bright changed: What|Removed |Added CC||bugzi...@digitalmars.com --- Comment #1 from Walter Bright 2012-02-10 23:35:18 PST --- The place I'd like to get is to continue compiling anything that does not depend on something that already failed. We're partway there with the way expressions are evaluated. For templates, it should try to instantiate one only if its arguments are free of errors. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---