diff options
author | Paul Phillips <paulp@improving.org> | 2011-03-19 19:55:42 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2011-03-19 19:55:42 +0000 |
commit | aa0cc8e415cca88285b36e76842b759c59f66be7 (patch) | |
tree | 7aeda2d3872bcada8d9b33469200eba511db35df /test | |
parent | 4b0531b55a8d4971b7e297413e514072a99385e7 (diff) | |
download | scala-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')
-rw-r--r-- | test/files/pos/bug3883.scala | 15 |
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]] +} + |