diff options
author | Som Snytt <som.snytt@gmail.com> | 2013-09-29 13:46:02 -0700 |
---|---|---|
committer | Som Snytt <som.snytt@gmail.com> | 2015-02-08 22:25:43 -0800 |
commit | 40bef79974de3ed00f0173a65fdf7aa19170900e (patch) | |
tree | dfb108e9332ec522ea60efb4fac4b117b2674f85 /test/files/neg/names-defaults-neg.scala | |
parent | 178e8df9b6a91375a6162721a0cbc2d90bcc7451 (diff) | |
download | scala-40bef79974de3ed00f0173a65fdf7aa19170900e.tar.gz scala-40bef79974de3ed00f0173a65fdf7aa19170900e.tar.bz2 scala-40bef79974de3ed00f0173a65fdf7aa19170900e.zip |
SI-9140 Allow deprecating current parameter name
Allow deprecatedName to specify the name of the parameter
it qualifies.
This tells the user, That's my name, don't wear it out.
I.e., don't use my name when calling me.
Use cases include: the name will change; normally a name
should be provided for a boolean, but not in this case
(perhaps because there is only one argument).
```
scala> def f(@deprecatedName('foo) bar: String) = bar.reverse
f: (bar: String)String
scala> f(foo = "hello")
<console>:9: warning: the parameter name foo has been deprecated. Use bar instead.
f(foo = "hello")
^
res0: String = olleh
scala> def g(@deprecatedName('foo) foo: String) = foo.reverse
g: (foo: String)String
scala> g(foo = "hello")
<console>:9: warning: naming parameter foo has been deprecated.
g(foo = "hello")
^
res1: String = olleh
```
Diffstat (limited to 'test/files/neg/names-defaults-neg.scala')
-rw-r--r-- | test/files/neg/names-defaults-neg.scala | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/test/files/neg/names-defaults-neg.scala b/test/files/neg/names-defaults-neg.scala index 042f73708c..d11c9910a1 100644 --- a/test/files/neg/names-defaults-neg.scala +++ b/test/files/neg/names-defaults-neg.scala @@ -92,6 +92,8 @@ object Test extends App { def deprNam3(@deprecatedName('x) a: Int, @deprecatedName('y) b: Int) = a + b deprNam3(y = 10, b = 2) + def deprNam4(@deprecatedName('deprNam4Arg) deprNam4Arg: String) = 0 + deprNam4(deprNam4Arg = null) // t3818 def f3818(x: Int = 1, y: Int, z: Int = 1) = 0 |