From aa0cc8e415cca88285b36e76842b759c59f66be7 Mon Sep 17 00:00:00 2001 From: Paul Phillips Date: Sat, 19 Mar 2011 19:55:42 +0000 Subject: Prevent a divergent implicit from terminating i... Prevent a divergent implicit from terminating implicit search, so that there can still be a winner, as endorsed by martin over a cheese plate. Closes #3883, review by dmharrah. --- test/files/pos/bug3883.scala | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 test/files/pos/bug3883.scala (limited to 'test/files') diff --git a/test/files/pos/bug3883.scala b/test/files/pos/bug3883.scala new file mode 100644 index 0000000000..adde0526b2 --- /dev/null +++ b/test/files/pos/bug3883.scala @@ -0,0 +1,15 @@ +// need to test both orders +object A1 { + implicit def i: Equiv[Boolean] = error("") + implicit def div[T, A](implicit f: T => A, eq: Equiv[A]): Equiv[T] = error("") + + implicitly[Equiv[Boolean]] +} + +object A2 { + implicit def div[T, A](implicit f: T => A, eq: Equiv[A]): Equiv[T] = error("") + implicit def i: Equiv[Boolean] = error("") + + implicitly[Equiv[Boolean]] +} + -- cgit v1.2.3