<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/63031>63031</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
False positive unused-lambda-capture with if constexpr
</td>
</tr>
<tr>
<th>Labels</th>
<td>
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
chrchr-github
</td>
</tr>
</table>
<pre>
~~~c++
#include <type_traits>
#include <vector>
#include <algorithm>
template<typename T>
bool f(int j, std::vector<int>& v) {
const bool b = j > 0;
std::for_each(v.begin(), v.end(), [b](auto& i) {
if constexpr (std::is_same_v<T, int>) {
i += i ? 5 : 7;
}
else if (b)
{
i += 1;
}
});
return b;
}
void g(std::vector<int>& w) {
f<int>(0, w);
}
~~~
~~~
<source>:9:38: warning: lambda capture 'b' is not used [-Wunused-lambda-capture]
std::for_each(v.begin(), v.end(), [b](auto& i) {
^
<source>:22:5: note: in instantiation of function template specialization 'f<int>' requested here
f<int>(0, w);
^
~~~
https://godbolt.org/z/4Ejczrv5n
The warning is correct on its face, but not actionable.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0VM2O8jgQfJrm0gKZNoFwyIGB4QlG2uPIdprEo2CztpPZbw48-8ph-JlPfNrTSih05EpXV5VtFaNtHHMFxQsUu4nqU-tDZdpg2jBtbGp7PdG-_lWdz2cD9JJ_YgdiAyStM11fM4Lcpl8nfk9B2RRBvj5DDGySD39YVF3jg03t8b4-PhMfT51K_M3g1JHx7YbR3nd4ACqtS_gBtMWYapAbkJsr29a6lPG0xAFojbD6Hh_ReBcTjj00gtzhB4J8RQHy5XEEvDc9-PDOyrRA5TDT3FgHVAKtM_MwY1ffX6F40VDsgErVJ5_p7Y1-fW2MaA-XMfifU0Cg8kZl43tUR34fQG7fcsOrjh8SxhaYI5G7XMg9Fghyg6ubiAyB1e7-wl3kzAtU6jzsA-p53_kfeuWK1g-LgVMfHOq7gVfs5Tl4W2PzqPJJSp8_JR4eFkuRjfh8JL0xnM_n3wqQ2-j7YDh_KzdrkBtZZm8-VXDWNbns1FHXCo06pT4wAq000AptROcT9pHrHOT0r97lenqBT7_hOd7_ZYdc_L-6XLw-1UMEclNkEc7n87FB69C6mJRLViXrHfoDHnpnxvp6kDCe2FjV2a8LBmj1aPEKA__dc0xcY8uB77n_RxD3OW8BtCmdYraF9kD7xtfad2nmQwO0_wLaL14_zFcYCve4R95avgaUYzA-BDYJvUObIh6U4UyNuk9jRGpUp3THs0ldyXot12rC1XxZFgWVy4WctJUSc1LEZVksxYJ1uRBK1ExFIcyS6FBObEWCpCjkfC5oIeRsXmu95LoQZkWkhYaF4KOy3azrhmNWMLEx9lwtpZDzSac0d_F6gYYqg6a6byIsRGdjivfPkk0dV3uVj-DJR5vswPh0c-GnTe2P62HSh676zdPxep4ZfwTaZ5Lvv-kp-A82CWg_DhqB9uOs_wYAAP__htWynQ">