summaryrefslogtreecommitdiff
path: root/src/library/scala/collection/immutable/ListSet.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2007-07-24 17:43:47 +0000
committerMartin Odersky <odersky@gmail.com>2007-07-24 17:43:47 +0000
commit5355f3c7323fa0ea1dabe2e39ec112c9d0b061b9 (patch)
tree2bda3cd539639ca5387a2a2fcea922a4c7ee480a /src/library/scala/collection/immutable/ListSet.scala
parentd8504784b821fb64f411adf7c551ee4646e5f99c (diff)
downloadscala-5355f3c7323fa0ea1dabe2e39ec112c9d0b061b9.tar.gz
scala-5355f3c7323fa0ea1dabe2e39ec112c9d0b061b9.tar.bz2
scala-5355f3c7323fa0ea1dabe2e39ec112c9d0b061b9.zip
fixed problems in subtyping.
fixed unsafe isInstanceOf's
Diffstat (limited to 'src/library/scala/collection/immutable/ListSet.scala')
-rw-r--r--src/library/scala/collection/immutable/ListSet.scala9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/library/scala/collection/immutable/ListSet.scala b/src/library/scala/collection/immutable/ListSet.scala
index 6bf4d5b626..3945612143 100644
--- a/src/library/scala/collection/immutable/ListSet.scala
+++ b/src/library/scala/collection/immutable/ListSet.scala
@@ -86,12 +86,13 @@ class ListSet[A] extends AnyRef with Set[A] {
/** Compares two sets for equality.
* Two set are equal iff they contain the same elements.
*/
- override def equals(obj: Any): Boolean =
- if (obj.isInstanceOf[scala.collection.Set[A]]) {
+ override def equals(obj: Any): Boolean = obj match {
+ case _: scala.collection.Set[_] =>
val that = obj.asInstanceOf[scala.collection.Set[A]]
- if (size != that.size) false else toList.forall(that.contains)
- } else
+ (size == that.size) && (toList forall that.contains)
+ case _ =>
false
+ }
/**
* @throws Predef.NoSuchElementException