https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97234
--- Comment #2 from Botond Ballo <botond at mozilla dot com> --- I believe it's valid because the point of declaration of a variable is just before its initializer (https://timsong-cpp.github.io/cppwp/n4861/basic.scope.pdecl#1), and thus the variable should be in scope in its initializer. But I'm not a wording expert and it's possible I'm mistaken, or overlooking something else that would make this invalid.