On 13/03/2012 5:08 AM, Jason Mehrens wrote:

I'm not really confident about proposing "assertions as lint detection" rather than 
adding explicit checks. We wouldn't (and don't) use optional assertions for array bounds 
checking. This has clearly been the right choice. I'm still considering my>>feelings 
about whether to be hardline and suggest we add the checks to Arrays.sort




Thoughts anyone?

Add wiggle room to the throws CCE javadocs to suggest detection doesn't occur 
for all cases.

Reading over the bug report again, the justification example is flawed.  The 
caller only knows it is safe to call sort when the documentation for 'generate' 
states that the returned list is mutable.  If the returned list is mutable, it 
is not a Collections$SingletonList.  If 'generate' returns an unmodifiable list 
the call has to make a mutable copy.  If the caller has to create a copy, the 
caller could perform the size check first.

Close as Not a bug??

Well it's not a bug it is a RFE. :) But I agree that the example is a little flawed in that generate() would not reasonably be able to generate mutable lists in some cases and immutable lists in others.

I find the restriction on empty/singleton lists unnecessary, but not sure it is worth jumping through the spec hoops to change this.

David

Jason                                   

Reply via email to