diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2013-10-17 14:15:28 +0200 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@typesafe.com> | 2013-11-12 07:29:42 -0800 |
commit | e2a34984527c0437cd42476934d0c22164551eed (patch) | |
tree | c307db47765519f290f5165694445072935a1ec6 /test/files/presentation/ping-pong.check | |
parent | beed16825e53077c40ff38b035bfaafb3a4e39d5 (diff) | |
download | scala-e2a34984527c0437cd42476934d0c22164551eed.tar.gz scala-e2a34984527c0437cd42476934d0c22164551eed.tar.bz2 scala-e2a34984527c0437cd42476934d0c22164551eed.zip |
Make parameters to implicit value classes private
So that they aren't offered as an autocomplete suggestion:
implicit class Shouty(string: String) extends AnyVal {
def SHOUT_! = string.toUpperCase + "!"
}
"". // autocompletion offers `.string` here
The original incarnation of value classes didn't allow this
sort of encapsulation, so we either invented goofy names like
`__thingToAdd` or just picked `x` or `self`. But SI-7859 has
delivered us the freedom to keep the accessor private.
Should we keep any of these accessors around in a deprecated
form?
The implicit classes in Predef were added in 2.11.0-M2
(c26a8db067e4f), so they are okay.
I think we can make reason that these APIs were both accidental
and unlikely to be interpreted as public, so we can break them
immediately.
scala> Left(1).x
res0: scala.util.Either[Int,Int] = Left(1)
scala> import concurrent.duration._
import concurrent.duration._
scala> 1.n
res1: Int = 1
Diffstat (limited to 'test/files/presentation/ping-pong.check')
-rw-r--r-- | test/files/presentation/ping-pong.check | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/test/files/presentation/ping-pong.check b/test/files/presentation/ping-pong.check index be80601e11..10d29bfed6 100644 --- a/test/files/presentation/ping-pong.check +++ b/test/files/presentation/ping-pong.check @@ -3,7 +3,7 @@ reload: PingPong.scala askTypeCompletion at PingPong.scala(10,23) ================================================================================ [response] askCompletionAt (10,23) -retrieved 39 members +retrieved 35 members [inaccessible] private[this] val ping: Ping [inaccessible] protected[package lang] def clone(): Object [inaccessible] protected[package lang] def finalize(): Unit @@ -34,17 +34,13 @@ final def wait(): Unit final def wait(x$1: Long): Unit final def wait(x$1: Long,x$2: Int): Unit override def toString(): String -private[this] val __leftOfArrow: Pong -private[this] val __resultOfEnsuring: Pong -private[this] val __stringToFormat: Pong -private[this] val __thingToAdd: Pong private[this] val name: String ================================================================================ askTypeCompletion at PingPong.scala(19,20) ================================================================================ [response] askCompletionAt (19,20) -retrieved 39 members +retrieved 35 members [inaccessible] protected[package lang] def clone(): Object [inaccessible] protected[package lang] def finalize(): Unit def +(other: String): String @@ -76,10 +72,6 @@ final def wait(): Unit final def wait(x$1: Long): Unit final def wait(x$1: Long,x$2: Int): Unit override def toString(): String -private[this] val __leftOfArrow: Ping -private[this] val __resultOfEnsuring: Ping -private[this] val __stringToFormat: Ping -private[this] val __thingToAdd: Ping private[this] val pong: Pong ================================================================================ |