From 0274907fc189201ebef044a1197b141f8ead9d30 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Wed, 29 Jan 2020 16:55:15 +0100 Subject: [PATCH] Fix #8083: Add test case --- tests/pos/i8083.scala | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 tests/pos/i8083.scala diff --git a/tests/pos/i8083.scala b/tests/pos/i8083.scala new file mode 100644 index 000000000000..8fd26de03a1c --- /dev/null +++ b/tests/pos/i8083.scala @@ -0,0 +1,26 @@ +trait A { + class B +} +abstract class Test2 { val a: A; val b: a.B } +object Test2 { + def unapply(that: Test2): Option[(that.a.type, that.a.B)] = Some((that.a, that.b)) +} +object anA extends A +object Test extends App { + val t: Test2 { val a: anA.type; val b: anA.B } = new Test2 { val a: anA.type = anA; val b = new a.B } + t match { + case Test2(u, v) => + u: A + u: t.a.type // error + v: t.a.B // error + } +} +object Test1 extends App { + object t extends Test2 { val a = anA; val b = new a.B } + t match { + case Test2(u, v) => + u: A + u: t.a.type // error + v: t.a.B // error + } +} \ No newline at end of file