summaryrefslogtreecommitdiff
path: root/test/files/neg/warn-unused-privates.scala
diff options
context:
space:
mode:
authorSom Snytt <som.snytt@gmail.com>2016-09-14 13:02:11 -0700
committerSom Snytt <som.snytt@gmail.com>2017-03-11 23:38:07 -0800
commit9d9abffc94b28785e54bc2179b495d81f29b1e7f (patch)
tree803c694cb56053f07df9e5a5c1d3ea10b864a698 /test/files/neg/warn-unused-privates.scala
parent3fadf69917c4e72f95b835fbd6bf69d2b775ee79 (diff)
downloadscala-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.scala36
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
+}