RFR 8132097: Stream.generate should use a covariant Supplier as parameter (original) (raw)
Paul Sandoz paul.sandoz at oracle.com
Wed Nov 9 00:43:52 UTC 2016
- Previous message: RFR 8164934: Optional.map() javadoc code example is incorrect
- Next message: RFR 8132097: Stream.generate should use a covariant Supplier as parameter
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi
Please review this compatible fix to Stream.generate to accept a covariant Supplier.
Paul.
diff -r 3e3ca9800322 src/java.base/share/classes/java/util/stream/Stream.java --- a/src/java.base/share/classes/java/util/stream/Stream.java Tue Nov 08 15:37:20 2016 -0800 +++ b/src/java.base/share/classes/java/util/stream/Stream.java Tue Nov 08 16:36:51 2016 -0800 @@ -1327,7 +1327,7 @@ * @param s the {@code Supplier} of generated elements * @return a new infinite sequential unordered {@code Stream} */
- public static Stream generate(Supplier s) {
- public static Stream generate(Supplier<? extends T> s) { Objects.requireNonNull(s); return StreamSupport.stream( new StreamSpliterators.InfiniteSupplyingSpliterator.OfRef<>(Long.MAX_VALUE, s), false);
diff -r 3e3ca9800322 src/java.base/share/classes/java/util/stream/StreamSpliterators.java --- a/src/java.base/share/classes/java/util/stream/StreamSpliterators.java Tue Nov 08 15:37:20 2016 -0800 +++ b/src/java.base/share/classes/java/util/stream/StreamSpliterators.java Tue Nov 08 16:36:51 2016 -0800 @@ -1346,9 +1346,9 @@ }
static final class OfRef<T> extends InfiniteSupplyingSpliterator<T> {
final Supplier<T> s;
final Supplier<? extends T> s;
OfRef(long size, Supplier<T> s) {
OfRef(long size, Supplier<? extends T> s) { super(size); this.s = s; }
- Previous message: RFR 8164934: Optional.map() javadoc code example is incorrect
- Next message: RFR 8132097: Stream.generate should use a covariant Supplier as parameter
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]