https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88512
--- Comment #1 from Jonny Grant <jg at jguk dot org> --- MSVC 19 isn't much better <source>(7): error C2664: 'std::_String_iterator<std::_String_val<std::_Simple_types<_Ty>>> std::basic_string<char,std::char_traits<char>,std::allocator<_Ty>>::erase(const std::_String_const_iterator<std::_String_val<std::_Simple_types<_Ty>>>,const std::_String_const_iterator<std::_String_val<std::_Simple_types<_Ty>>>)': cannot convert argument 2 from 'std::_String_iterator<std::_String_val<std::_Simple_types<_Ty>>>' to 'unsigned __int64' with [ _Ty=char ] <source>(7): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called Compiler returned: 2