std.experimental.logger formal review round 3

David Nadlinger via Digitalmars-d digitalmars-d at puremagic.com
Sun Nov 2 10:12:56 PST 2014


On Sunday, 2 November 2014 at 13:06:24 UTC, Dicebot wrote:
> I had initial go at cleaning safety attributes : 
> https://github.com/Dicebot/phobos/tree/logger-fix-trust
>
> It still needs one druntime PR merged 
> (https://github.com/D-Programming-Language/druntime/pull/1009) 
> to be done properly but should be ready for destruction.
>
> David snipet results in this after all changes:
> std/experimental/logger/core.d(1675): Error: safe function 
> 'std.experimental.logger.core.Logger.logf!(11, "aaa.d", 
> "aaa.main", "void aaa.main() @safe", "aaa", Dangerous).logf' 
> cannot call system function 
> 'std.format.formattedWrite!(MsgRange, char, 
> Dangerous).formattedWrite'

I don't recall off the top of my head some non-template innards 
actually might require @safe, but apart from that, why not just 
leave the job to template attribute inference entirely? If 
somebody wants to log a type with a @system toString in non- at safe 
code, why not just let them?

David


More information about the Digitalmars-d mailing list