diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2012-11-22 14:20:18 +0100 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2012-11-26 21:46:40 +0100 |
commit | 9aa6ded8e01179e7d55144de273b39f3a0b2d3ec (patch) | |
tree | 4746ee626e95c54b4a1e7e0339afae68c60dc0ff /test/files/neg/t6667.scala | |
parent | 3719f790f301852b85dcd95b401c921e286d4e1e (diff) | |
download | scala-9aa6ded8e01179e7d55144de273b39f3a0b2d3ec.tar.gz scala-9aa6ded8e01179e7d55144de273b39f3a0b2d3ec.tar.bz2 scala-9aa6ded8e01179e7d55144de273b39f3a0b2d3ec.zip |
SI-6667 Abort after any ambiguous in-scope implicit
Rather than continuing on to a search of implicits
of the expected type.
Previously, the companion implicits were searched if the
the caller was running the implicit search in silent
mode, for example if searching for an implicit parameter
in an application which has an expected type.
After this commit, the behaviour is consistent, regardless
on silent/non-silent typing.
Diffstat (limited to 'test/files/neg/t6667.scala')
-rw-r--r-- | test/files/neg/t6667.scala | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/test/files/neg/t6667.scala b/test/files/neg/t6667.scala new file mode 100644 index 0000000000..fb857ebd33 --- /dev/null +++ b/test/files/neg/t6667.scala @@ -0,0 +1,10 @@ +class C +object C { + implicit def companion = new C +} + +object Test { + implicit val inScope1, inScope2 = new C + implicitly[C]: Unit // C.companion was used; whereas the ambiguity should abort the implicit search. + implicitly[C] // ambiguity reported, rather than falling back to C.companion +} |