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) + } + +}