https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115722
--- Comment #12 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Jason Liam from comment #11) > Just like in the other example(https://godbolt.org/z/GbTcvT9z8), the > [expr.prim.lambda.closure/2] only implies that the closure-types will be > declared in the global scope. Nothing else. The uniqueness is determined by > [expr.prim.lambda.closure/1] Right, and there is only one definition of the lambda in the original testcase of the default argument. But it is evulated twice.