<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/64545>64545</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[clang-tidy] `readability-braces-around-statements` false positive with variable template lambda
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang-tidy,
false-positive
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
FabianWolff
</td>
</tr>
</table>
<pre>
Consider:
```c++
template <bool B>
inline constexpr auto foo = [] {
if constexpr (B) {}
};
void bar() {
foo<false>();
}
```
Expected behavior: No warnings, because every statement already has braces around it
Actual behavior ([Godbolt](https://godbolt.org/z/4oazMvx37)):
```
<source>:3:21: warning: statement should be inside braces [readability-braces-around-statements]
3 | if constexpr (B) {}
| ^
| {
1 warning generated.
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMU82OozwQfJrm0kpkbEzIgUN-hu_07XXPbTDBKwdHtslM5ulXJr-KtNJEVgC7XN3V1U0hmMOodQ1yC3Kf0RQH5-uGlKHxt7N9nynXXeqdG4PptAexAbYHtoGSXVcLfJvWvBv18WQpagSxU85Z3IL4uB6Z0ZpRY-vGEPXXySNN0WHvHILY4zU8wupGhIho-hc08GoLfD0jVvtbDqs9iNuF6__ZmQ4VeeDVHfyg650DsevJBp2SmhHP6w_Ou65X2o-vk26j7lDpgc7GpTLgL4ef5EczHgLwHSrd0hQ06rP2FwyRoj7qMSJZr6m74EABladWByTvprFDE19jbNo4kX1ESIJBbv9znXI2gtwDr4YYTyE5wBvgzeF6tHT-ALz5Bt4Ujr7_P3-JVVKWxL17dfsUu-Am385lEBsBYsPzpOgmJ70-8w-Dm2xSjmZugbsIkNskjJSxJl4W193FVdricT2kzB8WCITVDn_k7QP5_gP5gU9G_CfuaX5-F4YHPWpPUXfLt8JkXS26tVhTpuu8XOeSFzKvsqGuWFG07ZrkipVK9mpVdqViJbW5Kop1rzNTc8YFq1iVr6XMq6WgohUlK0RXFEySgoLpIxm7tPZ8TGZlJoRJ12UhC5lZUtqGefo4by2Nh0U03QU4B74Dzud2XZxcMNGcddqW-8zXiWuhpkOAglkTYniyRxPtPM4vbGmySvYju0qGc0y8x8RPEwc8kzekrMbHhFs6qo6yydv6rS9NHCa1bN0ReJPSuj0WJ-_-6DYCb-YKBODNXIS_AQAA___4qFTZ">