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.
rebind and resize reference a type member that doesn't existSection: 29.10.4 [simd.traits] Status: New Submitter: Matthias Kretz Opened: 2025-10-15 Last modified: 2025-10-20
Priority: Not Prioritized
View other active issues in [simd.traits].
View all other issues in [simd.traits].
View all issues with New status.
Discussion:
In 29.10.4 [simd.traits] rebind and resize say "deduce-abi-t<T, V::size()>
has a member type type". But deduce-abi-t is specified in
29.10.2.2 [simd.expos.abi] p4-5 as an alias that is either defined or not.
Proposed resolution:
This wording is relative to N5014.
Modify 29.10.4 [simd.traits] as indicated:
template<class T, class V> struct rebind { using type = see below; };-4- The member
typeis present if and only if[…]
(4.1) —
Vis a data-parallel type,(4.2) —
Tis a vectorizable type, and(4.3) —
deduce-abi-t<T, V::size()>has a member typeis defined.typetemplate<simd-size-type N, class V> struct resize { using type = see below; };-7- Let
-8- The memberTdenote […]typeis present if and only if
(8.1) —
Vis a data-parallel type, and(8.2) —
deduce-abi-t<T, N>has a member typeis defined.type