aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/typer/Applications.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2014-01-27 10:17:47 +0100
committerMartin Odersky <odersky@gmail.com>2014-01-27 10:17:47 +0100
commitfe85a5aa18e071922d11f1dd1694fe478b9d4fad (patch)
treea34065813e4932bab6c8c428e07b309462263bab /src/dotty/tools/dotc/typer/Applications.scala
parentda9579110af09d1f9702ea9047a150724ed1291b (diff)
downloaddotty-fe85a5aa18e071922d11f1dd1694fe478b9d4fad.tar.gz
dotty-fe85a5aa18e071922d11f1dd1694fe478b9d4fad.tar.bz2
dotty-fe85a5aa18e071922d11f1dd1694fe478b9d4fad.zip
Accept method types directly in isApplicable.
This lets us streamline normalize, and avoid to create FunctionTypes if the expected type is a FunProto or ViewProto.
Diffstat (limited to 'src/dotty/tools/dotc/typer/Applications.scala')
-rw-r--r--src/dotty/tools/dotc/typer/Applications.scala2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/dotty/tools/dotc/typer/Applications.scala b/src/dotty/tools/dotc/typer/Applications.scala
index 0969562da..f504ffacd 100644
--- a/src/dotty/tools/dotc/typer/Applications.scala
+++ b/src/dotty/tools/dotc/typer/Applications.scala
@@ -736,6 +736,8 @@ trait Applications extends Compatibility { self: Typer =>
private def onMethod(tp: Type, p: TermRef => Boolean)(implicit ctx: Context): Boolean = tp match {
case methRef: TermRef if methRef.widenSingleton.isInstanceOf[SignedType] =>
p(methRef)
+ case mt: SignedType =>
+ p(mt.narrow)
case _ =>
tp.member(nme.apply).hasAltWith(d => p(TermRef(tp, nme.apply, d)))
}