Aljoscha Krettek created FLINK-9798: ---------------------------------------
Summary: Drop canEqual() from TypeInformation, TypeSerializer, etc. Key: FLINK-9798 URL: https://issues.apache.org/jira/browse/FLINK-9798 Project: Flink Issue Type: Improvement Components: Core, Type Serialization System Reporter: Aljoscha Krettek Assignee: Aljoscha Krettek Fix For: 1.6.0 See discussion from https://lists.apache.org/thread.html/7cc6cfd66e96e8d33c768629b55481b6c951c68128f10256abb328fe@%3Cdev.flink.apache.org%3E {quote} Hi all! As part of an attempt to simplify some code in the TypeInfo and TypeSerializer area, I would like to drop the "canEqual" methods for the following reason: "canEqual()" is necessary to make proper equality checks across hierarchies of types. This is for example useful in a collection API, stating for example whether a List can be equal to a Collection if they have the same contents. We don't have that here. A certain type information (and serializer) is equal to another one if they describe the same type, strictly. There is no necessity for cross hierarchy checks. This has also let to the situation that most type infos and serializers implement just a dummy/default version of "canEqual". Many "equals()" methods do not even call the other object's "canEqual", etc. As a first step, we could simply deprecate the method and implement an empty default, and remove all calls to that method. Best, Stephan {quote} -- This message was sent by Atlassian JIRA (v7.6.3#76005)