On Wed, 17 Feb 2021 18:24:39 GMT, Ian Graves <igra...@openjdk.org> wrote:

>> 2 remarks:
>> 1. MapN's entry set extends abstract set, whose `contains` is null-friendly 
>> like 
>> https://github.com/openjdk/jdk/blob/cb84539d56209a6687c4ec71a61fdbe6f06a46ea/src/java.base/share/classes/java/util/AbstractCollection.java#L104
>> 2. The problem of unmodifiable map's entry set not always delegating 
>> everything to the backing entry set still exists. 
>> https://github.com/openjdk/jdk/blob/cb84539d56209a6687c4ec71a61fdbe6f06a46ea/src/java.base/share/classes/java/util/Collections.java#L1724
>>  This will bypass the underlying logic when the argument is `null` or not an 
>> entry.
>> 
>> The behavior pointed out by michaelhixson is the conglomeration of these 2 
>> unspecified behaviors.
>
> This raises some interesting issues and makes me wonder if we should allow a 
> single-wrap of the `ImmutableCollections` classes for now to make this less 
> onerous.

Yes -- I think in response to this it makes more sense to pull the 
`ImmutableCollections` classes out for now and only focus on the wrapping of 
the classes within `Collections` so we aren't blocked by studying and 
rectifying these inconsistencies.

-------------

PR: https://git.openjdk.java.net/jdk/pull/2596

Reply via email to