`A8-5-2`: Create query to cover `auto` case
@nicolaswill 已經在處理了。
開始於 2024年7月12日。
評估
這個 Issue 還沒有評估資料。
描述
Affected rules
A8-5-2
Description
The rule A8-5-2 (use braced initialization) conflicts with rule A8-5-3 (A variable of type auto shall not be initialized using {} or ={} braced-initialization). This is because C++14 will deduce auto x2{10}; as std::initializer_list, which is usually not what the developer intended. This behaviour is changed in C++17, and in practice many compilers also address it in C++14 mode.
In order to use auto in a codebase and remain compliant to AUTOSAR a deviation is required either on A8-5-3, to allow braced initialization for auto variables where the compiler supports this, or for A8-5-2, to permit the use of = initialization with auto.
In the latter case we want to be able to deviate only on those cases which are declared as auto. To facilitate that we will split the rule between the auto and not auto. Currently, our query only supports the "non-auto" case.
Example
auto v = init();
- 主要語言
- CodeQL
- 星號
- 227
- 分支
- 82
- 平均合併
- 6 天 7 小時
- 30 天內合併 PR
- 9
貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
github/codeql-coding-standards 的其他 Issue
-
false positive/false negative Stardard-MISRA-C++
難度 2/5 1-3 小時 新手友好度 72/100
github/codeql-coding-standards#1172 ·
-
Difficulty-Low false positive/false negative false-negative Impact-Low Standard-MISRA-C
難度 2/5 1-3 小時 新手友好度 68/100
-
Difficulty-Medium false positive/false negative false-positive Impact-Medium Standard-CERT-C
難度 4/5 3-5 天 新手友好度 48/100
github/codeql-coding-standards#1200 ·
-
`RULE-0-0-1`: "unreachable statement" false positives due to over-pruning of the control-flow graph 未關閉false positive/false negative
難度 4/5 3-5 天 新手友好度 48/100
github/codeql-coding-standards#1190 ·
-
false positive/false negative
難度 3/5 1-2 天 新手友好度 65/100
github/codeql-coding-standards#1175 ·