Mixin and imports

data pulverizer data.pulverizer at gmail.com
Mon Jun 8 16:31:01 UTC 2020


On Monday, 8 June 2020 at 16:02:02 UTC, Steven Schveighoffer 
wrote:
> On 6/8/20 11:11 AM, jmh530 wrote:
>> On Monday, 8 June 2020 at 14:27:26 UTC, data pulverizer wrote:
>>> [snip]
>>>
>>> Out of curiosity what does the "." in front of `foo` mean? 
>>> [snip]
>> 
>> ag0aep6g provided the link to it [snip]
>
> The dot operator simply specifies that the symbol you are 
> looking for is defined at global scope, so it just changes the 
> lookup rules.
>
> Even though it makes the code clearer what foo you are looking 
> at, it was not necessary -- removing the dot works.
>
> In some cases it is necessary to use the . lookup rule, because 
> you have another symbol that will be picked first.
>
> For example:
>
> int x;
>
> template bar(string x)
> {
>    mixin("alias " ~ x ~ " = .x;");
> }
>
> -Steve

Thanks both of you. It's one of those puzzling things that was at 
the back of mind that has just been resolved.



More information about the Digitalmars-d-learn mailing list