Voting: std.logger

Martin Nowak via Digitalmars-d digitalmars-d at puremagic.com
Fri Aug 1 08:31:34 PDT 2014


On 08/01/2014 05:07 PM, Dicebot wrote:
> On Friday, 1 August 2014 at 15:05:55 UTC, Andrei Alexandrescu wrote:
>> On 8/1/14, 4:00 AM, Kagamin wrote:
>>> On Thursday, 31 July 2014 at 15:41:40 UTC, Andrei Alexandrescu wrote:
>>>> Then you have the globals write and writef which will compete with
>>>> those in std.stdio. -- Andrei
>>>
>>> Aren't they from different overload sets?
>>
>> Doesn't seem to me. They all accept e.g. one string. -- Andrei
>
> So what is the problem? We have module system to resolve that, do we?

Exactly, that's the problem. They collide, so when import both the 
hijack protection will error.

import std.stdio, std.log;

write("foobar"); // matches both std.stdio.write and std.log.write

It'd also make it more difficult to tell what `write("foobar")` does,
which is unacceptable for such a fundamental operation.


More information about the Digitalmars-d mailing list