On Tue, 11 Jun 2013 13:01:41 -0400, Lars T. Kyllingstad
<pub...@kyllingen.net> wrote:
On Tuesday, 11 June 2013 at 16:50:50 UTC, Andrei Alexandrescu wrote:
On 6/11/13 11:57 AM, Steven Schveighoffer wrote:
This code DOES fail:
import std.stdio;
int main()
{
writeln("hello");
std.stdio.stdout.flush();
return 0;
}
Ah, I suspected so. (At a point in D's history writeln() did do a
flush; people wanted to eliminate it for efficiency reasons.)
We could introduce a flush() with throw in std.stdiobase.
As in a module destructor? Isn't it better to let the error pass
silently rather than throwing an exception that can't be caught?
I agree. This should not be a failure at that point.
If you want to induce and catch failure, put std.stdio.stdout.flush() at
the end of your main function, like I did.
-Steve