static foreach not working with this
Steven Schveighoffer
schveiguy at gmail.com
Mon Jan 7 16:31:49 UTC 2019
On 1/7/19 11:16 AM, Michelle Long wrote:
> On Monday, 7 January 2019 at 16:01:50 UTC, Michelle Long wrote:
>> static foreach(k, p; AliasSeq!(this, s))
>> {{
>> p.foo(); // Fails even if this line is removed
>> }}
>>
>> this not known at compile time. replace s with this and it works! s is
>> an argument which is also not known at compile time(generally).
>>
>> Should work with this.
>>
>> Just "simplifying"
>>
>> this.foo();
>> s.foo();
>>
>>
>> (obviously more complex code)
>
> static foreach(k, p; AliasSeq!(Alias!this, s))
> {{
> p.foo(); // Fails even if this line is removed
> }}
To expand on Michelle's cryptic response, the second form (using
`Alias!this` instead of `this`) DOES work!
I think this is a bug. If the latter works, the former should. Please
file at issues.dlang.org with a complete example.
-Steve
More information about the Digitalmars-d-learn
mailing list