Fix #3307, #3315: javalib *Stream.iterate characteristics now match JVM #3317
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix #3307, Fix #3315
Four javalib {Stream, DoubleStream}.iterate() methods now report the same characteristics,
including ORDERED, as their JVM counterparts. This fixes #3307.
Issue #3315 needed to be fixed so that the fix above could be tested. Programs which use
any of the four {Stream, DoubleStream}
iterate()
methods should now link and execute.The primary fix for #3315 is in
PrimitiveIterator
but getting to that point required extensivereorganization to change DoubleStream to extend
java.lang.Double
(and not the priorDouble
meaningscala.Double
) and to become stricter about specifying whenjava.lang.Double
Objects (AnyRef) andscala.Double
(Java primitivedouble
) (AnyVal) are expected.This PR should backport to the SN 0.4 series as it contains a number of corrections. I have not
attempted that. It is probably worth waiting a week or so before backporting it to let it settle and
prove itself.