On Fri, 19 Feb 2021 01:52:51 GMT, liach <[email protected]>
wrote:
>> Maybe it is not correct for UnmodifiableEntrySet::contains to short circuit?
>> What if the implementation was changed to:
>>
>> `public boolean contains(Object o) {
>> if (!(o instanceof Map.Entry))
>> return c.contains(o); //false, NPE, or CCE
>> return c.contains(
>> new UnmodifiableEntry<>((Map.Entry<?,?>) o));
>> }`
>
> This however changes the behavior of unmodifiable maps compared to before;
> i.e. before for other entry sets, they could not throw exception if the
> object passed was not map entry; now they can.
Yes, it seems reasonable to decouple the `ImmutableCollections` issues from
this change.
-------------
PR: https://git.openjdk.java.net/jdk/pull/2596