aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/typer/Applications.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2014-05-18 16:36:20 +0200
committerMartin Odersky <odersky@gmail.com>2014-05-30 14:43:39 +0200
commit70e785f5d8a583dae127dadf4d9add70bdea71f7 (patch)
tree62067ce7094f2aead1e7977f7be118ac157c04fe /src/dotty/tools/dotc/typer/Applications.scala
parentc70366db8469e81e315fe89672e8321607a7310a (diff)
downloaddotty-70e785f5d8a583dae127dadf4d9add70bdea71f7.tar.gz
dotty-70e785f5d8a583dae127dadf4d9add70bdea71f7.tar.bz2
dotty-70e785f5d8a583dae127dadf4d9add70bdea71f7.zip
Simplify result handling in FunProto.
Following the example of SelectionProto, we now always hide the result in a FunProto behind an IgnoreProto. This avoids a special case retry with a weaker FunProto in tryInsertApplyOrImplicit.
Diffstat (limited to 'src/dotty/tools/dotc/typer/Applications.scala')
-rw-r--r--src/dotty/tools/dotc/typer/Applications.scala4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/typer/Applications.scala b/src/dotty/tools/dotc/typer/Applications.scala
index 023063585..aaceac0e0 100644
--- a/src/dotty/tools/dotc/typer/Applications.scala
+++ b/src/dotty/tools/dotc/typer/Applications.scala
@@ -441,7 +441,7 @@ trait Applications extends Compatibility { self: Typer =>
def typedApply(tree: untpd.Apply, pt: Type)(implicit ctx: Context): Tree = {
def realApply(implicit ctx: Context): Tree = track("realApply") {
- var proto = new FunProto(tree.args, ignoreIfProto(pt), this)
+ var proto = new FunProto(tree.args, IgnoredProto(pt), this)
val fun1 = typedExpr(tree.fun, proto)
// Warning: The following line is dirty and fragile. We record that auto-tupling was demanded as
@@ -461,7 +461,7 @@ trait Applications extends Compatibility { self: Typer =>
val result = app.result
ConstFold(result)
} { (failedVal, failedState) =>
- val fun2 = tryInsertImplicits(fun1, proto)
+ val fun2 = tryInsertImplicitOnQualifier(fun1, proto)
if (fun1 eq fun2) {
failedState.commit()
failedVal