@@ -683,7 +683,7 @@ trait Applications extends Compatibility { self: Typer with Dynamic =>
683683 *
684684 * { val xs = es; e' = e' + args }
685685 */
686- def typedOpAssign : Tree = track(" typedOpAssign" ) {
686+ def typedOpAssign ( implicit ctx : Context ) : Tree = track(" typedOpAssign" ) {
687687 val Apply (Select (lhs, name), rhss) = tree
688688 val lhs1 = typedExpr(lhs)
689689 val liftedDefs = new mutable.ListBuffer [Tree ]
@@ -805,16 +805,16 @@ trait Applications extends Compatibility { self: Typer with Dynamic =>
805805 * whereas overloaded variants need to have a conforming variant.
806806 */
807807 def trySelectUnapply (qual : untpd.Tree )(fallBack : Tree => Tree ): Tree = {
808- val genericProto = new UnapplyFunProto (WildcardType , this )
809- def specificProto = new UnapplyFunProto (selType, this )
810808 // try first for non-overloaded, then for overloaded ocurrences
811809 def tryWithName (name : TermName )(fallBack : Tree => Tree )(implicit ctx : Context ): Tree =
812- tryEither {
813- implicit ctx => typedExpr(untpd.Select (qual, name), specificProto)
810+ tryEither { implicit ctx =>
811+ val specificProto = new UnapplyFunProto (selType, this )
812+ typedExpr(untpd.Select (qual, name), specificProto)
814813 } {
815814 (sel, _) =>
816- tryEither {
817- implicit ctx => typedExpr(untpd.Select (qual, name), genericProto)
815+ tryEither { implicit ctx =>
816+ val genericProto = new UnapplyFunProto (WildcardType , this )
817+ typedExpr(untpd.Select (qual, name), genericProto)
818818 } {
819819 (_, _) => fallBack(sel)
820820 }
0 commit comments