From 300208c2b07785f279aadb152f03ea0721a33d7c Mon Sep 17 00:00:00 2001 From: Anatolii Kmetiuk Date: Wed, 24 Mar 2021 16:19:48 +0100 Subject: [PATCH] Fix #11318: add regression test --- tests/pos/i11318a.scala | 4 ++++ tests/pos/i11318b.scala | 13 +++++++++++++ tests/pos/i11318c.scala | 6 ++++++ 3 files changed, 23 insertions(+) create mode 100644 tests/pos/i11318a.scala create mode 100644 tests/pos/i11318b.scala create mode 100644 tests/pos/i11318c.scala diff --git a/tests/pos/i11318a.scala b/tests/pos/i11318a.scala new file mode 100644 index 000000000000..6422b32a375e --- /dev/null +++ b/tests/pos/i11318a.scala @@ -0,0 +1,4 @@ +extension(a: Int) + def b: Int = ??? + def h: Unit = + [A] => (r: Int) => b diff --git a/tests/pos/i11318b.scala b/tests/pos/i11318b.scala new file mode 100644 index 000000000000..b8bf2203d218 --- /dev/null +++ b/tests/pos/i11318b.scala @@ -0,0 +1,13 @@ +type FunctionK[A[_], B[_]] = [Z] => A[Z] => B[Z] +type ~>:[A[_], B[_]] = FunctionK[A, B] + +trait RepresentableK[F[_[_], _]]: + type RepresentationK[_] + + def tabulateK[A[_], C](f: RepresentationK ~>: A): F[A, C] + + extension[A[_], C](fa: F[A, C]) + def indexK: RepresentationK ~>: A + + def mapK[B[_]] (f: A ~>: B): F[B, C] = + tabulateK([Z] => (r: RepresentationK[Z]) => f(indexK(r))) diff --git a/tests/pos/i11318c.scala b/tests/pos/i11318c.scala new file mode 100644 index 000000000000..b1da38d7f6da --- /dev/null +++ b/tests/pos/i11318c.scala @@ -0,0 +1,6 @@ +extension(a: Int) + def b: Int = ??? + def h: Unit = + new Function1[Int, Int] { + def apply(r: Int): Int = b + }