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

Reply via email to