diff options
-rw-r--r-- | src/compiler/scala/tools/nsc/transform/ExtensionMethods.scala | 4 | ||||
-rw-r--r-- | test/files/run/GenericValueClass.scala | 12 |
2 files changed, 14 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/ExtensionMethods.scala b/src/compiler/scala/tools/nsc/transform/ExtensionMethods.scala index e5f2d49d52..79dc6b4986 100644 --- a/src/compiler/scala/tools/nsc/transform/ExtensionMethods.scala +++ b/src/compiler/scala/tools/nsc/transform/ExtensionMethods.scala @@ -152,8 +152,8 @@ abstract class ExtensionMethods extends Transform with TypingTransformers { case stat @ ModuleDef(mods, name, tmpl @ Template(parents, self, body)) => extensionDefs.remove(stat.symbol) match { case Some(buf) => - val extensionDefs = buf.toList map { mdef => atOwner(stat.symbol) { localTyper.typed(mdef) }} - treeCopy.ModuleDef(stat, mods, name, treeCopy.Template(tmpl, parents, self, body ++ buf)) + val extensionDefs = buf.toList map { mdef => atOwner(stat.symbol) { localTyper.typed(mdef) } } + treeCopy.ModuleDef(stat, mods, name, treeCopy.Template(tmpl, parents, self, body ++ extensionDefs)) case None => stat } diff --git a/test/files/run/GenericValueClass.scala b/test/files/run/GenericValueClass.scala new file mode 100644 index 0000000000..10068d6cae --- /dev/null +++ b/test/files/run/GenericValueClass.scala @@ -0,0 +1,12 @@ +class Box[T](val x: T) extends AnyVal { + def get: T = x +} + +object Test extends App { + val b = new Box(1) + println(b.get) + + val c = new Box("abc") + println(c.get) + +} |