summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSom Snytt <som.snytt@gmail.com>2016-12-22 00:37:21 -0800
committerSom Snytt <som.snytt@gmail.com>2017-03-11 23:48:32 -0800
commit47754ef531ec58bc11fe678b2b2aaab2cc20def9 (patch)
treea0432511574f0768401edabf105fa21286bbdf9f
parent785f4fe224302bbddbbd6a198f1722b4c0ae17f7 (diff)
downloadscala-47754ef531ec58bc11fe678b2b2aaab2cc20def9.tar.gz
scala-47754ef531ec58bc11fe678b2b2aaab2cc20def9.tar.bz2
scala-47754ef531ec58bc11fe678b2b2aaab2cc20def9.zip
SI-8040 No warn DummyImplicit
It's just a dummy.
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/TypeDiagnostics.scala3
-rw-r--r--test/files/pos/t8040.scala2
2 files changed, 4 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/TypeDiagnostics.scala b/src/compiler/scala/tools/nsc/typechecker/TypeDiagnostics.scala
index fa0407792e..7013c7da93 100644
--- a/src/compiler/scala/tools/nsc/typechecker/TypeDiagnostics.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/TypeDiagnostics.scala
@@ -657,7 +657,8 @@ trait TypeDiagnostics {
opc.iterator.exists(pair => pair.low == m)
}
def isConvention(p: Symbol): Boolean = {
- p.name.decoded == "args" && p.owner.name.decoded == "main"
+ (p.name.decoded == "args" && p.owner.isMethod && p.owner.name.decoded == "main") ||
+ (p.tpe =:= typeOf[scala.Predef.DummyImplicit])
}
def warnable(s: Symbol) = (
(settings.warnUnusedParams || s.isImplicit)
diff --git a/test/files/pos/t8040.scala b/test/files/pos/t8040.scala
index b067f36b0b..1d1a770060 100644
--- a/test/files/pos/t8040.scala
+++ b/test/files/pos/t8040.scala
@@ -3,4 +3,6 @@ object Test {
implicit class C(val sc: StringContext) { // no warn unused sc
def c(args: Any*): String = "c?" + args.mkString(",") // would warn unused args
}
+
+ def f(implicit x: DummyImplicit) = 42 // no warn DummyImplicit
}