diff options
author | Som Snytt <som.snytt@gmail.com> | 2016-12-16 00:05:47 -0800 |
---|---|---|
committer | Som Snytt <som.snytt@gmail.com> | 2017-03-11 23:48:32 -0800 |
commit | 6d7b81a1e47960fbbc469108a34414f76a706342 (patch) | |
tree | 4ad731726bd260f901375b3d0a0935b08d473d97 /test | |
parent | d0ff0907e0cef7cd8defba12416e902e49e9f9e6 (diff) | |
download | scala-6d7b81a1e47960fbbc469108a34414f76a706342.tar.gz scala-6d7b81a1e47960fbbc469108a34414f76a706342.tar.bz2 scala-6d7b81a1e47960fbbc469108a34414f76a706342.zip |
SI-8040 No warn args to super, main args
`class B(x: X) extends A(x)` uses `x` in ctor,
where it is detectable as an ordinary param.
`implicit class C(val s: String)` may not
use `s` in extension methods, so don't warn.
Don't warn required args to main method.
Don't warn about synthetic isDefinedAt in
anonymous functions, or about defaultCase$.
Diffstat (limited to 'test')
-rw-r--r-- | test/files/neg/warn-unused-params.check | 4 | ||||
-rw-r--r-- | test/files/neg/warn-unused-params.scala | 8 | ||||
-rw-r--r-- | test/files/neg/warn-unused-privates.check | 11 | ||||
-rw-r--r-- | test/files/neg/warn-unused-privates.flags | 2 | ||||
-rw-r--r-- | test/files/neg/warn-unused-privates.scala | 7 |
5 files changed, 28 insertions, 4 deletions
diff --git a/test/files/neg/warn-unused-params.check b/test/files/neg/warn-unused-params.check index ca6320ccd9..373417ce08 100644 --- a/test/files/neg/warn-unused-params.check +++ b/test/files/neg/warn-unused-params.check @@ -7,10 +7,10 @@ warn-unused-params.scala:32: warning: parameter value s in method i is never use warn-unused-params.scala:49: warning: parameter value u in class Unusing is never used class Unusing(u: Int) { // warn ^ -warn-unused-params.scala:57: warning: parameter value s in class CaseyAtTheBat is never used +warn-unused-params.scala:59: warning: parameter value s in class CaseyAtTheBat is never used case class CaseyAtTheBat(k: Int)(s: String) // warn ^ -warn-unused-params.scala:60: warning: parameter value readResolve in method f is never used +warn-unused-params.scala:62: warning: parameter value readResolve in method f is never used def f(readResolve: Int) = 42 // warn ^ error: No warnings can be incurred under -Xfatal-warnings. diff --git a/test/files/neg/warn-unused-params.scala b/test/files/neg/warn-unused-params.scala index c7578e53a4..b166e8fae6 100644 --- a/test/files/neg/warn-unused-params.scala +++ b/test/files/neg/warn-unused-params.scala @@ -52,6 +52,8 @@ class Unusing(u: Int) { // warn class Valuing(val u: Int) // no warn +class Revaluing(u: Int) { def f = u } // no warn + case class CaseyKasem(k: Int) // no warn case class CaseyAtTheBat(k: Int)(s: String) // warn @@ -59,3 +61,9 @@ case class CaseyAtTheBat(k: Int)(s: String) // warn trait Ignorance { def f(readResolve: Int) = 42 // warn } + +class Reusing(u: Int) extends Unusing(u) // no warn + +class Main { + def main(args: Array[String]): Unit = println("hello, args") // no warn +} diff --git a/test/files/neg/warn-unused-privates.check b/test/files/neg/warn-unused-privates.check index d4853847fd..2a88d3e6c3 100644 --- a/test/files/neg/warn-unused-privates.check +++ b/test/files/neg/warn-unused-privates.check @@ -106,6 +106,15 @@ warn-unused-privates.scala:201: warning: pattern var z in method f is never used warn-unused-privates.scala:208: warning: pattern var z in method f is never used; `z@_' suppresses this warning case Some(z) => "warn" ^ +warn-unused-privates.scala:20: warning: parameter value msg0 in class B3 is never used +class B3(msg0: String) extends A("msg") + ^ +warn-unused-privates.scala:136: warning: parameter value i in method x_= is never used + private def x_=(i: Int): Unit = ??? + ^ +warn-unused-privates.scala:138: warning: parameter value i in method y_= is never used + private def y_=(i: Int): Unit = ??? + ^ error: No warnings can be incurred under -Xfatal-warnings. -36 warnings found +39 warnings found one error found diff --git a/test/files/neg/warn-unused-privates.flags b/test/files/neg/warn-unused-privates.flags index 5ab4f36371..25474aefb3 100644 --- a/test/files/neg/warn-unused-privates.flags +++ b/test/files/neg/warn-unused-privates.flags @@ -1 +1 @@ --Ywarn-unused:privates,locals,patvars -Xfatal-warnings +-Ywarn-unused -Xfatal-warnings diff --git a/test/files/neg/warn-unused-privates.scala b/test/files/neg/warn-unused-privates.scala index 6f16ab4138..f7640927fb 100644 --- a/test/files/neg/warn-unused-privates.scala +++ b/test/files/neg/warn-unused-privates.scala @@ -217,3 +217,10 @@ object `not even using companion privates` { def f = i } } + +class `no warn in patmat anonfun isDefinedAt` { + def f(pf: PartialFunction[String, Int]) = pf("42") + def g = f { + case s => s.length // no warn (used to warn case s => true in isDefinedAt) + } +} |