From 670edfe22a90dc08928b95e947b1a72c9ad463bf Mon Sep 17 00:00:00 2001 From: Adriaan Moors Date: Sun, 19 Jul 2009 13:02:37 +0000 Subject: fixed #2163 --- src/compiler/scala/tools/nsc/transform/Erasure.scala | 2 +- test/files/jvm/ticket2163/ticket2163.java | 9 +++++++++ test/files/jvm/ticket2163/ticket2163.scala | 5 +++++ 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 test/files/jvm/ticket2163/ticket2163.java create mode 100644 test/files/jvm/ticket2163/ticket2163.scala diff --git a/src/compiler/scala/tools/nsc/transform/Erasure.scala b/src/compiler/scala/tools/nsc/transform/Erasure.scala index 747c1fb902..2b9b66b0ff 100644 --- a/src/compiler/scala/tools/nsc/transform/Erasure.scala +++ b/src/compiler/scala/tools/nsc/transform/Erasure.scala @@ -194,7 +194,7 @@ abstract class Erasure extends AddInterfaces with typechecker.Analyzer with ast. "."+sym.name if (sym == ArrayClass) ARRAY_TAG.toString+(args map jsig).mkString - else if (sym.isTypeParameterOrSkolem) + else if (sym.isTypeParameterOrSkolem && !sym.owner.isTypeParameterOrSkolem /*not a higher-order type parameter, as these are suppressed*/) TVAR_TAG.toString+sym.name+";" else if (sym == AnyClass || sym == AnyValClass || sym == SingletonClass) jsig(ObjectClass.tpe) diff --git a/test/files/jvm/ticket2163/ticket2163.java b/test/files/jvm/ticket2163/ticket2163.java new file mode 100644 index 0000000000..f8f26f0140 --- /dev/null +++ b/test/files/jvm/ticket2163/ticket2163.java @@ -0,0 +1,9 @@ +import java.util.*; + +public class ticket2163 { + public void test() { + List array = new ArrayList(); + Ticket2163Scala foo = new Ticket2163Scala(array); + foo.bar(array); + } +} \ No newline at end of file diff --git a/test/files/jvm/ticket2163/ticket2163.scala b/test/files/jvm/ticket2163/ticket2163.scala new file mode 100644 index 0000000000..b6c51f41fb --- /dev/null +++ b/test/files/jvm/ticket2163/ticket2163.scala @@ -0,0 +1,5 @@ +class Ticket2163Scala[CC[X]](x: CC[Int]) { + def bar[DD[X]](meh: DD[Int]): CC[Int] = x +} + +object Test extends Application {} \ No newline at end of file -- cgit v1.2.3