https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87982
--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Jonathan Wakely from comment #4) > I think converting it to the iterator's difference type is the right fix. > Doing that would make the original example ill-formed, because the pointer > isn't convertible to ptrdiff_t. Except that output iterators are allowed to defined difference_type as void.