https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116731
--- Comment #17 from Rogério de Souza Moraes <rogerio.souza at gmail dot com> --- This issue still happens on GCC 14.3 and 15.2. With small changes the warning is raised again when using -std=c++23 and -std=c++26. Example (https://godbolt.org/z/1jha8rqzY): ****************************************** #include <unordered_map> int main() { const std::unordered_map<int, int> m; for (const auto _: m) {} } ****************************************** Log message: <source>: In function 'int main()': <source>:5:21: warning: loop variable '_' creates a copy from type 'const std::pair<const int, int>' [-Wrange-loop-construct] 5 | for (const auto _: m) {} | ^ <source>:5:21: note: use reference type to prevent copying 5 | for (const auto _: m) {} | ^ | & ASM generation compiler returned: 0 <source>: In function 'int main()': <source>:5:21: warning: loop variable '_' creates a copy from type 'const std::pair<const int, int>' [-Wrange-loop-construct] 5 | for (const auto _: m) {} | ^ <source>:5:21: note: use reference type to prevent copying 5 | for (const auto _: m) {} | ^ | & Should I file a new bugzilla? Regards, Rogerio
