Subject: | _compare does not work with non-overloaded strings |
_compare used to implement the overloading of <=> and cmp does not work
if one of the arguments is not a UUID::Object.
Test::More 0.96 will no longer stringify its arguments before comparing,
this was considered a bug. Apologies for the inconvenience. This
reveals string overloaded objects which do not implement a comparison
operator, or implement it incorrectly, which is generally an oversight
rather than a feature.
We recommend you simply remove your implementation of "cmp" and allow it
to simply fallback to stringifying and then using the built in cmp.
Alternatively, _compare() should check that $b isa UUID::Object
otherwise just stringify both sides and compare ("$a" cmp "$b").
Test with Test::More 0.95_02 and release ASAP. Test::More 0.96 is
holding off until all affected modules are informed.
You should also remove your implementation of <=> as UUIDs are not
numbers and should not try to pretend they are.