https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111861
--- Comment #5 from 康桓瑋 <hewillk at gmail dot com> --- It seems that ranges::push_heap has the same issue, since ranges::iter_move(ranges::prev(__last)) may not necessarily be able to *implicitly* construct iter_value_t<_Iter>.
