diff --git a/crates/mdman/src/hbs.rs b/crates/mdman/src/hbs.rs index a8cbae94a..eefeb3c1a 100644 --- a/crates/mdman/src/hbs.rs +++ b/crates/mdman/src/hbs.rs @@ -24,14 +24,13 @@ pub fn expand(file: &Path, formatter: FormatterRef) -> Result { handlebars.register_template_file("template", file)?; let includes = file.parent().unwrap().join("includes"); handlebars.register_templates_directory(".md", includes)?; - let mut data: HashMap = HashMap::new(); let man_name = file .file_stem() .expect("expected filename") .to_str() .expect("utf8 filename") .to_string(); - data.insert("man_name".to_string(), man_name); + let data: HashMap = [("man_name", man_name)].into(); let expanded = handlebars.render("template", &data)?; Ok(expanded) } diff --git a/src/bin/cargo/commands/verify_project.rs b/src/bin/cargo/commands/verify_project.rs index e3779d895..c67bb6b80 100644 --- a/src/bin/cargo/commands/verify_project.rs +++ b/src/bin/cargo/commands/verify_project.rs @@ -13,14 +13,12 @@ pub fn cli() -> App { pub fn exec(config: &mut Config, args: &ArgMatches) -> CliResult { if let Err(e) = args.workspace(config) { - let mut h = HashMap::new(); - h.insert("invalid".to_string(), e.to_string()); + let h: HashMap<_, _> = [("invalid", e.to_string())].into(); config.shell().print_json(&h)?; process::exit(1) } - let mut h = HashMap::new(); - h.insert("success".to_string(), "true".to_string()); + let h: HashMap<_, _> = [("success", "true")].into(); config.shell().print_json(&h)?; Ok(()) } diff --git a/src/cargo/core/compiler/rustdoc.rs b/src/cargo/core/compiler/rustdoc.rs index d9244404a..bbc8488ca 100644 --- a/src/cargo/core/compiler/rustdoc.rs +++ b/src/cargo/core/compiler/rustdoc.rs @@ -64,8 +64,7 @@ pub struct RustdocExternMap { impl Default for RustdocExternMap { fn default() -> Self { - let mut registries = HashMap::new(); - registries.insert(CRATES_IO_REGISTRY.into(), DOCS_RS_URL.into()); + let registries = [(CRATES_IO_REGISTRY.into(), DOCS_RS_URL.into())].into(); Self { registries, std: None, diff --git a/src/cargo/core/compiler/standard_lib.rs b/src/cargo/core/compiler/standard_lib.rs index bf159e178..4de305cda 100644 --- a/src/cargo/core/compiler/standard_lib.rs +++ b/src/cargo/core/compiler/standard_lib.rs @@ -53,8 +53,7 @@ pub fn resolve_std<'cfg>( }) .collect::>>()?; let crates_io_url = crate::sources::CRATES_IO_INDEX.parse().unwrap(); - let mut patch = HashMap::new(); - patch.insert(crates_io_url, patches); + let patch = [(crates_io_url, patches)].into(); let members = vec![ String::from("library/std"), String::from("library/core"), diff --git a/src/cargo/core/profiles.rs b/src/cargo/core/profiles.rs index f15f48e33..bb354abdc 100644 --- a/src/cargo/core/profiles.rs +++ b/src/cargo/core/profiles.rs @@ -139,11 +139,12 @@ impl Profiles { /// Returns the hard-coded directory names for built-in profiles. fn predefined_dir_names() -> HashMap { - let mut dir_names = HashMap::new(); - dir_names.insert(InternedString::new("dev"), InternedString::new("debug")); - dir_names.insert(InternedString::new("test"), InternedString::new("debug")); - dir_names.insert(InternedString::new("bench"), InternedString::new("release")); - dir_names + [ + (InternedString::new("dev"), InternedString::new("debug")), + (InternedString::new("test"), InternedString::new("debug")), + (InternedString::new("bench"), InternedString::new("release")), + ] + .into() } /// Initialize `by_name` with the two "root" profiles, `dev`, and diff --git a/src/cargo/util/config/mod.rs b/src/cargo/util/config/mod.rs index 2a18621dd..24c32e817 100644 --- a/src/cargo/util/config/mod.rs +++ b/src/cargo/util/config/mod.rs @@ -1053,8 +1053,7 @@ impl Config { } fn load_file(&self, path: &Path, includes: bool) -> CargoResult { - let mut seen = HashSet::new(); - self._load_file(path, &mut seen, includes) + self._load_file(path, &mut HashSet::new(), includes) } fn _load_file( @@ -1171,9 +1170,8 @@ impl Config { anyhow::format_err!("config path {:?} is not utf-8", arg_as_path) })? .to_string(); - let mut map = HashMap::new(); let value = CV::String(str_path, Definition::Cli); - map.insert("include".to_string(), value); + let map = [("include".to_string(), value)].into(); CV::Table(map, Definition::Cli) } else { // We only want to allow "dotted key" (see https://toml.io/en/v1.0.0#keys) @@ -1253,9 +1251,8 @@ impl Config { CV::from_toml(Definition::Cli, toml_v) .with_context(|| format!("failed to convert --config argument `{arg}`"))? }; - let mut seen = HashSet::new(); let tmp_table = self - .load_includes(tmp_table, &mut seen) + .load_includes(tmp_table, &mut HashSet::new()) .with_context(|| "failed to load --config include".to_string())?; loaded_args .merge(tmp_table, true) @@ -1419,8 +1416,7 @@ impl Config { if let Some(token) = value_map.remove("token") { if let Vacant(entry) = value_map.entry("registry".into()) { - let mut map = HashMap::new(); - map.insert("token".into(), token); + let map = [("token".into(), token)].into(); let table = CV::Table(map, def.clone()); entry.insert(table); } @@ -1994,8 +1990,7 @@ pub fn save_credentials( // Move the old token location to the new one. if let Some(token) = toml.as_table_mut().unwrap().remove("token") { - let mut map = HashMap::new(); - map.insert("token".to_string(), token); + let map: HashMap<_, _> = [("token".to_string(), token)].into(); toml.as_table_mut() .unwrap() .insert("registry".into(), map.into()); @@ -2006,13 +2001,11 @@ pub fn save_credentials( let (key, mut value) = { let key = "token".to_string(); let value = ConfigValue::String(token, Definition::Path(file.path().to_path_buf())); - let mut map = HashMap::new(); - map.insert(key, value); + let map = [(key, value)].into(); let table = CV::Table(map, Definition::Path(file.path().to_path_buf())); if let Some(registry) = registry { - let mut map = HashMap::new(); - map.insert(registry.to_string(), table); + let map = [(registry.to_string(), table)].into(); ( "registries".into(), CV::Table(map, Definition::Path(file.path().to_path_buf())), diff --git a/src/cargo/util/diagnostic_server.rs b/src/cargo/util/diagnostic_server.rs index 22bbf0ca2..4a99836b2 100644 --- a/src/cargo/util/diagnostic_server.rs +++ b/src/cargo/util/diagnostic_server.rs @@ -75,9 +75,8 @@ impl Message { .shutdown(Shutdown::Write) .context("failed to shutdown")?; - let mut tmp = Vec::new(); client - .read_to_end(&mut tmp) + .read_to_end(&mut Vec::new()) .context("failed to receive a disconnect")?; Ok(())