`A20-8-5`-`A20-8-6`: Cannot create a smart pointer with `nullptr` value

Abierto
#721 1 comentario 2 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
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
cpp
Área
devtools

Línea de trabajo

Comienza localizando las implementaciones y las pruebas de las reglas A20-8-5 y A20-8-6; después, reproduce el problema con los ejemplos de nullptr para unique_ptr y shared_ptr. Determina cómo clasifican las reglas estas inicializaciones; se considera terminado cuando la inicialización con nullptr ya no active la regla, mientras que los requisitos indicados para make_unique y make_shared sigan cubiertos por pruebas.

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

Descripción

Difficulty-Low false positive/false negative Impact-Low Standard-AUTOSAR user-report
Affected rules
  • A20-8-5: cpp/autosar/make-unique-not-used-to-construct-object-owned-by-unique-ptr

Rule A20-8-5 (required, implementation, automated)
std::make_unique shall be used to construct objects owned by
std::unique_ptr.

  • A20-8-6: cpp/autosar/make-shared-not-used-to-construct-object-owned-by-shared-ptr

Rule A20-8-6 (required, implementation, automated)
std::make_shared shall be used to construct objects owned by
std::shared_ptr.

Description

A20-8-5 triggers when initializing an unique_ptr to nullptr.
A20-8-6 triggers when initializing an shared_ptr to nullptr.

Initializing a smart pointer with a nullptr value can be however necessary in some specific cases.

Example
std::unique_ptr<bool> uniquePtr{nullptr}; // Triggers A20-8-5
std::shared_ptr<bool> sharedPtr{nullptr}; // Triggers A20-8-6
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.