Je pense que Scala 3 est bien en retard en ce qui concerne la détection des avertissements et leur catégorisation par rapport à Scala 2.13. Je n'ai pas pu trouver la documentation exacte pour -Wconf
pour scala 3 pour la référencer ici, mais ce qui suit pourrait être utile.
Voici comment scala 2.13 montre ce qu'il prend en charge au format -Wconf
scala -Wconf help
Cela produit un message d'aide avec la partie suivante liée aux catégories d'erreurs/avertissements :
Liste complète des catégories de messages :
- deprecation
- fonctionnalité, feature-dynamics, feature-existentials, feature-higher-kinds, feature-implicit-conversions, feature-macros, feature-postfix-ops, feature-reflective-calls
- java-source
- lint, lint-adapted-args, lint-byname-implicit, lint-constant, lint-delayedinit-select, lint-deprecation, lint-doc-detached, lint-eta-sam, lint-eta-zero, lint-implicit-not-found, lint-inaccessible, lint-infer-any, lint-int-div-to-float, lint-missing-interpolator, lint-multiarg-infix, lint-nonlocal-return, lint-nullary-unit, lint-numeric-methods, lint-option-implicit, lint-package-object-classes, lint-performance, lint-poly-implicit-overload, lint-private-shadow, lint-recurse-with-default, lint-serial, lint-stars-align, lint-type-parameter-shadow, lint-unit-specialization, lint-universal-methods
- optimizer
- autre, autre-debug, autre-implicit-type, autre-match-analysis, autre-migration, autre-non-cooperative-equals, autre-nullary-override, autre-pure-statement, autre-shadowing
- scaladoc
- unchecked
- unused, unused-imports, unused-locals, unused-nowarn, unused-params, unused-pat-vars, unused-privates
- w-flag, w-flag-dead-code, w-flag-extra-implicit, w-flag-numeric-widen, w-flag-self-implicit, w-flag-value-discard
La même commande ne fonctionne pas en scala 3.3 et ce que je peux trouver de plus proche de certaines sortes de documentation est le suivant
scala -W
Une partie intéressante de la configuration des avertissements est la suivante
-unused Activer ou désactiver des avertissements spécifiques d'`unused`
Choix :
- nowarn,
- all,
- imports :
Avertir si un sélecteur d'import n'est pas référencé.
REMARQUE : outrepassée par -unused:strict-no-implicit-warn,
- privates :
Avertir si un membre privé est inutilisé,
- locals :
Avertir si une définition locale est inutilisée,
- explicits :
Avertir si un paramètre explicite est inutilisé,
- implicits :
Avertir si un paramètre implicite est inutilisé,
- params :
Activer -unused:explicits,implicits,
- linted :
Activer -unused:imports,privates,locals,implicits,
- strict-no-implicit-warn :
Identique à -unused:import, seulement pour les imports de membres nommés explicites.
REMARQUE : Ceci outrepasse -unused:imports et n'est PAS défini par -unused:all,
- unsafe-warn-patvars :
(DANGEREUX) Avertir si une variable liée dans un pattern est inutilisée.
Cet avertissement peut générer des faux positifs, car il ne peut pas encore être supprimé.