https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119721
--- Comment #4 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Tomasz Kaminski <[email protected]>: https://gcc.gnu.org/g:8728f60b9750ea10abd1a02db7972a6ff6ef2eae commit r16-4711-g8728f60b9750ea10abd1a02db7972a6ff6ef2eae Author: Tomasz KamiÅski <[email protected]> Date: Mon Oct 27 14:19:47 2025 +0100 libstdc++: Implement const copy-assignment for tuple<> [PR119721] This patch completes the implementation of P2321R2, giving tuple proper proxy reference semantics. The assignment operator is implemented as a template constrained to accept only tuple<>. Consequently, the language does not consider it a copy assignment operator, which prevents tuple<> from losing its trivially copyable status. The _Tuple template parameter is defaulted, ensuring the operator remains a viable candidate for assignment with an empty brace-init list. PR libstdc++/119721 libstdc++-v3/ChangeLog: * include/std/tuple (tuple<>::operator=(const _Tuple&) const) [__cpp_lib_ranges_zip]: Define. * testsuite/23_containers/tuple/cons/119721.cc: Test const assignment. Reviewed-by: Jonathan Wakely <[email protected]> Signed-off-by: Tomasz KamiÅski <[email protected]>
