<div>I posted bugzilla entry: <a href="http://d.puremagic.com/issues/show_bug.cgi?id=10177">http://d.puremagic.com/issues/show_bug.cgi?id=10177</a> a few days ago. In short, it says: 'why not just stop semantic3 passes at 1st error occurence' ?</div>
<div><br></div><div>Other entries related to irrelevant error messages that I've recently reported:10169 , 10141, 10177.</div><div><br></div><div><div><br><div class="gmail_quote">On Mon, May 27, 2013 at 11:43 PM, Rainer Schuetze <span dir="ltr"><<a href="mailto:r.sagitario@gmx.de" target="_blank">r.sagitario@gmx.de</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><br>
<br>
On 27.05.2013 13:51, Adam D. Ruppe wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Yeah, me too.<br>
<br>
I take a working program and add "gf" to the middle of it. Here's the<br>
errors:<br>
<br>
base.d(2143): Error: found '{' when expecting ';' following statement<br>
base.d(2168): Error: unexpected ( in declarator<br>
base.d(2168): Error: basic type expected, not "div"<br>
base.d(2168): Error: found '"div"' when expecting ')'<br>
base.d(2168): Error: no identifier for declarator div.addChild(int)<br>
base.d(2168): Error: semicolon expected following function declaration<br>
base.d(2168): Error: Declaration expected, not ','<br>
base.d(2177): Error: Declaration expected, not 'if'<br>
base.d(2179): Error: no identifier for declarator qrUrl<br>
base.d(2180): Error: unrecognized declaration<br>
<br>
<br>
OK.... now let's add a semicolon to it. Prepare yourself, here's what<br>
dmd gives me now:<br>
<br>
base.d(2141): Error: undefined identifier gf, did you mean template to(T)?<br>
/home/me/d/dmd2/linux/bin32/..<u></u>/../src/phobos/std/format.d(<u></u>1723): Error:<br>
template std.format.formatRange does not match any function template<br>
</blockquote></div>
[...]<div class="im"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
formattedWrite!(Appender!(<u></u>immutable(dchar)[]), dchar,<br>
immutable(dchar)[],immutable(<u></u>dchar)[],immutable(dchar)[],<u></u>immutable(dchar)[],immutable(<u></u>dchar)[])<br>
<br>
make: *** [all] Error 1<br>
<br>
</blockquote>
<br></div>
I think most of these floods of errors come from not wanting to instantiate templates once any (completely unrelated) error has been shown. This has improved, but I just found two instances of that in mtype.c:<br>
<br>
    if (global.errors)<br>
        return new ErrorExp();  // TemplateInstance::semantic() will fail anyway<br>
<br>
The mechanism of not showing errors if they contain ErrorExp seems to not work in that case, but I think not even trying to do the instantiation is unreasonable (just stopping compilation would be better).<br>
</blockquote></div><br></div></div>