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