[Bug libstdc++/91456] std::function and std::is_invocable_r do not understand guaranteed elision
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sat Sep 24 00:07:24 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91456
--- Comment #8 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jonathan Wakely <redi@gcc.gnu.org>:
https://gcc.gnu.org/g:71c828f84572d933979468baf2cf744180258ee4
commit r13-2825-g71c828f84572d933979468baf2cf744180258ee4
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Fri Sep 23 13:28:37 2022 +0100
libstdc++: Fix std::is_nothrow_invocable_r for uncopyable prvalues
[PR91456]
This is the last missing piece of PR 91456.
This also removes the only use of the C++11 version of
std::is_nothrow_invocable, which was just renamed to
__is_nothrow_invocable_lib. We can remove that now.
libstdc++-v3/ChangeLog:
PR libstdc++/91456
* include/std/type_traits (__is_nothrow_invocable_lib): Remove.
(__is_invocable_impl::__nothrow_type): New member type which
checks if the conversion can throw.
(__is_nt_invocable_impl): Replace class template with alias
template to __is_nt_invocable_impl::__nothrow_type.
* testsuite/20_util/is_nothrow_invocable/91456.cc: New test.
* testsuite/20_util/is_nothrow_convertible/value.cc: Remove
macro used by value_ext.cc test.
* testsuite/20_util/is_nothrow_convertible/value_ext.cc: Remove
test for non-standard __is_nothrow_invocable_lib trait.
More information about the Gcc-bugs
mailing list