Skip to content

Commit ad97f7f

Browse files
committed
Don't create extension methods for Scala2x value classes
Fixes scala#387
1 parent d215be0 commit ad97f7f

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

src/dotty/tools/dotc/transform/ExtensionMethods.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ class ExtensionMethods extends MiniPhaseTransform with DenotTransformer with Ful
3434
override def transform(ref: SingleDenotation)(implicit ctx: Context): SingleDenotation = ref match {
3535
case ref: ClassDenotation if ref is ModuleClass =>
3636
ref.linkedClass match {
37-
case origClass: ClassSymbol if isDerivedValueClass(origClass) =>
37+
// In Scala 2, extension methods are added before pickling so we should not generate them again
38+
case origClass: ClassSymbol if isDerivedValueClass(origClass) && !(origClass is Scala2x) =>
3839
val cinfo = ref.classInfo
3940
val decls1 = cinfo.decls.cloneScope
4041
ctx.atPhase(thisTransformer.next) { implicit ctx =>

0 commit comments

Comments
 (0)