From d046b9a6f2614e8dcaaef89a2733e4acf9755266 Mon Sep 17 00:00:00 2001 From: Jason Zaugg Date: Sun, 20 May 2012 17:48:28 +0200 Subject: Test case closes SI-3880. virtpatmat ftw. --- test/files/pos/t3880.scala | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 test/files/pos/t3880.scala (limited to 'test/files') 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 -- cgit v1.2.3