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.
simd::basic_vec(U&&)
default template parameterSection: 29.10.7.2 [simd.ctor] Status: New Submitter: Hewill Kang Opened: 2025-09-29 Last modified: 2025-10-03
Priority: Not Prioritized
View other active issues in [simd.ctor].
View all other issues in [simd.ctor].
View all issues with New status.
Discussion:
simd::basic_vec
supports complex
after P2663R7, defaulting
the template parameter of its broadcast constructor seems to be reasonable, as this allows the
intuitive spelling:
simd::vec<complex<double>> sc1 ({-1.0, 0.5}); // current ill-formed simd::vec<complex<double>> sc2 = {{-1.0, 0.5}}; // current ill-formed
Proposed resolution:
This wording is relative to N5014.
Modify 29.10.7.1 [simd.overview] as indicated:
namespace std::simd { template<class T, class Abi> class basic_vec { public: […] template<class U = T> constexpr explicit(see below) basic_vec(U&& value) noexcept; […] }; }
Modify 29.10.7.2 [simd.ctor] as indicated:
template<class U = T> constexpr explicit(see below) basic_vec(U&& value) noexcept;-1- […]