summaryrefslogtreecommitdiff
path: root/src/library/scala/collection/Set.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2009-05-14 09:36:49 +0000
committerMartin Odersky <odersky@gmail.com>2009-05-14 09:36:49 +0000
commit8fa8118e341cc0174d789b508b8b6ebab3571582 (patch)
treec45a0ba6be7233898f406dfdcf2f4a565a8f73ee /src/library/scala/collection/Set.scala
parent302427358e0ab97c3a12302e94295ca09465589d (diff)
downloadscala-8fa8118e341cc0174d789b508b8b6ebab3571582.tar.gz
scala-8fa8118e341cc0174d789b508b8b6ebab3571582.tar.bz2
scala-8fa8118e341cc0174d789b508b8b6ebab3571582.zip
cleaned up collection builder framework
Diffstat (limited to 'src/library/scala/collection/Set.scala')
-rw-r--r--src/library/scala/collection/Set.scala13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/library/scala/collection/Set.scala b/src/library/scala/collection/Set.scala
index 16cfbf3a1b..8a215a0bf2 100644
--- a/src/library/scala/collection/Set.scala
+++ b/src/library/scala/collection/Set.scala
@@ -21,16 +21,17 @@ import generic._
* @author Martin Odersky
* @version 2.8
*/
-trait Set[A] extends (A => Boolean) with Iterable[A] with SetTemplate[A, Set[A]] {
- def empty = Set.empty
- override def traversableBuilder[B]: Builder[B, Set[B]] = Set.newBuilder[B]
+trait Set[A] extends (A => Boolean)
+ with Iterable[A]
+ with SetClass[A, Set]
+ with SetTemplate[A, Set[A]] {
+ override def companion: Companion[Set] = Set
}
/* Factory object for `Set` class */
object Set extends SetFactory[Set] {
- def empty[A]: Set[A] = immutable.Set.empty[A]
- type Coll = Set[_]
- implicit def builderFactory[A]: BuilderFactory[A, Set[A], Coll] = new BuilderFactory[A, Set[A], Coll] { def apply(from: Coll) = from.traversableBuilder[A] }
+ override def empty[A]: Set[A] = immutable.Set.empty[A]
+ implicit def builderFactory[A]: BuilderFactory[A, Set[A], Coll] = setBuilderFactory[A]
}
/* !!! what to do about this?