https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79328
Arnaud Desitter <arnaud02 at users dot sourceforge.net> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |arnaud02 at users dot sourceforge. | |net --- Comment #3 from Arnaud Desitter <arnaud02 at users dot sourceforge.net> --- This defect makes -Wshadow=local difficult to use with immediately invoked lambda expressions. For instance, gcc 9.2 compiles: #include <array> auto f(int s) { const auto v = []{ std::array<int,2> v = {1, 2}; return v; }(); return v.size(); } with: source>: In lambda function: <source>:4:25: warning: declaration of 'v' shadows a previous local [-Wshadow] 4 | std::array<int,2> v = {1, 2}; | ^ <source>:3:14: note: shadowed declaration is here 3 | const auto v = []{ | ^