https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110349
--- Comment #6 from Jason Merrill <jason at gcc dot gnu.org> --- (In reply to Jakub Jelinek from comment #4) > "A member shall not be declared twice in the member-specification, except > that" > and nothing mentioning the name-independent exception in either case. Agreed, this seems like a missed edit, and we should accept those. > Seems clang rejects the baz case with ++_; added after 1; (and the WIP patch > does too), but doesn't reject ++_; added after 3; (while the WIP patch does). I agree that these should be rejected and the wording needs improvement to specify that. (In reply to Jakub Jelinek from comment #5) > Also, is the structured binding in > void corge () > { > static int a[2]; > static auto [_, _] = a; > } > inhabitating namespace scope (so it is correct to reject it? clang does, > the WIP patch does as well). No, it inhabits block/function scope.