https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71579
--- Comment #18 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jonathan Wakely <r...@gcc.gnu.org>: https://gcc.gnu.org/g:69f571ffc513b689fa26e4c9fceba17c2c989ab3 commit r11-2759-g69f571ffc513b689fa26e4c9fceba17c2c989ab3 Author: Antony Polukhin <antosh...@gmail.com> Date: Wed Aug 19 12:10:57 2020 +0100 libstdc++: assert that type traits are not misused with incomplete types [PR 71579] libstdc++-v3/ChangeLog: 2020-08-19 Antony Polukhin <antosh...@gmail.com> PR libstdc++/71579 * include/std/type_traits (invoke_result, is_nothrow_invocable_r) Add static_asserts to make sure that the argument of the type trait is not misused with incomplete types. (is_swappable_with, is_nothrow_swappable_with): Add static_asserts to make sure that the first and second arguments of the type trait are not misused with incomplete types. * testsuite/20_util/invoke_result/incomplete_neg.cc: New test. * testsuite/20_util/is_nothrow_invocable/incomplete_neg.cc: New test. * testsuite/20_util/is_nothrow_swappable/incomplete_neg.cc: New test. * testsuite/20_util/is_nothrow_swappable_with/incomplete_neg.cc: New test. * testsuite/20_util/is_swappable_with/incomplete_neg.cc: New test.