It would not be overused because "" is less obscure than String lits… but it would be overused because it would be too easy… except most APIs take &str, so String lits wouldn’t be needed… but people would be putting &str in HashMaps and Vecs, and String lits would band-aid the problems with that… except that when building ‘real’ applications, we usually populate these with non-literal data… except when building dynamic error handling structs… and how often does that happen? And do we even care, when the decisions we make today will fundamentally impact the kind of code people write code in the future? We just did a grandfather paradox to ourselves.
This is what I mean when I say “arbitrary.” You need a moral framework to evaluate competing possibilities. There needs to be principles at stake. You can’t solve moral questions by simply pattern matching on historical data; you can’t ask “what are people doing?” to answer “what should we have them do?” Instead, you ask “what are people not doing that they should be doing?”
For instance, you did a search for String::from and got ~8700 hits, but I did a search for String::from(" and got only ~500. And that still doesn’t tell us that people should have done anything differently, because we don’t know how many times they should be calling String::from, even if it had different syntax…
If a certain pattern is repeated over and over again at some point it turns into boilerplate, which is usually not helpful for reading, maintaining and writing code.
I disagree on all three points in general. Repetition is very helpful. If you work too hard to get rid of it, you are getting rid of pedagogical clues and lessons (as learning requires repetition), tools for emphasis and symmetry, and ultimately just trying to compress source code, which is not how anybody wants to work. Nobody is seriously trying to code-golf, compress, and obfuscate their application source code with symbolic indirection.
They’re trying to get rid of noise, which is definitely here for String::from – directly in the symbols and indirectly in its impact on indentation and line width (EDIT: People might also just really want to be avoiding an extra set of parens!) – but what level of noise reduction is excessive?