diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2012-05-20 17:48:28 +0200 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2012-05-20 17:48:28 +0200 |
commit | d046b9a6f2614e8dcaaef89a2733e4acf9755266 (patch) | |
tree | ae3b3767115a941fdcce4bba54c8314f0bf8131c | |
parent | 1f5584fbe183041d4af269278f0125e2f0b94a44 (diff) | |
download | scala-d046b9a6f2614e8dcaaef89a2733e4acf9755266.tar.gz scala-d046b9a6f2614e8dcaaef89a2733e4acf9755266.tar.bz2 scala-d046b9a6f2614e8dcaaef89a2733e4acf9755266.zip |
Test case closes SI-3880.
virtpatmat ftw.
-rw-r--r-- | test/files/pos/t3880.scala | 16 |
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 |