ADL

Walter Bright via Digitalmars-d digitalmars-d at puremagic.com
Sat Sep 3 18:26:51 PDT 2016


On 9/3/2016 4:46 PM, Andrei Alexandrescu wrote:
> On 9/4/16 12:28 AM, Walter Bright wrote:
>> On 9/3/2016 1:43 PM, Andrei Alexandrescu wrote:
>>> On 9/3/16 10:43 PM, Walter Bright wrote:
>>>> On 9/3/2016 8:34 AM, Manu via Digitalmars-d wrote:
>>>>> And if either module doesn't have an instance of func?
>>>>
>>>> static if (traits(compiles, ModuleOf!T.func))
>>>>     alias func = ModuleOf!T.func;
>>>
>>> What's an elegant way to encapsulate this as a stutter-free one-liner?
>>> -- Andrei
>>
>> using a template and mixing it in
>
> "Show me the mo^H^Hcode."

template foo(T)
{
     static if (traits(compiles, ModuleOf!T.func))
         foo = "alias func = " ~ ModuleOf!T.func ~ ";";
     else
	foo = "";
}

mixin(foo!T);



More information about the Digitalmars-d mailing list