`A0-1-1`: initialization of constexpr used as NTTP is detected as useless assignment

未关闭
#728 0 条评论 0 个 reaction 已指派 1 人 在 GitHub 查看

@lcartey 已经在做这个了。

开始于 2025年1月17日。

  • #732 来自 @fjatWbyT —— 已合并

评估

这个 Issue 还没有评估数据。

描述

Difficulty-Medium false positive/false negative Impact-Medium Standard-AUTOSAR user-report
Affected rules
  • A0-1-1 (useless assignment)
Description

Constant expression used as non-type template parameter (NTTP) produces useless-assignment false positive. It can be reproduced with integer NTTP.

Example
#include <ratio>

int main() {
  constexpr int one      = 1;     // True positive, this one is indeed unused (therefore, assignment is useless).
  constexpr int thirteen = 13;    // False positive, used in the second argument:
                                  // it can be verified that main returns 13.
  std::ratio<1, thirteen> ratio;
  return ratio.den;
}

Both definitions of one and thirteen are alerted as unused on query cpp/autosar/src/rules/A0-1-1/UselessAssignment.ql.

主要语言
CodeQL
星标
227
派生
82
平均合并
6 天 7 小时
30 天内合并 PR
9

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

github/codeql-coding-standards 的其他 Issue

查看 github/codeql-coding-standards 的全部 Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。