summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2007-03-06 13:06:21 +0000
committerMartin Odersky <odersky@gmail.com>2007-03-06 13:06:21 +0000
commit70e2162afee52f9e52e652e55a5ab3bbdc550214 (patch)
tree94f6d667be62aa53fd9e0c9e51145320b542fcd7
parent9c97b8998bb3a1add3b5f7b9a78de553c9bbbd13 (diff)
downloadscala-70e2162afee52f9e52e652e55a5ab3bbdc550214.tar.gz
scala-70e2162afee52f9e52e652e55a5ab3bbdc550214.tar.bz2
scala-70e2162afee52f9e52e652e55a5ab3bbdc550214.zip
fixed bug 979
-rw-r--r--src/library/scala/collection/immutable/HashSet.scala4
-rwxr-xr-xtest/files/pos/bug946.scala8
-rwxr-xr-xtest/files/run/bug949.scala14
3 files changed, 24 insertions, 2 deletions
diff --git a/src/library/scala/collection/immutable/HashSet.scala b/src/library/scala/collection/immutable/HashSet.scala
index 5bc8054a0d..05f5fd11d1 100644
--- a/src/library/scala/collection/immutable/HashSet.scala
+++ b/src/library/scala/collection/immutable/HashSet.scala
@@ -98,8 +98,8 @@ class HashSet[A] extends Set[A] with mutable.FlatHashTable[A] {
def undo(m: HashSet[A]) {
if (m ne last) {
undo(m.later)
- if (m.deleted) addEntry(changedElem)
- else removeEntry(changedElem)
+ if (m.deleted) addEntry(m.changedElem)
+ else removeEntry(m.changedElem)
}
}
table = new Array[AnyRef](last.table.length)
diff --git a/test/files/pos/bug946.scala b/test/files/pos/bug946.scala
new file mode 100755
index 0000000000..c4bd6e9ba4
--- /dev/null
+++ b/test/files/pos/bug946.scala
@@ -0,0 +1,8 @@
+object pmbugbounds {
+ trait Bar
+ class Foo[t <: Bar] {}
+
+ (new Foo[Bar]) match {
+ case _ : Foo[x] => null
+ }
+}
diff --git a/test/files/run/bug949.scala b/test/files/run/bug949.scala
new file mode 100755
index 0000000000..9cce7bc6e6
--- /dev/null
+++ b/test/files/run/bug949.scala
@@ -0,0 +1,14 @@
+object Test extends Application {
+
+ def f = new T { val state = State.A }
+
+ private object State extends Enumeration {
+ val A, B = Value
+ }
+
+ f
+}
+
+trait T {
+}
+