{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreihvvw22zeqqdnfje3uuku6dx3tjddazcs36c5q3qtcdcr7zafz2i4",
"uri": "at://did:plc:ivbknywyskln22er3nkssdhl/app.bsky.feed.post/3mnvebc6yge32"
},
"path": "/t/pre-rfc-explicit-overload-sets-for-mixed-arity-function-calls/24372#post_13",
"publishedAt": "2026-06-09T22:58:28.000Z",
"site": "https://internals.rust-lang.org",
"textContent": "I think you argue that people can have good taste when it comes to overloads. The problem with good taste is that it can't be enforced by a linter (at least not yet) and it doesn't scale. And as soon as you have a project with hundreds of developers that becomes unenforceable both socially and from a review workload point of view.\n\nThe answer is thus to just not do overloading at all, it is just a feature too prone to be misused for bad API design, as we see time and again in C++. Rust should as far as possible nudge people in the direction of \"good\" code, and it does a pretty decent job at that currently. C++ as a language really doesn't. There are books and lists on all the parts of C++ you shouldn't use any more. Rust for the most part doesn't need that (yet?). Overloading would be a major step in the wrong direction for Rust.",
"title": "Pre-RFC: Explicit overload sets for mixed-arity function calls"
}