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) { | 
