diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2014-11-10 14:29:39 +1000 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2014-11-10 14:45:23 +1000 |
commit | 362aa5cb055e8073d640ed20e2b3f838d0c05b20 (patch) | |
tree | 9f347249325445c2d3b4084ebf3c5f5bbd046c54 /test/files/run/t7521b.check | |
parent | 15ae8ddd1cc68bee0b4b38b3830720d422656642 (diff) | |
download | scala-362aa5cb055e8073d640ed20e2b3f838d0c05b20.tar.gz scala-362aa5cb055e8073d640ed20e2b3f838d0c05b20.tar.bz2 scala-362aa5cb055e8073d640ed20e2b3f838d0c05b20.zip |
SI-7521 Fix erasure of parametric value classes.
`Erasure.boxingErasure` exists to ensure that we use boxed primitives
to represent the value, if the value class has type parameters
referred to by its element type.
However, this is implenented with a type map that runs deeply
across the type. In the enclosed test case, we have
`Repr=Array[Int]`, which should be erased to `Array[Int]`, _not_
to `Array[Integer]`.
This commit ensures that the `boxingErasure` map only applies
boxing at the top level, and not within array arguments. (Other
type arguments will be erased, so we don't have to deal with them.)
Diffstat (limited to 'test/files/run/t7521b.check')
-rw-r--r-- | test/files/run/t7521b.check | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/test/files/run/t7521b.check b/test/files/run/t7521b.check new file mode 100644 index 0000000000..4d96df106d --- /dev/null +++ b/test/files/run/t7521b.check @@ -0,0 +1,7 @@ += Java Erased Signatures = +public int C.a(Wrapper) +public int C.b(Wrapper) + += Java Generic Signatures = +public int C.a(Wrapper<int[]>) +public int C.b(Wrapper<java.lang.Object>) |