https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115722
--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Jason Liam from comment #6) > https://stackoverflow.com/questions/50417782/is-it-safe-to-assume-that- > identical-lambda-expressions-have-different-types The question is does the lambda type in a default argument gets defined once even if it is evaluated twice. I think so based on expr.prim.lambda.closure/2 .