diff options
author | Martin Odersky <odersky@gmail.com> | 2013-10-23 21:15:21 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2013-10-23 21:15:21 +0200 |
commit | 344f0444ac708e4ee885deeb54d070924487fa31 (patch) | |
tree | 303690451f79f7a9b9890f8aeabbc7dff33dab02 /src/dotty/tools/dotc/typer/Typer.scala | |
parent | 7cf397d00073db9af8a74495610bf124ac0689cf (diff) | |
download | dotty-344f0444ac708e4ee885deeb54d070924487fa31.tar.gz dotty-344f0444ac708e4ee885deeb54d070924487fa31.tar.bz2 dotty-344f0444ac708e4ee885deeb54d070924487fa31.zip |
Suppressing type error messages against prototypes.
Found/expected type errors are no longer produced if the expected type is a prototype. Instead we return the tree without adaptation and wait for the error to be produced in the next step, where the error mesage tends to be better.
Diffstat (limited to 'src/dotty/tools/dotc/typer/Typer.scala')
-rw-r--r-- | src/dotty/tools/dotc/typer/Typer.scala | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/typer/Typer.scala b/src/dotty/tools/dotc/typer/Typer.scala index 11de19648..840bee467 100644 --- a/src/dotty/tools/dotc/typer/Typer.scala +++ b/src/dotty/tools/dotc/typer/Typer.scala @@ -1072,8 +1072,11 @@ class Typer extends Namer with Applications with Implicits { } // try an implicit conversion inferView(tree, pt) match { - case SearchSuccess(adapted) => adapted - case failure: SearchFailure => err.typeMismatch(tree, pt, failure) + case SearchSuccess(adapted) => + adapted + case failure: SearchFailure => + if (pt.isInstanceOf[ProtoType]) tree + else err.typeMismatch(tree, pt, failure) } } |