https://issues.dlang.org/show_bug.cgi?id=20795
moonlightsenti...@disroot.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |moonlightsentinel@disroot.o | |rg Hardware|x86_64 |All OS|Linux |All --- Comment #1 from moonlightsenti...@disroot.org --- Reduced example: struct Foo { void opEquals(T)(T rhs) if (T.init.opCast!string) {} } struct Bar { void opEquals()(Bar) { Gun() == Foo.init; } } class Baz { void opCast(T)() {} } struct Gun { void[24] buff; auto underlying() { return cast(Baz) buff.ptr; } alias underlying this; } struct Tuple { Bar expand; void opEquals(R)(R) if (mixin("Tuple.init.expand == R.init")) {} } --