summaryrefslogtreecommitdiff
path: root/src/library/scala/collection/TraversableLike.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2010-06-06 07:52:30 +0000
committerMartin Odersky <odersky@gmail.com>2010-06-06 07:52:30 +0000
commitdd396886d0da88326e5e4772af4d8813360ea8a5 (patch)
tree4465d56a0a33c7e46a3374727ecfeaea10a8b839 /src/library/scala/collection/TraversableLike.scala
parent0e413bc755b95cac9ec1a370f3773848e72bab86 (diff)
downloadscala-dd396886d0da88326e5e4772af4d8813360ea8a5.tar.gz
scala-dd396886d0da88326e5e4772af4d8813360ea8a5.tar.bz2
scala-dd396886d0da88326e5e4772af4d8813360ea8a5.zip
Fixed problem discovered by Paul that views do ...
Fixed problem discovered by Paul that views do not support a filter in for expressions. review by extempore.
Diffstat (limited to 'src/library/scala/collection/TraversableLike.scala')
-rw-r--r--src/library/scala/collection/TraversableLike.scala8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/library/scala/collection/TraversableLike.scala b/src/library/scala/collection/TraversableLike.scala
index 71e9b0f0e9..04d9002eae 100644
--- a/src/library/scala/collection/TraversableLike.scala
+++ b/src/library/scala/collection/TraversableLike.scala
@@ -86,7 +86,9 @@ import immutable.{List, Stream, Nil, ::}
*
* Note: will not terminate for infinite-sized collections.
*/
-trait TraversableLike[+A, +Repr] extends HasNewBuilder[A, Repr] with TraversableOnce[A] {
+trait TraversableLike[+A, +Repr] extends HasNewBuilder[A, Repr]
+ with FilterMonadic[A, Repr]
+ with TraversableOnce[A] {
self =>
import Traversable.breaks._
@@ -754,12 +756,12 @@ trait TraversableLike[+A, +Repr] extends HasNewBuilder[A, Repr] with Traversable
* All these operations apply to those elements of this $coll which
* satisfy the predicate `p`.
*/
- def withFilter(p: A => Boolean): WithFilter = new WithFilter(p)
+ def withFilter(p: A => Boolean): FilterMonadic[A, Repr] = new WithFilter(p)
/** A class supporting filtered operations. Instances of this class are returned by
* method `withFilter`.
*/
- class WithFilter(p: A => Boolean) {
+ class WithFilter(p: A => Boolean) extends FilterMonadic[A, Repr] {
/** Builds a new collection by applying a function to all elements of the
* outer $coll containing this `WithFilter` instance that satisfy predicate `p`.