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

Abierto
#1,175 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
65/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
cpp
Área
devtools

Línea de trabajo

Localiza la implementación y las pruebas de RULE-0-1-1 y, a continuación, sigue cómo se notifican las asignaciones de inicialización que implican [[maybe_unused]]. Usa los ejemplos del issue como casos de comportamiento: suprime el hallazgo de inicialización, manteniendo los hallazgos de las asignaciones posteriores a y y z.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.
}
Lenguaje dominante
CodeQL
Estrellas
227
Forks
82
Merge medio
6 d 7 h
PR fusionados (30 d)
9

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de github/codeql-coding-standards

Todos los issues de github/codeql-coding-standards

Issues similares

Más issues de DevTools

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.