https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88512
--- Comment #5 from Jonny Grant <jg at jguk dot org> --- ICC 19.0.1 output <source>(7): error: no instance of overloaded function "std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::erase [with _CharT=char, _Traits=std::char_traits<char>, _Alloc=std::allocator<char>]" matches the argument list argument types are: (std::size_t, __gnu_cxx::__normal_iterator<char *, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>) object type is: std::__cxx11::string str.erase(s, str.end()); ^ /opt/compiler-explorer/gcc-8.2.0/bin/../include/c++/8.2.0/bits/basic_string.h(1827): note: this candidate was rejected because arguments do not match erase(__const_iterator __first, __const_iterator __last) ^ /opt/compiler-explorer/gcc-8.2.0/bin/../include/c++/8.2.0/bits/basic_string.h(1808): note: this candidate was rejected because mismatch in count of arguments erase(__const_iterator __position) ^ /opt/compiler-explorer/gcc-8.2.0/bin/../include/c++/8.2.0/bits/basic_string.h(1789): note: this candidate was rejected because arguments do not match erase(size_type __pos = 0, size_type __n = npos) ^ compilation aborted for <source> (code 2) Compiler returned: 2