diff options
author | Martin Odersky <odersky@gmail.com> | 2007-07-24 17:43:47 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2007-07-24 17:43:47 +0000 |
commit | 5355f3c7323fa0ea1dabe2e39ec112c9d0b061b9 (patch) | |
tree | 2bda3cd539639ca5387a2a2fcea922a4c7ee480a /src/library/scala/collection/immutable/ListSet.scala | |
parent | d8504784b821fb64f411adf7c551ee4646e5f99c (diff) | |
download | scala-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.scala | 9 |
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 |