On Aug 1 2013, at 16:05 , David Holmes wrote:

> On 2/08/2013 1:57 AM, Alan Bateman wrote:
>> On 26/07/2013 16:31, Mike Duigou wrote:
>>> Hello all;
>>> 
>>> This patch adds some missing checks for null that, according to
>>> interface contract, should be throwing NPE. It also improves the
>>> existing tests to check for these cases.
>>> 
>>> http://cr.openjdk.java.net/~mduigou/JDK-8021591/0/webrev/
>>> 
>>> The changes to
>>> src/share/classes/java/util/concurrent/ConcurrentHashMap.java will be
>>> synchronized separately with the jsr166 workspace. They are part of
>>> this review to avoid test failures.
>>> 
>>> Mike
>> As retainAll and removeAll are long standing methods, are there are
>> cases where we might now throw NPE when we didn't previously? I'm just
>> wondering if any of these need to be looked at more closely, minimally
>> to get into release/compatibility notes.

Yes, this would definitely be something we want to mention for the release 
notes.

> I get a sense of deja-vu here. For retainAll/removeAll this fixes the case 
> where you would not get NPE if the target collection is empty. We already 
> dealt with this for some j.u.c collections - see 7123424 and then 8001575.

I am not sure if this is a vote for or against continuing to add the missing 
NPE checks. If we decide against adding the checks I would actually push for 
revising the spec (make the NPE optional) to reflect the relatively common 
practice and possibly even remove some of the recently added NPE.

Mike

Reply via email to