- Notifications
You must be signed in to change notification settings - Fork70
Closed
Description
Affected rules
A2-10-5
Description
A2-10-5 requires that non-member objects are given a unique name (irrespective of scope). However, the query does not currently account forvariable templates, which are represented as multiple different variables in the CodeQL C/C++ model.
I think the most straightforward fix here is to exclude the variable template instantiations, and only use the un-instantiated template, e.g.:
noto1.isFromTemplateInstantiation(_)andnoto2.isFromTemplateInstantiation(_)
Example
template<classT>constexpr T number_one = T(1);inttest() {return number_one<int>;}longtest2() {return number_one<long>;}