https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111031

            Bug ID: 111031
           Summary: ICE: internal compiler error: in
                    iterative_hash_template_arg, at cp/pt.cc:1747
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: hewillk at gmail dot com
  Target Milestone: ---

I will reduce it if I have the bandwidth.

#include <ranges>

namespace std::ranges {

template<class... Rs>
using concat_reference_t = common_reference_t<range_reference_t<Rs>...>;

template<class... Rs>
concept concatable = (requires(const iterator_t<Rs> in) {
  { *in } -> convertible_to<concat_reference_t<Rs...>>;
} && ...);

template<class... Views>
  requires concatable<Views...>
class concat_view { };

template<class... Rs>
concat_view(Rs&&...) -> concat_view<views::all_t<Rs>...>;

}  // namespace std::ranges

int main() {
  int x[] = {0, 1, 2};
  std::ranges::concat_view r(x);
}

https://godbolt.org/z/jEh9YzafT

Reply via email to