(see Rust dreams for a similar list, but for the language)
Here are things I wish could be changed in the Rust standard library (std).
Remove
std, and retainallocwithout any of the types incollectionsmodule.That removed code can have official status (to retain trust), maybe even distributed with rustup (to retain convenience).
Rename
VectoArray, a more clear/obvious name. An alternative isList, but that type in Python accepts members of different types, which is not the case forVec.Consistent names for string-y types:
current wish string str Str String StrOwned os string OsStr OsStr (same) OsString OsStrOwned C string CStr CStr (same) CString CStrOwned fs path Path Path (same) PathBuf PathOwned Remove
std::sync::mpscfrom stdlib, making it available externally... it does not feel general enough. (more issues)Remove per-type methods where trait impls offer same functionality, for generality:
current wish PathBuf::as_path PathBuf::as_ref Path::to_path_buf Path::to_owned Vec::append Vec::extend Remove all deprecated APIs, most notable being the
try!macroRenames of panic methods (inspiration)
current wish foo.unwrap (remove) foo.expect("message") foo.or_panic("message") foo.unwrap_or foo.or foo.unwrap_or_default foo.or_default foo.unwrap_or_else foo.or_else It feels somewhat implicit, but maybe not so bad.