`RULE-0-1-1`: Findings should be suppressed for [[maybe_unused]] initialization

Ouverte
#1,175 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
65/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Active
Stack technique
cpp
Domaine
devtools

Piste de recherche

Localisez l’implémentation et les tests de RULE-0-1-1, puis retracez la manière dont sont signalées les affectations d’initialisation impliquant [[maybe_unused]]. Utilisez les exemples de l’issue comme cas comportementaux : supprimez le diagnostic d’initialisation, tout en conservant les diagnostics des affectations ultérieures à y et z.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

false positive/false negative
Affected rules
  • RULE-0-1-1
Description

If the assignment is initializing a variable with the [[maybe_unused]] attribute, we should not report this.

The presence of [[maybe_unused]] disables other rules according to the MISRA spec, and we should follow that principle here as well. If a variable is [[maybe_unused]], that strongly indicates that there's some kind of conditional compilation that uses the variable value, and that the write is ok.

Note that [[maybe_unused]] should not disable all violations of the rule, only ones that would be fixed by adding any read to the variable.

Example
void example_function() {
  [[maybe_unused]] int x = 0; // reported, but should not be.
  
  [[maybe_unused]] int y = 1; // should still be reported
  y = 2;

  [[maybe_unused]] int z = 3;
  f(z);
  z = 4; // should still be reported.
}
Langage dominant
CodeQL
Étoiles
227
Forks
82
Merge moyen
6 j 7 h
PR mergées (30 j)
9

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de github/codeql-coding-standards

Toutes les issues de github/codeql-coding-standards

Issues similaires

Plus d'issues DevTools

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.