-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Fully Compatible
-
53
There are two possible templated functions which absl could use to hash a CollatorInterface*; unfortunately, instead of picking the custom one in expression_hasher.cpp, it picks the default hash function which uses the value of the pointer. This results in two equivalent expressions with collators defined hashing to different values, causing a build failure (BF-29584) in unit tests exercising this behavior.
The simple fix is to just avoid the ambiguous choice of template functions by directly checking if the collator interface is non-null, and passing a reference to the collation instance directly to the hash function.