reddit discussion on replacing Python in 0install

Steven Schveighoffer schveiguy at yahoo.com
Tue Jun 11 10:06:24 PDT 2013


On Tue, 11 Jun 2013 13:01:41 -0400, Lars T. Kyllingstad  
<public at 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


More information about the Digitalmars-d mailing list