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