diff --git a/stl/inc/queue b/stl/inc/queue index 315033ad851..1284d2acae8 100644 --- a/stl/inc/queue +++ b/stl/inc/queue @@ -230,6 +230,9 @@ struct uses_allocator, _Alloc> : uses_allocator<_Containe template <_Format_supported_charT _CharT, class _Ty, formattable<_CharT> _Container> struct formatter, _CharT> : _Adaptor_formatter_base, _CharT, _RANGES ref_view> {}; + +template +constexpr bool enable_nonlocking_formatter_optimization> = false; #endif // _HAS_CXX23 _EXPORT_STD template , class _Pr = less> @@ -505,6 +508,9 @@ struct uses_allocator, _Alloc> : uses_alloc template <_Format_supported_charT _CharT, class _Ty, formattable<_CharT> _Container, class _Comp> struct formatter, _CharT> : _Adaptor_formatter_base, _CharT, _RANGES ref_view> {}; + +template +constexpr bool enable_nonlocking_formatter_optimization> = false; #endif // _HAS_CXX23 _STD_END diff --git a/stl/inc/stack b/stl/inc/stack index b7ff44d3b80..7561d6261bf 100644 --- a/stl/inc/stack +++ b/stl/inc/stack @@ -217,6 +217,9 @@ struct uses_allocator, _Alloc> : uses_allocator<_Containe template <_Format_supported_charT _CharT, class _Ty, formattable<_CharT> _Container> struct formatter, _CharT> : _Adaptor_formatter_base, _CharT, _RANGES ref_view> {}; + +template +constexpr bool enable_nonlocking_formatter_optimization> = false; #endif // _HAS_CXX23 _STD_END diff --git a/tests/std/tests/P3107R5_enabled_specializations/test.compile.pass.cpp b/tests/std/tests/P3107R5_enabled_specializations/test.compile.pass.cpp index 53c28d0c0e2..83609187135 100644 --- a/tests/std/tests/P3107R5_enabled_specializations/test.compile.pass.cpp +++ b/tests/std/tests/P3107R5_enabled_specializations/test.compile.pass.cpp @@ -3,9 +3,13 @@ #include #include +#include #include +#include #include +#include #include +#include #include #include #include @@ -142,6 +146,18 @@ static_assert(!enable_nonlocking_formatter_optimization{} | views::take(3)); static_assert(!enable_nonlocking_formatter_optimization); +// ===================================================================== +static_assert(!enable_nonlocking_formatter_optimization>); +static_assert(!enable_nonlocking_formatter_optimization>>); +static_assert(!enable_nonlocking_formatter_optimization>); +static_assert(!enable_nonlocking_formatter_optimization>>); +static_assert(!enable_nonlocking_formatter_optimization, greater>>); +static_assert(!enable_nonlocking_formatter_optimization, greater<>>>); + +// ===================================================================== +static_assert(!enable_nonlocking_formatter_optimization>); +static_assert(!enable_nonlocking_formatter_optimization>>); + // ================================================================ static_assert(enable_nonlocking_formatter_optimization); static_assert(enable_nonlocking_formatter_optimization);