This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of New status.

4518. simd::cat return type requires inefficient ABI tag change/conversion

Section: 29.10.3 [simd.syn], 29.10.8.12 [simd.creation] Status: New Submitter: Matthias Kretz Opened: 2025-11-25 Last modified: 2026-02-09

Priority: Not Prioritized

View all other issues in [simd.syn].

View all issues with New status.

Discussion:

The return type of simd::cat is defined using deduce-abi-t rather than resize_t. This can lead to:

basic_vec<T, Abi> x = […]
auto [...vs] = simd::chunk<2>(x);
auto y = simd::cat(vs...);
static_assert(is_same_v<decltype(x), decltype(y)>); // can fail

Proposed resolution: