https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115722
--- Comment #8 from Jason Liam <jlame646 at gmail dot com> --- > Which means the closure type is in the global scope here for this TU. I did read that before posting actually. But even if they're in the global scope in same TUs they should still produce unique/distinct closure-type each time. See demo https://godbolt.org/z/GbTcvT9z8 Similarly, in the following link of cppinsights each time a new class-type is created. See https://cppinsights.io/s/a9b401d1 where you'll notice that two class-types are created for each use of the same looking lambda. So your explanation doesn't hold up. Let me know if I miss something here.