https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108822
--- Comment #7 from GCC 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:502a3c03e40e8920afb734c077b045f6c5efd087 commit r14-8292-g502a3c03e40e8920afb734c077b045f6c5efd087 Author: Jonathan Wakely <jwak...@redhat.com> Date: Fri Jan 19 12:28:30 2024 +0000 libstdc++: Fix P2255R2 dangling checks for std::tuple in C++17 [PR108822] I accidentally used && in a fold-expression instead of || which meant that in C++17 the tuple(UElements&&...) constructor only failed its debug assertion if all tuple elements were dangling references. Some missing tests (noted as "TODO") meant this wasn't tested. This fixes the fold expression and adds the missing tests. libstdc++-v3/ChangeLog: PR libstdc++/108822 * include/std/tuple (__glibcxx_no_dangling_refs) [C++17]: Fix wrong fold-operator. * testsuite/20_util/tuple/dangling_ref.cc: Check tuples with one element and three elements. Check allocator-extended constructors.