Walter Bright: > The non-trivial cases are not detectable (halting problem), so it is a > pointless feature to add.
On the other hand I have shown few ideas to avoid this problem, that require no magic abilities to a compiler, essentially making the opBinary("==") operator actively ignore the holes. If generic code to ignore such holes is too much slow it can be a little faster creating a specialized version for each struct. If this causes too much code bloat, then the default opBinary("==") can be removed from structs and put only when the programmer asks for it with something like a @equatable property. If a programmer wants max speed ignoring the holes, such person can define a opBinary("==") that uses memcmp or something similar. Bye, bearophile