From 0720157cd7d82db6c1efea615c2e78565b4ada0e Mon Sep 17 00:00:00 2001 From: Jason Zaugg Date: Tue, 2 Oct 2012 21:01:10 +0200 Subject: SI-6436 Handle ambiguous string processors Before, we got in an inifinite loop by chasing the error typed result of adaptToMemberWithArgs. One point of befuddlement remains: why did t6436 and t6436b behave differently before this change? --- src/compiler/scala/tools/nsc/typechecker/Typers.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/compiler/scala/tools/nsc/typechecker/Typers.scala b/src/compiler/scala/tools/nsc/typechecker/Typers.scala index c25b6c3726..335d93f387 100644 --- a/src/compiler/scala/tools/nsc/typechecker/Typers.scala +++ b/src/compiler/scala/tools/nsc/typechecker/Typers.scala @@ -4578,7 +4578,7 @@ trait Typers extends Modes with Adaptations with Tags { // xml member to StringContext, which in turn has an unapply[Seq] method) if (name != nme.CONSTRUCTOR && inExprModeOr(mode, PATTERNmode)) { val qual1 = adaptToMemberWithArgs(tree, qual, name, mode, true, true) - if (qual1 ne qual) + if ((qual1 ne qual) && !qual1.isErrorTyped) return typed(treeCopy.Select(tree, qual1, name), mode, pt) } NoSymbol -- cgit v1.2.3