diff options
author | Som Snytt <som.snytt@gmail.com> | 2016-09-14 13:02:11 -0700 |
---|---|---|
committer | Som Snytt <som.snytt@gmail.com> | 2017-03-11 23:38:07 -0800 |
commit | 9d9abffc94b28785e54bc2179b495d81f29b1e7f (patch) | |
tree | 803c694cb56053f07df9e5a5c1d3ea10b864a698 /test/files/neg/warn-unused-privates.scala | |
parent | 3fadf69917c4e72f95b835fbd6bf69d2b775ee79 (diff) | |
download | scala-9d9abffc94b28785e54bc2179b495d81f29b1e7f.tar.gz scala-9d9abffc94b28785e54bc2179b495d81f29b1e7f.tar.bz2 scala-9d9abffc94b28785e54bc2179b495d81f29b1e7f.zip |
SI-8040 Improve unused warnings
Add symbol names, don't warn for both getters and setters
or for synthetics (except default arg getters).
Tweak messages for readability.
Diffstat (limited to 'test/files/neg/warn-unused-privates.scala')
-rw-r--r-- | test/files/neg/warn-unused-privates.scala | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/test/files/neg/warn-unused-privates.scala b/test/files/neg/warn-unused-privates.scala index 2eda280d40..2f67882632 100644 --- a/test/files/neg/warn-unused-privates.scala +++ b/test/files/neg/warn-unused-privates.scala @@ -52,6 +52,19 @@ trait Accessors { } } +class StableAccessors { + private var s1: Int = 0 // warn + private var s2: Int = 0 // warn, never set + private var s3: Int = 0 // warn, never got + private var s4: Int = 0 // no warn + + def bippy(): Int = { + s3 = 5 + s4 = 6 + s2 + s4 + } +} + trait DefaultArgs { // warn about default getters for x2 and x3 private def bippy(x1: Int, x2: Int = 10, x3: Int = 15): Int = x1 + x2 + x3 @@ -59,6 +72,11 @@ trait DefaultArgs { def boppy() = bippy(5, 100, 200) } +/* SI-7707 Both usages warn default arg because using PrivateRyan.apply, not new. +case class PrivateRyan private (ryan: Int = 42) { def f = PrivateRyan() } +object PrivateRyan { def f = PrivateRyan() } +*/ + class Outer { class Inner } @@ -104,3 +122,21 @@ object Types { (new Bippy): Something } } + +trait Underwarn { + def f(): Seq[Int] + + def g() = { + val Seq(_, _) = f() // no warn + true + } +} + +class OtherNames { + private def x_=(i: Int): Unit = ??? + private def x: Int = 42 + private def y_=(i: Int): Unit = ??? + private def y: Int = 42 + + def f = y +} |