On Scala 2.13, MurMurHash3 has changed it's contract to include the prefix in the hash calculation by default. This means that a CypherOrderedList and a CypherUnorderedList with the same content can be equal, but have different hashcodes. This breaks the equals / hashcode contract and is responsible for a TCK failure in Neo4j.
Unfortunately, the mechanism for including or excluding the prefix does not exist in Scala 2.12, so to ensure we can still cross build I have to pull out Scala API version specific calls to MurMurHash3.
On Scala 2.13, MurMurHash3 has changed it's contract to include the prefix in the hash calculation by default. This means that a CypherOrderedList and a CypherUnorderedList with the same content can be equal, but have different hashcodes. This breaks the equals / hashcode contract and is responsible for a TCK failure in Neo4j. Unfortunately, the mechanism for including or excluding the prefix does not exist in Scala 2.12, so to ensure we can still cross build I have to pull out Scala API version specific calls to MurMurHash3.