aboutsummaryrefslogtreecommitdiff
path: root/compiler/src/dotty/tools/dotc/typer/Applications.scala
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/src/dotty/tools/dotc/typer/Applications.scala')
-rw-r--r--compiler/src/dotty/tools/dotc/typer/Applications.scala14
1 files changed, 7 insertions, 7 deletions
diff --git a/compiler/src/dotty/tools/dotc/typer/Applications.scala b/compiler/src/dotty/tools/dotc/typer/Applications.scala
index 284b9e21e..de017961a 100644
--- a/compiler/src/dotty/tools/dotc/typer/Applications.scala
+++ b/compiler/src/dotty/tools/dotc/typer/Applications.scala
@@ -683,7 +683,7 @@ trait Applications extends Compatibility { self: Typer with Dynamic =>
*
* { val xs = es; e' = e' + args }
*/
- def typedOpAssign: Tree = track("typedOpAssign") {
+ def typedOpAssign(implicit ctx: Context): Tree = track("typedOpAssign") {
val Apply(Select(lhs, name), rhss) = tree
val lhs1 = typedExpr(lhs)
val liftedDefs = new mutable.ListBuffer[Tree]
@@ -805,16 +805,16 @@ trait Applications extends Compatibility { self: Typer with Dynamic =>
* whereas overloaded variants need to have a conforming variant.
*/
def trySelectUnapply(qual: untpd.Tree)(fallBack: Tree => Tree): Tree = {
- val genericProto = new UnapplyFunProto(WildcardType, this)
- def specificProto = new UnapplyFunProto(selType, this)
// try first for non-overloaded, then for overloaded ocurrences
def tryWithName(name: TermName)(fallBack: Tree => Tree)(implicit ctx: Context): Tree =
- tryEither {
- implicit ctx => typedExpr(untpd.Select(qual, name), specificProto)
+ tryEither { implicit ctx =>
+ val specificProto = new UnapplyFunProto(selType, this)
+ typedExpr(untpd.Select(qual, name), specificProto)
} {
(sel, _) =>
- tryEither {
- implicit ctx => typedExpr(untpd.Select(qual, name), genericProto)
+ tryEither { implicit ctx =>
+ val genericProto = new UnapplyFunProto(WildcardType, this)
+ typedExpr(untpd.Select(qual, name), genericProto)
} {
(_, _) => fallBack(sel)
}