From 47754ef531ec58bc11fe678b2b2aaab2cc20def9 Mon Sep 17 00:00:00 2001 From: Som Snytt Date: Thu, 22 Dec 2016 00:37:21 -0800 Subject: SI-8040 No warn DummyImplicit It's just a dummy. --- src/compiler/scala/tools/nsc/typechecker/TypeDiagnostics.scala | 3 ++- test/files/pos/t8040.scala | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) 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 } -- cgit v1.2.3