@@ -17,6 +17,7 @@ import util.Buildable
1717import util .SerializableCanBuildFroms ._
1818
1919import scala .annotation .tailrec
20+ import scala .collection .immutable .Seq
2021import scala .collection .immutable .TreeMap
2122import scala .collection .mutable .ArrayBuffer
2223import scala .concurrent .duration .{Duration , FiniteDuration }
@@ -449,7 +450,7 @@ object Gen extends GenArities{
449450
450451 /** Sequences generators. If any of the given generators fails, the
451452 * resulting generator will also fail. */
452- def sequence [C ,T ](gs : Traversable [Gen [T ]])(implicit b : Buildable [T ,C ]): Gen [C ] = {
453+ def sequence [C ,T ](gs : Iterable [Gen [T ]])(implicit b : Buildable [T ,C ]): Gen [C ] = {
453454 val g = gen { (p, seed) =>
454455 gs.foldLeft(r(Some (Vector .empty[T ]), seed)) {
455456 case (rs,g) =>
@@ -576,55 +577,55 @@ object Gen extends GenArities{
576577
577578 // // List Generators ////
578579
579- /** Generates a container of any Traversable type for which there exists an
580+ /** Generates a container of any Iterable type for which there exists an
580581 * implicit [[org.scalacheck.util.Buildable ]] instance. The elements in the
581582 * container will be generated by the given generator. The size of the
582583 * generated container is limited by `n`. Depending on what kind of container
583584 * that is generated, the resulting container may contain fewer elements than
584585 * `n`, but not more. If the given generator fails generating a value, the
585586 * complete container generator will also fail. */
586587 def buildableOfN [C ,T ](n : Int , g : Gen [T ])(implicit
587- evb : Buildable [T ,C ], evt : C => Traversable [T ]
588+ evb : Buildable [T ,C ], evt : C => Iterable [T ]
588589 ): Gen [C ] =
589- sequence[C ,T ](Traversable .fill(n)(g)) suchThat { c =>
590+ sequence[C ,T ](Iterable .fill(n)(g)) suchThat { c =>
590591 // TODO: Can we guarantee c.size == n (See issue #89)?
591592 c.forall(g.sieveCopy)
592593 }
593594
594- /** Generates a container of any Traversable type for which there exists an
595+ /** Generates a container of any Iterable type for which there exists an
595596 * implicit [[org.scalacheck.util.Buildable ]] instance. The elements in the
596597 * container will be generated by the given generator. The size of the
597598 * container is bounded by the size parameter used when generating values. */
598599 def buildableOf [C ,T ](g : Gen [T ])(implicit
599- evb : Buildable [T ,C ], evt : C => Traversable [T ]
600+ evb : Buildable [T ,C ], evt : C => Iterable [T ]
600601 ): Gen [C ] =
601602 sized(s => choose(0 , s max 0 ).flatMap(buildableOfN[C ,T ](_,g))) suchThat { c =>
602603 if (c == null ) g.sieveCopy(null ) else c.forall(g.sieveCopy)
603604 }
604605
605- /** Generates a non-empty container of any Traversable type for which there
606+ /** Generates a non-empty container of any Iterable type for which there
606607 * exists an implicit [[org.scalacheck.util.Buildable ]] instance. The
607608 * elements in the container will be generated by the given generator. The
608609 * size of the container is bounded by the size parameter used when
609610 * generating values. */
610611 def nonEmptyBuildableOf [C ,T ](g : Gen [T ])(implicit
611- evb : Buildable [T ,C ], evt : C => Traversable [T ]
612+ evb : Buildable [T ,C ], evt : C => Iterable [T ]
612613 ): Gen [C ] =
613614 sized(s => choose(1 , s max 1 ).flatMap(buildableOfN[C ,T ](_,g))) suchThat(_.size > 0 )
614615
615616 /** A convenience method for calling `buildableOfN[C[T],T](n,g)`. */
616617 def containerOfN [C [_],T ](n : Int , g : Gen [T ])(implicit
617- evb : Buildable [T ,C [T ]], evt : C [T ] => Traversable [T ]
618+ evb : Buildable [T ,C [T ]], evt : C [T ] => Iterable [T ]
618619 ): Gen [C [T ]] = buildableOfN[C [T ],T ](n,g)
619620
620621 /** A convenience method for calling `buildableOf[C[T],T](g)`. */
621622 def containerOf [C [_],T ](g : Gen [T ])(implicit
622- evb : Buildable [T ,C [T ]], evt : C [T ] => Traversable [T ]
623+ evb : Buildable [T ,C [T ]], evt : C [T ] => Iterable [T ]
623624 ): Gen [C [T ]] = buildableOf[C [T ],T ](g)
624625
625626 /** A convenience method for calling `nonEmptyBuildableOf[C[T],T](g)`. */
626627 def nonEmptyContainerOf [C [_],T ](g : Gen [T ])(implicit
627- evb : Buildable [T ,C [T ]], evt : C [T ] => Traversable [T ]
628+ evb : Buildable [T ,C [T ]], evt : C [T ] => Iterable [T ]
628629 ): Gen [C [T ]] = nonEmptyBuildableOf[C [T ],T ](g)
629630
630631 /** Generates a list of random length. The maximum length depends on the
0 commit comments