diff options
Diffstat (limited to 'src/main/java/au/id/zancanaro/javacheck/ShrinkTree.java')
-rw-r--r-- | src/main/java/au/id/zancanaro/javacheck/ShrinkTree.java | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/main/java/au/id/zancanaro/javacheck/ShrinkTree.java b/src/main/java/au/id/zancanaro/javacheck/ShrinkTree.java index ddef800..9c51a7e 100644 --- a/src/main/java/au/id/zancanaro/javacheck/ShrinkTree.java +++ b/src/main/java/au/id/zancanaro/javacheck/ShrinkTree.java @@ -56,20 +56,22 @@ public class ShrinkTree<T> { public static <T> Stream<ShrinkTree<T>[]> promoteChildren(ShrinkTree<? super T>[] trees) { return IntStream.range(0, trees.length) .mapToObj(index -> trees[index].getChildren().map(child -> - (ShrinkTree<T>[]) IntStream.range(0, trees.length) + IntStream.range(0, trees.length) .mapToObj(i -> (i == index ? child : trees[i])) - .toArray(ShrinkTree[]::new))) - .flatMap(x -> x); + .toArray(ShrinkTree<?>[]::new))) + .flatMap(x -> x) + .map(x -> (ShrinkTree<T>[]) x); } @SuppressWarnings("unchecked") public static <T> Stream<ShrinkTree<T>[]> removeChildren(ShrinkTree<? super T>[] trees) { return IntStream.range(0, trees.length) .mapToObj(index -> - (ShrinkTree<T>[]) IntStream.range(0, trees.length) + IntStream.range(0, trees.length) .filter(i -> i != index) .mapToObj(i -> trees[i]) - .toArray(ShrinkTree[]::new)); + .toArray(ShrinkTree<?>[]::new)) + .map(x -> (ShrinkTree<T>[]) x); } public static <T> Stream<ShrinkTree<T>[]> removeAndPromoteChildren(ShrinkTree<? super T>[] trees) { |