summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/compiler/scala/tools/nsc/transform/ExtensionMethods.scala4
-rw-r--r--test/files/run/GenericValueClass.scala12
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)
+
+}