Good thing I checked... turns out that there were multiple bugs here. First, the spurious-equality scenario from #48 was possible, though under somewhat contrived (and non-default) circumstances.
Next, I spotted that we were misusing enum.auto in a way that made all "operator classes" the same. (Yikes!)
Closes #48.
Good thing I checked... turns out that there were multiple bugs here. First, the spurious-equality scenario from #48 was possible, though under somewhat contrived (and non-default) circumstances.
Next, I spotted that we were misusing
enum.auto
in a way that made all "operator classes" the same. (Yikes!)This takes care of both of those and adds a test.