https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61492
--- Comment #1 from David Krauss <potswa at mac dot com> --- Oops, objects hide enumerations in this context too. enum e { m } e = e::m; // Same error I neglected to check this because I thought I'd used it a while ago, but it turns out I'd worked around the problem. Clang accepts the examples.