summaryrefslogtreecommitdiff
path: root/test/files/run/t6611.scala
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2012-11-04 14:17:25 +0100
committerJason Zaugg <jzaugg@gmail.com>2012-11-07 08:28:21 +0100
commitcac5a08611f9511ba4d94b99db630404efae190a (patch)
treeedfda31a5cfb514a744b3e632ebff960147aacac /test/files/run/t6611.scala
parentfe86aedf4acbb16159c8036edeadbda0bd380771 (diff)
downloadscala-cac5a08611f9511ba4d94b99db630404efae190a.tar.gz
scala-cac5a08611f9511ba4d94b99db630404efae190a.tar.bz2
scala-cac5a08611f9511ba4d94b99db630404efae190a.zip
Optimize primitive Array(e1, ..., en)
Expands an existing optimization for reference arrays to apply to primitives, as well. Fixes one aspect of SI-6247.
Diffstat (limited to 'test/files/run/t6611.scala')
-rw-r--r--test/files/run/t6611.scala63
1 files changed, 59 insertions, 4 deletions
diff --git a/test/files/run/t6611.scala b/test/files/run/t6611.scala
index c0297372f0..c295368aea 100644
--- a/test/files/run/t6611.scala
+++ b/test/files/run/t6611.scala
@@ -1,6 +1,61 @@
object Test extends App {
- val a = Array("1")
- val a2 = Array(a: _*)
- a2(0) = "2"
- assert(a(0) == "1")
+ locally {
+ val a = Array("1")
+ val a2 = Array(a: _*)
+ assert(a ne a2)
+ }
+
+ locally {
+ val a = Array("1": Object)
+ val a2 = Array(a: _*)
+ assert(a ne a2)
+ }
+
+ locally {
+ val a = Array(true)
+ val a2 = Array(a: _*)
+ assert(a ne a2)
+ }
+
+ locally {
+ val a = Array(1: Short)
+ val a2 = Array(a: _*)
+ assert(a ne a2)
+ }
+
+ locally {
+ val a = Array(1: Byte)
+ val a2 = Array(a: _*)
+ assert(a ne a2)
+ }
+
+ locally {
+ val a = Array(1)
+ val a2 = Array(a: _*)
+ assert(a ne a2)
+ }
+
+ locally {
+ val a = Array(1L)
+ val a2 = Array(a: _*)
+ assert(a ne a2)
+ }
+
+ locally {
+ val a = Array(1f)
+ val a2 = Array(a: _*)
+ assert(a ne a2)
+ }
+
+ locally {
+ val a = Array(1d)
+ val a2 = Array(a: _*)
+ assert(a ne a2)
+ }
+
+ locally {
+ val a = Array(())
+ val a2 = Array(a: _*)
+ assert(a ne a2)
+ }
}