Proposal?

Daniel N no at public.email
Wed May 30 20:34:01 UTC 2018


On Wednesday, 30 May 2018 at 19:34:55 UTC, Steven Schveighoffer 
wrote:
> On 5/30/18 3:05 PM, Daniel N wrote:
>
>> void func(NONE...)(string s, NONE, string file = __FILE__, 
>> size_t line = __LINE__) if(!NONE.length)
>> {
>>      import std.stdio;
>>      writefln("%s:%d: msg=%s", file, line, s);
>> }
>> 
>> void main() {func("hello"); func("there");
>> }
>
> Very cool and interesting pattern. If you now wanted to wrap 
> the function (let's say the caller of this wants to forward 
> it's own called file/line to it), you could do this as well:
>
> func!()("boo", file, line);
>

Heh, didn't consider that use-case, cool indeed!
How about we name the pattern "You shall not pass"/"None shall 
pass"? ;)

> I still think we should be able to wrap __FILE__ and __LINE__ 
> into another call without having the wrapping take over the 
> file/line combo.
>
> -Steve

Agree, adheres to the Principle of least astonishment.




More information about the Digitalmars-d mailing list