diff options
author | Martin Odersky <odersky@gmail.com> | 2013-10-04 13:33:11 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2013-10-04 13:33:11 +0200 |
commit | 7c02b2b3c8b50725b4035658a369d015a2a3b64f (patch) | |
tree | b55e8b6c4c61dfa089d13b998f3f3b4daf6a168f /src/dotty/tools/dotc/typer/Typer.scala | |
parent | ee9405e7ecfc57038bcf8a20ecdaf5afd47e4acd (diff) | |
download | dotty-7c02b2b3c8b50725b4035658a369d015a2a3b64f.tar.gz dotty-7c02b2b3c8b50725b4035658a369d015a2a3b64f.tar.bz2 dotty-7c02b2b3c8b50725b4035658a369d015a2a3b64f.zip |
No eta-expansion, implicit parameters when Mode = Type
Diffstat (limited to 'src/dotty/tools/dotc/typer/Typer.scala')
-rw-r--r-- | src/dotty/tools/dotc/typer/Typer.scala | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/dotty/tools/dotc/typer/Typer.scala b/src/dotty/tools/dotc/typer/Typer.scala index e902864d6..8a4ee2d83 100644 --- a/src/dotty/tools/dotc/typer/Typer.scala +++ b/src/dotty/tools/dotc/typer/Typer.scala @@ -1046,8 +1046,7 @@ class Typer extends Namer with Applications with Implicits { |follow this method with `_' if you want to treat it as a partially applied function""".stripMargin) case _ => if (tree.tpe <:< pt) tree - else if (ctx.mode is Mode.Pattern) tree // no subtype check for patterns - else if (ctx.mode is Mode.Type) err.typeMismatch(tree, pt) + else if (ctx.mode is Mode.Pattern) tree // no subtype check for pattern else adaptToSubType(wtp) } @@ -1092,7 +1091,11 @@ class Typer extends Namer with Applications with Implicits { case wtp => pt match { case pt: FunProto => adaptToArgs(wtp, pt) - case _ => adaptNoArgs(wtp) + case _ => + if (ctx.mode is Mode.Type) + if (tree.tpe <:< pt) tree + else err.typeMismatch(tree, pt) + else adaptNoArgs(wtp) } } } |