summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@epfl.ch>2012-05-21 08:19:20 -0700
committerAdriaan Moors <adriaan.moors@epfl.ch>2012-05-21 08:19:20 -0700
commit79e3cf338333e61ba1d0d03a1cfe5558718cf539 (patch)
tree0b97e1ab714e9dd6d6c7831c87f5c1ae5f07edba /test
parent1cd9f5b8952341f7131eb637419f2415b7e518df (diff)
parentd046b9a6f2614e8dcaaef89a2733e4acf9755266 (diff)
downloadscala-79e3cf338333e61ba1d0d03a1cfe5558718cf539.tar.gz
scala-79e3cf338333e61ba1d0d03a1cfe5558718cf539.tar.bz2
scala-79e3cf338333e61ba1d0d03a1cfe5558718cf539.zip
Merge pull request #591 from retronym/ticket/3888
Test case closes SI-3880.
Diffstat (limited to 'test')
-rw-r--r--test/files/pos/t3880.scala16
1 files changed, 16 insertions, 0 deletions
diff --git a/test/files/pos/t3880.scala b/test/files/pos/t3880.scala
new file mode 100644
index 0000000000..b6f06c43a3
--- /dev/null
+++ b/test/files/pos/t3880.scala
@@ -0,0 +1,16 @@
+abstract class Bar[+B] {
+}
+abstract class C1[+B] extends Bar[B] {
+ private[this] def g(x: C1[B]): Unit = ()
+
+ // this method is fine: notice that it allows the call to g,
+ // which requires C1[B], even though we matched on C1[_].
+ // (That is good news.)
+ private[this] def f1(x: Bar[B]): Unit = x match {
+ case x: C1[_] => g(x)
+ }
+ // this one crashes.
+ private[this] def f2(x: Bar[B]): Unit = x match {
+ case x: C1[_] => f2(x)
+ }
+} \ No newline at end of file