On Monday, 7 January 2019 at 16:29:25 UTC, Alex wrote:
On Monday, 7 January 2019 at 16:16:57 UTC, 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
}}

referring to
https://forum.dlang.org/post/aqypsijjvajybtqtm...@forum.dlang.org

Do you trying to do a recursive call from foo to itself?

foo has nothing to do with it, as I said, removing it produces the same error['p.foo(); // Fails even if this line is removed']. I only put in something in the block because some blockhead would say something if there was nothing there like "Why are you even bothering with a static for each on an empty block? are you that stupid that you don't realize the compiler won't emit any code?".


Reply via email to