The implicit is indeed unused, but it is still useful to prevent calls to isCanonical on types that are not of the Polynomials typeclass. Isn’t that a valid use of an (unused) implicit?
That is a bit nicer than @nowarn, which would work for context bound syntax.
(I think heuristics like the name test were before you could choose -Wunused:explicits,implicits,synthetics
Actually Scala 3 doesn’t have synthetics yet, that is Scala 2 only:
-Wunused:synthetics Warn if a synthetic implicit parameter (context bound) is unused.
-Wunused:nowarn Warn if a @nowarn annotation does not suppress any warnings.
-Wunused:params Enable -Wunused:explicits,implicits,synthetics.
It was added in early pandemic, no doubt to pass the time.)