`A7-1-2`: `constexpr` in templates
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
Piste de recherche
Commencez par localiser l’implémentation et les tests de la règle A7-1-2. Utilisez l’exemple de template C++ fourni pour reproduire le faux positif, puis vérifiez qu’une variable n’est signalée que lorsque toutes les instanciations visibles peuvent utiliser constexpr.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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>();
}
- 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
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de github/codeql-coding-standards
-
false positive/false negative Stardard-MISRA-C++
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
github/codeql-coding-standards#1172 ·
-
Difficulty-Low false positive/false negative false-negative Impact-Low Standard-MISRA-C
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
-
Difficulty-Medium false positive/false negative false-positive Impact-Medium Standard-CERT-C
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
github/codeql-coding-standards#1200 ·
-
`RULE-0-0-1`: "unreachable statement" false positives due to over-pruning of the control-flow graph Ouvertefalse positive/false negative
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
github/codeql-coding-standards#1190 ·
-
false positive/false negative
Difficulté 3/5 1-2 jours Accessibilité débutants 65/100
github/codeql-coding-standards#1175 ·
Toutes les issues de github/codeql-coding-standards
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
palladius/rails8-app-on-gcp#145 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
elastic/gradle-plugins#156 ·
-
area:workflow bug ready-for-agent
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
fil-donadoni/tolaria#4409 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
dotenvx/dotenv-vscode#139 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
Fission-AI/OpenSpec#1960 ·