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

`A7-1-2`: `constexpr` in templates

Aberta
#609 0 comentários 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 e os testes da regra A7-1-2. Use o exemplo de template C++ fornecido para reproduzir o falso positivo e, em seguida, verifique se uma variável só é reportada quando todas as instanciações visíveis podem usar constexpr.

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

Descrição

Difficulty-High false positive/false negative Impact-Low Standard-AUTOSAR user-report
Affected rules
  • A7-1-2
Description

We should only report a variable in a template as a candidate for adding constexpr if all visible instantiations could use constexpr.

Example
int x;

constexpr int* init_t(int i) {
  return &x;
}

float* init_t(float f) {
  return new float();
}

template <typename T> void constexpr_variable_template() {
  constexpr T t1{};
  T* t = init_t(t1); // COMPLIANT[FALSE_POSITIVE] for int, this could be constexpr, but not for float
}

void test() {
  constexpr_variable_template<int>();
  constexpr_variable_template<float>();
}
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.