1. string_view makes for much more verbose code when it's the more common version.
2. string_view makes no sense when many str are not actually views into strings but either static data or "cast" bytes.
3. string_view makes no sense when str is the basic builtin type.
Renaming String to something like StrBuf might have made sense, but it's not like it would have been any clearer, people get confused by Path/PathBuf all the same if not more so.
It's certainly confusing at first, but the terse naming of "str" is appreciated once you've internalized the difference. "str" is, in most projects I've seen, appears more often in source than "String".
2. string_view makes no sense when many str are not actually views into strings but either static data or "cast" bytes.
3. string_view makes no sense when str is the basic builtin type.
Renaming String to something like StrBuf might have made sense, but it's not like it would have been any clearer, people get confused by Path/PathBuf all the same if not more so.