From f13c07fe29d27bdc75423be6d3bf5458175bec90 Mon Sep 17 00:00:00 2001 From: Jason Zaugg Date: Sun, 11 May 2014 13:50:09 +0200 Subject: SI-8578 Avoid fresh name clashes under -Ydelambdafy:method It is important to append the fresh 'N' after '$'. Otherwise, we find out the hard way that ("foo$11" + "1") == ("foo$1" + "11"). --- src/compiler/scala/tools/nsc/transform/Delambdafy.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/compiler/scala/tools/nsc/transform/Delambdafy.scala b/src/compiler/scala/tools/nsc/transform/Delambdafy.scala index 1468680fe0..d66e53edca 100644 --- a/src/compiler/scala/tools/nsc/transform/Delambdafy.scala +++ b/src/compiler/scala/tools/nsc/transform/Delambdafy.scala @@ -238,7 +238,7 @@ abstract class Delambdafy extends Transform with TypingTransformers with ast.Tre // - reinstate the assertion in `Erasure.resolveAnonymousBridgeClash` val suffix = "$lambda$" + ( if (funOwner.isPrimaryConstructor) "" - else "$" + funOwner.name + else "$" + funOwner.name + "$" ) val name = unit.freshTypeName(s"${oldClass.name.decode}$suffix") -- cgit v1.2.3