[committed] libstdc++: Add conditional noexcept to std::pair default ctor
Jonathan Wakely
jwakely@redhat.com
Wed Jun 19 16:35:32 GMT 2024
Tested x86_64-linux. Pushed to trunk.
-- >8 --
Most of std::pair constructors implemented using C++20 concepts have a
conditional noexcept-specifier, but the default constructor doesn't.
This fixes that.
libstdc++-v3/ChangeLog:
* include/bits/stl_pair.h [__cpp_lib_concepts] (pair()): Add
conditional noexcept.
---
libstdc++-v3/include/bits/stl_pair.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/libstdc++-v3/include/bits/stl_pair.h b/libstdc++-v3/include/bits/stl_pair.h
index 0c1e5719a1a..0d60eaba194 100644
--- a/libstdc++-v3/include/bits/stl_pair.h
+++ b/libstdc++-v3/include/bits/stl_pair.h
@@ -344,6 +344,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
explicit(__not_<__and_<__is_implicitly_default_constructible<_T1>,
__is_implicitly_default_constructible<_T2>>>())
pair()
+ noexcept(is_nothrow_default_constructible_v<_T1>
+ && is_nothrow_default_constructible_v<_T2>)
requires is_default_constructible_v<_T1>
&& is_default_constructible_v<_T2>
: first(), second()
--
2.45.1
More information about the Libstdc++
mailing list