// { dg-do compile { target c++23 } } // { dg-require-cpp-feature-test __cpp_lib_stacktrace } // { dg-require-normal-namespace "" } // { dg-add-options no_pch } #include #ifndef __cpp_lib_stacktrace # error "Feature-test macro for stacktrace missing in " #elif __cpp_lib_stacktrace < 202011L # error "Feature-test macro for stacktrace has wrong value in " #endif namespace std { class stacktrace_entry; template class basic_stacktrace; using stacktrace = basic_stacktrace>; template void swap(basic_stacktrace& a, basic_stacktrace& b) noexcept(noexcept(a.swap(b))); string to_string(const stacktrace_entry& f); template string to_string(const basic_stacktrace& st); ostream& operator<<(ostream& os, const stacktrace_entry& f); template ostream& operator<<(ostream& os, const basic_stacktrace& st); template<> struct formatter; template struct formatter>; namespace pmr { using stacktrace = basic_stacktrace>; } template struct hash; template<> struct hash; template struct hash>; }