https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119434
Bug ID: 119434 Summary: template argument 2 is invalid for CTAD Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: hewillk at gmail dot com Target Milestone: --- GCC rejects the following valid code: #include <array> #include <ranges> template<class T, auto N> struct simd { template<class R> constexpr simd(R&&) { } }; template<class R> simd(R&& r) -> simd<std::ranges::range_value_t<R>, std::ranges::size(r)>; int main() { std::array a{42}; simd s{a}; } https://godbolt.org/z/r7xdjqbP4