spir: > * The issue reported is about '==' on structs not using member opEquals when > defined, instead performing bitwise comparison. This is not my case: Lexeme > members are plain strings and an uint. They should just be compared as is. > Bitwise comparison should just work fine. > Also, this issue is marked solved for dmd 2.037 (I use 2.051).
Lars is right, the == among structs is broken still: struct Foo { string s; } void main() { string s1 = "he"; string s2 = "llo"; string s3 = "hel"; string s4 = "lo"; auto f1 = Foo(s1 ~ s2); auto f2 = Foo(s3 ~ s4); assert((s1 ~ s2) == (s3 ~ s4)); assert(f1 == f2); } Bye, bearophile