Cannot call @system funciton (stdout)

Anonymouse zorael at gmail.com
Sun Aug 16 18:13:07 UTC 2020


On Sunday, 16 August 2020 at 10:07:02 UTC, Simen Kjærås wrote:
> On Saturday, 15 August 2020 at 23:59:36 UTC, Joel wrote:
>> ../../JMiscLib/source/jmisc/base.d(176,2): Error: @safe 
>> function jmisc.base.upDateStatus!string.upDateStatus cannot 
>> call @system function 
>> std.stdio.makeGlobal!"core.stdc.stdio.stdout".makeGlobal
>> /Library/D/dmd/src/phobos/std/stdio.d(4837,20):        
>> std.stdio.makeGlobal!"core.stdc.stdio.stdout".makeGlobal is 
>> declared here
>>
>> I got around it by avoiding 'stdout'.
>
> First, what's wrong with using writeln and friends instead of 
> directly mucking about with stdout? :p

Just as a drive-by comment, the main stdio thing I came across 
that I couldn't do from within @safe was stdout.flush(), which I 
need to call manually for Cygwin terminals and some terminals 
embedded in editors (vscode). If someone knows why, please tell 
me.




More information about the Digitalmars-d-learn mailing list