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

Reply via email to