diff options
author | xuwei-k <6b656e6a69@gmail.com> | 2015-02-05 23:01:58 +0900 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@typesafe.com> | 2015-05-20 17:03:57 -0700 |
commit | 17de4979a7c086b2e9b00695d73b63ea6e499bf0 (patch) | |
tree | b3101268dd344e4368fc5a8a76879a9f60511b05 /test/files | |
parent | 1cdc182224ea1e3e5bb0e4a18f08cb722456324b (diff) | |
download | scala-17de4979a7c086b2e9b00695d73b63ea6e499bf0.tar.gz scala-17de4979a7c086b2e9b00695d73b63ea6e499bf0.tar.bz2 scala-17de4979a7c086b2e9b00695d73b63ea6e499bf0.zip |
Optimize `implicit def Predef.<???>ArrayOps`
Remove object allocation overhead by peeling off abstraction layer,
revealing that the `ArrayOps` implicit conversions in `Predef`
return value classes.
d3f879a6b0 turned `ArrayOps.of<???>` into value classes,
but the non-`AnyVal` result type of the corresponding
`<???>arrayOps` implicit conversions (`ArrayOps[_]`) caused boxing anyway.
The optimized versions are introduced under a new name,
so that the old ones (without `implicit`) can be kept
for binary compatibility, for now.
Diffstat (limited to 'test/files')
-rw-r--r-- | test/files/neg/logImplicits.check | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/test/files/neg/logImplicits.check b/test/files/neg/logImplicits.check index f9eb79645b..df7b359767 100644 --- a/test/files/neg/logImplicits.check +++ b/test/files/neg/logImplicits.check @@ -1,4 +1,4 @@ -logImplicits.scala:2: applied implicit conversion from xs.type to ?{def size: ?} = implicit def byteArrayOps(xs: Array[Byte]): scala.collection.mutable.ArrayOps[Byte] +logImplicits.scala:2: applied implicit conversion from xs.type to ?{def size: ?} = implicit def _byteArrayOps(xs: Array[Byte]): scala.collection.mutable.ArrayOps.ofByte def f(xs: Array[Byte]) = xs.size ^ logImplicits.scala:7: applied implicit conversion from String("abc") to ?{def map: ?} = implicit def augmentString(x: String): scala.collection.immutable.StringOps |