Bikeshed: Spliterator "fail-fast"
Remi Forax
forax at univ-mlv.fr
Mon Jul 1 07:45:36 PDT 2013
On 07/01/2013 03:46 PM, Paul Sandoz wrote:
> Hi,
>
> The Spliterator doc states:
>
> * <p><a name="binding"/>A Spliterator that does not report {@code IMMUTABLE} or
> * {@code CONCURRENT} is expected to have a documented policy concerning:
> * when the spliterator <em>binds</em> to the element source; and detection of
> * structural interference of the element source detected after binding.
> ...
> * After binding a Spliterator should, on a best-effort basis, throw
> * {@link ConcurrentModificationException} if structural interference is
> * detected. Spliterators that do this are called <em>fail-fast</em>.
>
> As Mike pointed out to me "fail-fast" is not accurate since the implementations for bulk traversal, specifically forEachRemaining, can throw a CME after traversal has completed.
>
> - fail-finally
> - fail-ultimately
> - fail-eventually
>
> ?
fail-slow :)
>
> Paul.
Rémi
More information about the lambda-libs-spec-experts
mailing list