summaryrefslogtreecommitdiff
path: root/test/files/pos/bug3883.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2011-03-19 19:55:42 +0000
committerPaul Phillips <paulp@improving.org>2011-03-19 19:55:42 +0000
commitaa0cc8e415cca88285b36e76842b759c59f66be7 (patch)
tree7aeda2d3872bcada8d9b33469200eba511db35df /test/files/pos/bug3883.scala
parent4b0531b55a8d4971b7e297413e514072a99385e7 (diff)
downloadscala-aa0cc8e415cca88285b36e76842b759c59f66be7.tar.gz
scala-aa0cc8e415cca88285b36e76842b759c59f66be7.tar.bz2
scala-aa0cc8e415cca88285b36e76842b759c59f66be7.zip
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.
Diffstat (limited to 'test/files/pos/bug3883.scala')
-rw-r--r--test/files/pos/bug3883.scala15
1 files changed, 15 insertions, 0 deletions
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]]
+}
+