// RUN: %clang_cc1 -verify -std=c++20 -fsyntax-only %s enum {A, S, D, F}; int main() { using asdf = decltype(A); using enum asdf; // this line causes the crash return 0; } namespace N1 { enum {A, S, D, F}; constexpr struct T { using asdf = decltype(A); using enum asdf; } t; static_assert(t.D == D); static_assert(T::S == S); } namespace N2 { enum {A, S, D, F}; constexpr struct T { struct { using asdf = decltype(A); using enum asdf; } inner; } t; static_assert(t.inner.D == D); static_assert(t.D == D); // expected-error {{no member named 'D' in 'N2::T'}} }