https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101214
--- Comment #1 from 康桓瑋 <hewillk at gmail dot com> --- (In reply to 康桓瑋 from comment #0) > #include <ranges> > > int main() { > auto r = std::views::iota(0) | std::views::take(5); > decltype(std::views::split(r, 0).end()) e{}; > } > Another tiny issue is that in ranges#L3309: constexpr split_view(_Range&& __r, range_value_t<_Range> __e) : _M_pattern(views::single(__e)), _M_base(views::all(std::forward<_Range>(__r))) { } it should be _M_pattern(views::single(std::move(__e))) just like lazy_split_view.