Closed
Description
Affected rules
A7-1-1
Description
A recursive variable template definition can cause CodeQL to produce a dummy variable at the base case of the recursion.
Example
template <bool... Args> extern constexpr bool all_of_v = true; // COMPLIANT[FALSE_POSITIVE]
template <bool B1, bool... Args>
extern constexpr bool all_of_v<B1, Args...> = B1 &&all_of_v<Args...>;
void test() {
all_of_v<true, true, true>;}