// RUN: %clang_cc1 -std=c++20 -w %s // RUN: %clang_cc1 -std=c++2c -w %s // expected-no-diagnostics namespace std { template struct integral_constant { static constexpr _Tp value = __v; using value_type = _Tp; }; template using __bool_constant = integral_constant; template struct is_integral : integral_constant {}; template struct is_signed : integral_constant {}; template _Up __declval(int); template auto declval() -> decltype(__declval<_Tp>(0)); template struct make_unsigned { using type = int; }; template struct decay { using type = _Tp; }; template struct conditional { using type = _Iftrue; }; } // namespace std namespace meta { template