The current implementation did not include the class of the node in the list of objects to include in the hash calculation. This made it possible for two nodes of different types but with the same attributes to have the same hash, as long as one type was a subclass of the other.
Arguably when two nodes have a different type, even if subclasses, their hashes should never be the same. Therefore, the node's class is added to the list returned by NodeCaching._get_objects_to_hash().
Fixes #6320
The current implementation did not include the class of the node in the list of objects to include in the hash calculation. This made it possible for two nodes of different types but with the same attributes to have the same hash, as long as one type was a subclass of the other.
Arguably when two nodes have a different type, even if subclasses, their hashes should never be the same. Therefore, the node's class is added to the list returned by
NodeCaching._get_objects_to_hash()
.