Hello all;

I have updated the proposed changeset for this issue. I have moved the note to 
the interface documentation for Collection and Map and made it more general:

> Some collection operations which perform recursive traversal of the
> collection may fail with an exception for self-referential instances where
> the collection directly or indirectly contains itself. This includes the
> {@code clone()}, {@code equals()}, {@code hashCode()} and {@code toString()}
> methods. Implementations may optionally handle the self-referential scenario,
> however most current implementations do not do so.

The webrev is at:

http://cr.openjdk.java.net/~mduigou/JDK-7057785/1/webrev/

Mike

On Aug 27 2013, at 19:06 , Mike Duigou wrote:

> Hello all;
> 
> Fairly frequently it is reported that various Collection/Map implementations 
> of hashCode() fail when the instance directly or indirectly contains itself. 
> For a variety of reasons, mostly performance and resource related, most 
> implementations choose not to support calculation of hash codes for 
> self-referential collections. This is not likely to change. So to reduce 
> confusion and "bug" reports I am proposing a non-normative @apiNote be added 
> to Collection and HashMap. The text of the proposed note is:
> 
>> Support for calculation of hash code by self referential {Collection|Map}s 
>> (they either directly or indirectly contain themselves) is optional. Few 
>> Collection implementations support calculation of hash code for self 
>> referential instances.
> 
> 
> http://cr.openjdk.java.net/~mduigou/JDK-7057785/0/webrev/
> 
> Cheers,
> 
> Mike

Reply via email to