From c8c8b3c257dabfa4a6bef8cb05d483675ea40a97 Mon Sep 17 00:00:00 2001 From: Nicolas Stucki Date: Thu, 9 May 2019 09:12:22 +0200 Subject: [PATCH] Fix #6474: Add regression test --- compiler/test-resources/repl/i6474 | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 compiler/test-resources/repl/i6474 diff --git a/compiler/test-resources/repl/i6474 b/compiler/test-resources/repl/i6474 new file mode 100644 index 000000000000..5937c9f7439a --- /dev/null +++ b/compiler/test-resources/repl/i6474 @@ -0,0 +1,22 @@ +scala> object Foo1 { type T[+A] = (A, Int) } +// defined object Foo1 +scala> object Foo2 { type T[+A] = [+B] => (A, B) } +// defined object Foo2 +scala> object Foo3 { type T[+A] = [+B] => [C] => (A, B) } +// defined object Foo3 +scala> ((1, 2): Foo1.T[Int]): Foo1.T[Any] +val res0: (Any, Int) = (1,2) +scala> ((1, 2): Foo2.T[Int][Int]): Foo2.T[Any][Int] +val res1: (Any, Int) = (1,2) +scala> (1, 2): Foo3.T[Int][Int] +1 | (1, 2): Foo3.T[Int][Int] + | ^^^^^^^^^^^^^^^^ + | Missing type parameter for Foo3.T[Int][Int] +scala> ((1, 2): Foo3.T[Int][Int][Int]): Foo3.T[Any][Int][Int] +val res2: (Any, Int) = (1,2) +scala> object Foo3 { type T[A] = [B] => [C] => (A, B) } +// defined object Foo3 +scala> ((1, 2): Foo3.T[Int][Int][Int]) +val res3: (Int, Int) = (1,2) +scala> ((1, 2): Foo3.T[Int][Int][Int]) +val res4: (Int, Int) = (1,2)