On Friday, 10 February 2023 at 23:39:11 UTC, Ruby The Roobster wrote:


The problem is that Node.next is not, and cannot be `static`. Thus, there is no way for you to pass it as an alias template parameter, and this should be considered a compiler bug that this doesn't error out.

Nevermind, I'm an absolute idiot. The first works, it uses Node.next in the context of this.current. The second should also work, T is of type Node*.

This seems to be a bug with the compiler, it automatically infers function attributes by default before evaluating whether the function actually works with said inferred attributes.

Your __traits(child) solution doesn't work, because T is a type, not a variable.


Reply via email to