From 8251b5734c9e1b7e5a27717dff87859134cbcb40 Mon Sep 17 00:00:00 2001 From: Nicolas Stucki Date: Fri, 8 May 2020 10:57:50 +0200 Subject: [PATCH] Fix 8896: Add regression test --- tests/neg/i8896-a.scala | 20 ++++++++++++++++++++ tests/neg/i8896-b.scala | 20 ++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 tests/neg/i8896-a.scala create mode 100644 tests/neg/i8896-b.scala diff --git a/tests/neg/i8896-a.scala b/tests/neg/i8896-a.scala new file mode 100644 index 000000000000..80cf372a7205 --- /dev/null +++ b/tests/neg/i8896-a.scala @@ -0,0 +1,20 @@ +import scala.language.`3.0` + +trait Foo[A] + +object Example { + + given as Foo[Int] { + } + + def foo0[A: Foo]: A => A = identity + def foo1[A](implicit foo: Foo[A]): A => A = identity + def foo2[A](using Foo[A]): A => A = identity + + def test(): Unit = { + foo0(32) // error + foo1(32) // error + foo2(32) + } + +} diff --git a/tests/neg/i8896-b.scala b/tests/neg/i8896-b.scala new file mode 100644 index 000000000000..685566930af9 --- /dev/null +++ b/tests/neg/i8896-b.scala @@ -0,0 +1,20 @@ +import scala.language.`3.1` + +trait Foo[A] + +object Example { + + given as Foo[Int] { + } + + def foo0[A: Foo]: A => A = identity + def foo1[A](implicit foo: Foo[A]): A => A = identity + def foo2[A](using Foo[A]): A => A = identity + + def test(): Unit = { + foo0(32) + foo1(32) // error + foo2(32) + } + +}