Fixes a bug (see issue #48) where distinct identifiers having same hashcodes lead to wrongly merging distinct instances as one during mapping.
The hashcode was used as a key for identity and so identity detection was subject to hash collisions.
In order to fix that behaviour, an InstanceKey type was introduced which defines equality as the equality of all the type identifiers and not only their hashcodes.
All tests pass (had to fix complex perf test that had incorrect id names).
Fixes a bug (see issue #48) where distinct identifiers having same hashcodes lead to wrongly merging distinct instances as one during mapping.
The hashcode was used as a key for identity and so identity detection was subject to hash collisions.
In order to fix that behaviour, an
InstanceKey
type was introduced which defines equality as the equality of all the type identifiers and not only their hashcodes.All tests pass (had to fix complex perf test that had incorrect id names).