On Thu, 12 Feb 2026 at 21:52, Jonathan Wakely <[email protected]> wrote:
>
> This is similar to the r16-3536-g0bb0d1d2880d56 change for std::pair, so
> that CTAD ignores the tuple(const Types&...) constructor and only uses
> the tuple(Types...) -> tuple<Types...> deduction guide. This ensures
> that the deduced type comes from the decayed argument types.
>
> libstdc++-v3/ChangeLog:
>
>         PR libstdc++/121771
>         * include/std/tuple (tuple::tuple(const Elements&...)): Use
>         type_identity_t to prevent constructor being used for CTAD.
>         (tuple::tuple(allocator_arg_t, const A&, const Elements&...)):
>         Likewise.
>         * testsuite/20_util/tuple/cons/121771.cc: New test.
> ---
>
> Tested aarch64-linux.

FWIW, LGTM.

Reply via email to