On Sunday, 17 March 2019 at 17:22:13 UTC, Kagamin wrote: > struct S(T) { > T value; > bool opEquals(U:S!V,V)(in U r) const > { return value==r.value; } > } Hmm, that actually works for opEquals. But now you just hit the same problem with some other construct, unfortunately: auto x = [make("hello"), S!string("hi")]; same error.