https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71225
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- r236486 turned the ICE into rejection: pr71225.C: In member function ‘void stride_view<Rng>::adaptor::advance()’: pr71225.C:23:19: error: call of overloaded ‘clean()’ is ambiguous clean(); ^ pr71225.C:15:14: note: candidate: void stride_view<Rng>::adaptor::clean() const [with int _c_11 = 42; typename std::enable_if<((_c_11 == 43) || BidirectionalRange<Rng>()), int>::type <anonymous> = 0; Rng = Rng] void clean() const ^~~~~ pr71225.C:19:14: note: candidate: void stride_view<Rng>::adaptor::clean() const [with int _c_14 = 42; typename std::enable_if<((_c_14 == 43) || (! BidirectionalRange<Rng>())), int>::type <anonymous> = 0; Rng = Rng] void clean() const ^~~~~ and starting with r237654 this is accepted again.