Thread overview
UDA and static struct fields
May 24, 2018
Andrea Fontana
May 24, 2018
Simen Kjærås
May 24, 2018
Andrea Fontana
May 24, 2018
Alex
May 24, 2018
Andrea Fontana
May 24, 2018
Andrea Fontana
May 24, 2018
bauss
May 24, 2018
Is this a bug or am I missing something?

https://run.dlang.io/is/OGHJYX


Andrea
May 24, 2018
On Thursday, 24 May 2018 at 07:47:54 UTC, Andrea Fontana wrote:
> Is this a bug or am I missing something?
>
> https://run.dlang.io/is/OGHJYX
>
>
> Andrea

This line:

      mixin("alias tmp = " ~ s ~ ";");

There's no mention of Symbol in there. If you change it to this:

      mixin("alias tmp = Symbol" ~ s ~ ";");

then suddenly things work.

--
  Simen
May 24, 2018
On Thursday, 24 May 2018 at 07:59:08 UTC, Simen Kjærås wrote:
> On Thursday, 24 May 2018 at 07:47:54 UTC, Andrea Fontana wrote:
>> Is this a bug or am I missing something?
>>
>> https://run.dlang.io/is/OGHJYX
>>
>>
>> Andrea
>
> This line:
>
>       mixin("alias tmp = " ~ s ~ ";");
>
> There's no mention of Symbol in there. If you change it to this:
>
>       mixin("alias tmp = Symbol" ~ s ~ ";");
>
> then suddenly things work.
>
> --
>   Simen

What?
May 24, 2018
On Thursday, 24 May 2018 at 08:48:30 UTC, Andrea Fontana wrote:
>>
>> This line:
>>
>>       mixin("alias tmp = " ~ s ~ ";");
>>
>> There's no mention of Symbol in there. If you change it to this:
>>
>>       mixin("alias tmp = Symbol" ~ s ~ ";");
>>
>> then suddenly things work.
>>
>> --
>>   Simen
>
> What?

a dot is missing, but essentially, Simen found it :)

Line 20 in https://run.dlang.io/is/OGHJYX should be:

mixin("alias tmp = Symbol." ~ s ~ ";");
May 24, 2018
On Thursday, 24 May 2018 at 09:17:10 UTC, Alex wrote:
> On Thursday, 24 May 2018 at 08:48:30 UTC, Andrea Fontana wrote:
>>>
>>> This line:
>>>
>>>       mixin("alias tmp = " ~ s ~ ";");
>>>
>>> There's no mention of Symbol in there. If you change it to this:
>>>
>>>       mixin("alias tmp = Symbol" ~ s ~ ";");
>>>
>>> then suddenly things work.
>>>
>>> --
>>>   Simen
>>
>> What?
>
> a dot is missing, but essentially, Simen found it :)
>
> Line 20 in https://run.dlang.io/is/OGHJYX should be:
>
> mixin("alias tmp = Symbol." ~ s ~ ";");

Whoops I didn't get it.
Thank you both.

Andrea
May 24, 2018
On Thursday, 24 May 2018 at 10:23:41 UTC, Andrea Fontana wrote:
> On Thursday, 24 May 2018 at 09:17:10 UTC, Alex wrote:
>> On Thursday, 24 May 2018 at 08:48:30 UTC, Andrea Fontana wrote:
>>>>
>>>> This line:
>>>>
>>>>       mixin("alias tmp = " ~ s ~ ";");
>>>>
>>>> There's no mention of Symbol in there. If you change it to this:
>>>>
>>>>       mixin("alias tmp = Symbol" ~ s ~ ";");
>>>>
>>>> then suddenly things work.
>>>>
>>>> --
>>>>   Simen
>>>
>>> What?
>>
>> a dot is missing, but essentially, Simen found it :)
>>
>> Line 20 in https://run.dlang.io/is/OGHJYX should be:
>>
>> mixin("alias tmp = Symbol." ~ s ~ ";");
>
> Whoops I didn't get it.
> Thank you both.
>
> Andrea

Why didn't that return any error, anyway?
May 24, 2018
On Thursday, 24 May 2018 at 10:42:26 UTC, Andrea Fontana wrote:
> On Thursday, 24 May 2018 at 10:23:41 UTC, Andrea Fontana wrote:
>> On Thursday, 24 May 2018 at 09:17:10 UTC, Alex wrote:
>>> On Thursday, 24 May 2018 at 08:48:30 UTC, Andrea Fontana wrote:
>>>>>
>>>>> This line:
>>>>>
>>>>>       mixin("alias tmp = " ~ s ~ ";");
>>>>>
>>>>> There's no mention of Symbol in there. If you change it to this:
>>>>>
>>>>>       mixin("alias tmp = Symbol" ~ s ~ ";");
>>>>>
>>>>> then suddenly things work.
>>>>>
>>>>> --
>>>>>   Simen
>>>>
>>>> What?
>>>
>>> a dot is missing, but essentially, Simen found it :)
>>>
>>> Line 20 in https://run.dlang.io/is/OGHJYX should be:
>>>
>>> mixin("alias tmp = Symbol." ~ s ~ ";");
>>
>> Whoops I didn't get it.
>> Thank you both.
>>
>> Andrea
>
> Why didn't that return any error, anyway?

Because:
mixin("alias tmp = " ~ s ~ ";");

Translates to:

alias tmp = i;

And i will be the global i.