Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

`A12-1-1`: Does not apply transitively

Aberta
#829 1 comentário 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
35/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
cpp
Domínio
devtools

Direção de pesquisa

Comece localizando a implementação da regra A12-1-1, cpp/autosar/explicit-constructor-base-class-initialization, e compare seu comportamento com o exemplo de dois construtores na issue. Determine se a regra deve aceitar a chamada transitiva ao construtor e, em seguida, verifique o resultado esperado com os testes existentes da regra ou adicione um caso específico se o local dos testes for encontrado.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Difficulty-Low false positive/false negative false-positive Impact-Medium Standard-AUTOSAR user-report
Affected rules
  • A12-1-1: cpp/autosar/explicit-constructor-base-class-initialization

Rule A12-1-1 (required, implementation, automated)
Constructors shall explicitly initialize all virtual base classes, all direct
non-virtual base classes and all non-static data members.

Description

⚠️ I'm not 100% sure if the rule actually allows transitive calls to constructors ⚠️

Let an inherited class having two constructor a and b.
a calls the base class constructor while b calls a.
A12-1-1 gets reported on b because it does not call base class constructor directly (but it calls it transitively through a)

Example
class BaseClass {
    public:
    BaseClass() noexcept = default;
};

class Class final : public BaseClass {
    public:
    Class(void) noexcept : BaseClass() {};
    Class(bool) noexcept : Class() {}; // Triggers `A12-1-1`
};
Linguagem predominante
CodeQL
Estrelas
227
Forks
82
Merge médio
6d 7h
PRs com merge (30d)
9

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de github/codeql-coding-standards

Todas as issues de github/codeql-coding-standards

Issues semelhantes

Mais issues de DevTools

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.