diff options
author | Adriaan Moors <adriaan.moors@epfl.ch> | 2009-07-19 13:02:37 +0000 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@epfl.ch> | 2009-07-19 13:02:37 +0000 |
commit | 670edfe22a90dc08928b95e947b1a72c9ad463bf (patch) | |
tree | c36f382c04cf289d17b1c9e640439cc7eb3325ca | |
parent | 4fa2b5ac18183adae9c5cb69344d0100f9b1dfd1 (diff) | |
download | scala-670edfe22a90dc08928b95e947b1a72c9ad463bf.tar.gz scala-670edfe22a90dc08928b95e947b1a72c9ad463bf.tar.bz2 scala-670edfe22a90dc08928b95e947b1a72c9ad463bf.zip |
fixed #2163
-rw-r--r-- | src/compiler/scala/tools/nsc/transform/Erasure.scala | 2 | ||||
-rw-r--r-- | test/files/jvm/ticket2163/ticket2163.java | 9 | ||||
-rw-r--r-- | test/files/jvm/ticket2163/ticket2163.scala | 5 |
3 files changed, 15 insertions, 1 deletions
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<Integer> array = new ArrayList<Integer>(); + Ticket2163Scala<List> foo = new Ticket2163Scala<List>(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 |