https://issues.dlang.org/show_bug.cgi?id=13179
--- Comment #1 from Jacob Carlborg <d...@me.com> --- Reduced test case: struct TagIndex { uint tag, index; const int opCmp(ref const TagIndex o) { if (tag == o.tag && index == o.index) return 0; if (tag > o.tag) return 1; if (tag < o.tag) return -1; if (index > o.index) return 1; if (index < o.index) return -1; assert(0); } } int[TagIndex] a; --