From e19518107cacf8c7a2044d9f5cb6e3ddeb983cf7 Mon Sep 17 00:00:00 2001 From: Lzu Tao Date: Fri, 9 Aug 2019 17:15:19 +0000 Subject: [PATCH 1/3] Add HashMap to std prelude * Fix `HashMap` redundantly import errors * Replace HashMap by BTreeMap in tests suggested by Jonas --- .../src/lints/listing/warn-by-default.md | 8 +- src/libcore/cell.rs | 1 - src/libcore/hash/mod.rs | 1 - src/libcore/option.rs | 4 - .../owning_ref/tests.rs | 2 - src/librustc_data_structures/sync.rs | 1 - src/librustc_resolve/error_codes.rs | 6 +- src/libserialize/tests/json.rs | 6 -- src/libserialize/tests/opaque.rs | 1 - src/libstd/collections/hash/map.rs | 91 +------------------ src/libstd/prelude/v1.rs | 3 + src/libstd/process.rs | 1 - src/libterm/terminfo/mod.rs | 1 - src/libterm/terminfo/parser/compiled.rs | 1 - src/libtest/lib.rs | 2 +- src/test/ui-fulldeps/issue-2804.rs | 1 - src/test/ui-fulldeps/regions-mock-tcx.rs | 1 - .../borrowck/borrowck-borrowed-uniq-rvalue.rs | 1 - .../borrowck-borrowed-uniq-rvalue.stderr | 2 +- src/test/ui/borrowck/index-mut-help.rs | 1 - src/test/ui/borrowck/index-mut-help.stderr | 6 +- .../return-local-binding-from-desugaring.rs | 1 - ...eturn-local-binding-from-desugaring.stderr | 2 +- src/test/ui/closure_context/issue-42065.rs | 2 - .../ui/closure_context/issue-42065.stderr | 4 +- src/test/ui/derived-errors/issue-31997-1.rs | 4 +- .../ui/derived-errors/issue-31997-1.stderr | 6 +- src/test/ui/drop/dropck_legal_cycles.rs | 1 - src/test/ui/error-codes/E0433.rs | 2 +- src/test/ui/error-codes/E0433.stderr | 6 +- ...xternal-iterators-hashmap-break-restart.rs | 1 - .../foreach-external-iterators-hashmap.rs | 1 - src/test/ui/hashmap-memory.rs | 1 - src/test/ui/hrtb/hrtb-debruijn-in-receiver.rs | 1 - .../ui/hrtb/hrtb-debruijn-in-receiver.stderr | 2 +- src/test/ui/issues/auxiliary/issue-2631-a.rs | 1 - src/test/ui/issues/auxiliary/issue-31702-2.rs | 1 - src/test/ui/issues/auxiliary/issue-5521.rs | 2 - src/test/ui/issues/issue-12909.rs | 1 - src/test/ui/issues/issue-1696.rs | 1 - src/test/ui/issues/issue-17728.rs | 1 - src/test/ui/issues/issue-17728.stderr | 4 +- src/test/ui/issues/issue-21763.rs | 1 - src/test/ui/issues/issue-21763.stderr | 4 +- src/test/ui/issues/issue-22781.rs | 1 - src/test/ui/issues/issue-23036.rs | 1 - src/test/ui/issues/issue-23649-2.rs | 1 - src/test/ui/issues/issue-2631-b.rs | 1 - src/test/ui/issues/issue-2804-2.rs | 1 - src/test/ui/issues/issue-3026.rs | 1 - src/test/ui/issues/issue-33941.rs | 2 - src/test/ui/issues/issue-33941.stderr | 4 +- src/test/ui/issues/issue-3559.rs | 1 - src/test/ui/issues/issue-41726.rs | 1 - src/test/ui/issues/issue-41726.stderr | 2 +- src/test/ui/issues/issue-51301.rs | 1 - src/test/ui/issues/issue-51301.stderr | 2 +- .../issue-52126-assign-op-invariance.rs | 1 - .../issue-52126-assign-op-invariance.stderr | 2 +- src/test/ui/issues/issue-57781.rs | 1 - src/test/ui/issues/issue-6128.rs | 1 - src/test/ui/issues/issue-7660.rs | 1 - src/test/ui/map-types.rs | 1 - src/test/ui/map-types.stderr | 2 +- ...-arg-count-expected-type-issue-47244.fixed | 1 - ...ure-arg-count-expected-type-issue-47244.rs | 1 - ...arg-count-expected-type-issue-47244.stderr | 2 +- src/test/ui/nll/issue-21114-ebfull.rs | 1 - src/test/ui/nll/process_or_insert_default.rs | 1 - src/test/ui/process/process-envs.rs | 1 - src/test/ui/regions/regions-refcell.rs | 1 - .../ui/resolve/use_suggestion_placement.rs | 2 +- .../resolve/use_suggestion_placement.stderr | 10 +- .../ui/threads-sendsync/send_str_hashmap.rs | 1 - .../sync-send-iterators-in-libcollections.rs | 1 - 75 files changed, 47 insertions(+), 194 deletions(-) diff --git a/src/doc/rustc/src/lints/listing/warn-by-default.md b/src/doc/rustc/src/lints/listing/warn-by-default.md index e486240fda896..73aaaef3e042f 100644 --- a/src/doc/rustc/src/lints/listing/warn-by-default.md +++ b/src/doc/rustc/src/lints/listing/warn-by-default.md @@ -796,17 +796,17 @@ This lint detects imports that are never used. Some example code that triggers this lint: ```rust -use std::collections::HashMap; +use std::collections::BTreeMap; ``` This will produce: ```text -warning: unused import: `std::collections::HashMap` +warning: unused import: `std::collections::BTreeMap` --> src/main.rs:1:5 | -1 | use std::collections::HashMap; - | ^^^^^^^^^^^^^^^^^^^^^^^^^ +1 | use std::collections::BTreeMap; + | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | ``` diff --git a/src/libcore/cell.rs b/src/libcore/cell.rs index 8579dbf353e80..35c267325fb32 100644 --- a/src/libcore/cell.rs +++ b/src/libcore/cell.rs @@ -68,7 +68,6 @@ //! //! ``` //! use std::cell::{RefCell, RefMut}; -//! use std::collections::HashMap; //! use std::rc::Rc; //! //! fn main() { diff --git a/src/libcore/hash/mod.rs b/src/libcore/hash/mod.rs index bf3daa32840d8..5b2123d2ec717 100644 --- a/src/libcore/hash/mod.rs +++ b/src/libcore/hash/mod.rs @@ -478,7 +478,6 @@ pub trait BuildHasher { /// [`HashMap`]: /// /// ``` -/// use std::collections::HashMap; /// use std::hash::{BuildHasherDefault, Hasher}; /// /// #[derive(Default)] diff --git a/src/libcore/option.rs b/src/libcore/option.rs index 259ed36c57885..f2f1aba9a74ae 100644 --- a/src/libcore/option.rs +++ b/src/libcore/option.rs @@ -993,7 +993,6 @@ impl Option { /// ``` /// #![feature(option_expect_none)] /// - /// use std::collections::HashMap; /// let mut squares = HashMap::new(); /// for i in -10..=10 { /// // This will not panic, since all keys are unique. @@ -1004,7 +1003,6 @@ impl Option { /// ```{.should_panic} /// #![feature(option_expect_none)] /// - /// use std::collections::HashMap; /// let mut sqrts = HashMap::new(); /// for i in -10..=10 { /// // This will panic, since both negative and positive `i` will @@ -1035,7 +1033,6 @@ impl Option { /// ``` /// #![feature(option_unwrap_none)] /// - /// use std::collections::HashMap; /// let mut squares = HashMap::new(); /// for i in -10..=10 { /// // This will not panic, since all keys are unique. @@ -1046,7 +1043,6 @@ impl Option { /// ```{.should_panic} /// #![feature(option_unwrap_none)] /// - /// use std::collections::HashMap; /// let mut sqrts = HashMap::new(); /// for i in -10..=10 { /// // This will panic, since both negative and positive `i` will diff --git a/src/librustc_data_structures/owning_ref/tests.rs b/src/librustc_data_structures/owning_ref/tests.rs index 5bff5e035b529..996b0c6c3a024 100644 --- a/src/librustc_data_structures/owning_ref/tests.rs +++ b/src/librustc_data_structures/owning_ref/tests.rs @@ -4,7 +4,6 @@ mod owning_ref { use std::cmp::{PartialEq, Ord, PartialOrd, Ordering}; use std::hash::{Hash, Hasher}; use std::collections::hash_map::DefaultHasher; - use std::collections::HashMap; use std::rc::Rc; #[derive(Debug, PartialEq)] @@ -379,7 +378,6 @@ mod owning_ref_mut { use std::cmp::{PartialEq, Ord, PartialOrd, Ordering}; use std::hash::{Hash, Hasher}; use std::collections::hash_map::DefaultHasher; - use std::collections::HashMap; #[derive(Debug, PartialEq)] struct Example(u32, String, [u8; 3]); diff --git a/src/librustc_data_structures/sync.rs b/src/librustc_data_structures/sync.rs index 3277b85c28144..48a6a23f3d3b0 100644 --- a/src/librustc_data_structures/sync.rs +++ b/src/librustc_data_structures/sync.rs @@ -17,7 +17,6 @@ //! `rustc_erase_owner!` erases a OwningRef owner into Erased or Erased + Send + Sync //! depending on the value of cfg!(parallel_compiler). -use std::collections::HashMap; use std::hash::{Hash, BuildHasher}; use std::marker::PhantomData; use std::ops::{Deref, DerefMut}; diff --git a/src/librustc_resolve/error_codes.rs b/src/librustc_resolve/error_codes.rs index 1faaf97e981c1..e2be30c9c03c5 100644 --- a/src/librustc_resolve/error_codes.rs +++ b/src/librustc_resolve/error_codes.rs @@ -1250,7 +1250,7 @@ An undeclared type or module was used. Erroneous code example: ```compile_fail,E0433 -let map = HashMap::new(); +let map = BTreeMap::new(); // error: failed to resolve: use of undeclared type or module `HashMap` ``` @@ -1259,8 +1259,8 @@ forget to import it: ``` -use std::collections::HashMap; // HashMap has been imported. -let map: HashMap = HashMap::new(); // So it can be used! +use std::collections::BTreeMap; // BTreeMap has been imported. +let map: BTreeMap = BTreeMap::new(); // So it can be used! ``` "##, diff --git a/src/libserialize/tests/json.rs b/src/libserialize/tests/json.rs index 3fb6bda679bc1..eb2735a1bcb01 100644 --- a/src/libserialize/tests/json.rs +++ b/src/libserialize/tests/json.rs @@ -849,7 +849,6 @@ fn test_as_null(){ #[test] fn test_encode_hashmap_with_numeric_key() { use std::str::from_utf8; - use std::collections::HashMap; let mut hm: HashMap = HashMap::new(); hm.insert(1, true); let mut mem_buf = Vec::new(); @@ -864,7 +863,6 @@ fn test_encode_hashmap_with_numeric_key() { #[test] fn test_prettyencode_hashmap_with_numeric_key() { use std::str::from_utf8; - use std::collections::HashMap; let mut hm: HashMap = HashMap::new(); hm.insert(1, true); let mut mem_buf = Vec::new(); @@ -930,7 +928,6 @@ fn test_prettyencoder_indent_level_param() { #[test] fn test_hashmap_with_enum_key() { - use std::collections::HashMap; #[derive(RustcEncodable, Eq, Hash, PartialEq, RustcDecodable, Debug)] enum Enum { Foo, @@ -947,7 +944,6 @@ fn test_hashmap_with_enum_key() { #[test] fn test_hashmap_with_numeric_key_can_handle_double_quote_delimited_key() { - use std::collections::HashMap; let json_str = "{\"1\":true}"; let json_obj = match from_str(json_str) { Err(_) => panic!("Unable to parse json_str: {:?}", json_str), @@ -959,7 +955,6 @@ fn test_hashmap_with_numeric_key_can_handle_double_quote_delimited_key() { #[test] fn test_hashmap_with_numeric_key_will_error_with_string_keys() { - use std::collections::HashMap; let json_str = "{\"a\":true}"; let json_obj = match from_str(json_str) { Err(_) => panic!("Unable to parse json_str: {:?}", json_str), @@ -1267,7 +1262,6 @@ fn test_to_json() { #[test] fn test_encode_hashmap_with_arbitrary_key() { - use std::collections::HashMap; #[derive(PartialEq, Eq, Hash, RustcEncodable)] struct ArbitraryType(usize); let mut hm: HashMap = HashMap::new(); diff --git a/src/libserialize/tests/opaque.rs b/src/libserialize/tests/opaque.rs index fff6fc69e7842..35e0b4d802560 100644 --- a/src/libserialize/tests/opaque.rs +++ b/src/libserialize/tests/opaque.rs @@ -263,7 +263,6 @@ fn test_sequence() { #[test] fn test_hash_map() { - use std::collections::HashMap; let mut map = HashMap::new(); for i in -100i64..100i64 { map.insert(i * 100000, i * 10000); diff --git a/src/libstd/collections/hash/map.rs b/src/libstd/collections/hash/map.rs index a0538986a2242..66ffb263cdcef 100644 --- a/src/libstd/collections/hash/map.rs +++ b/src/libstd/collections/hash/map.rs @@ -63,8 +63,6 @@ use crate::sys; /// # Examples /// /// ``` -/// use std::collections::HashMap; -/// /// // Type inference lets us omit an explicit type signature (which /// // would be `HashMap` in this example). /// let mut book_reviews = HashMap::new(); @@ -121,8 +119,6 @@ use crate::sys; /// their values: /// /// ``` -/// use std::collections::HashMap; -/// /// // type inference lets us omit an explicit type signature (which /// // would be `HashMap<&str, u8>` in this example). /// let mut player_stats = HashMap::new(); @@ -159,8 +155,6 @@ use crate::sys; /// [`fnv`]: https://crates.io/crates/fnv /// /// ``` -/// use std::collections::HashMap; -/// /// #[derive(Hash, Eq, PartialEq, Debug)] /// struct Viking { /// name: String, @@ -190,8 +184,6 @@ use crate::sys; /// A `HashMap` with fixed list of elements can be initialized from an array: /// /// ``` -/// use std::collections::HashMap; -/// /// fn main() { /// let timber_resources: HashMap<&str, i32> = /// [("Norway", 100), @@ -217,7 +209,6 @@ impl HashMap { /// # Examples /// /// ``` - /// use std::collections::HashMap; /// let mut map: HashMap<&str, i32> = HashMap::new(); /// ``` #[inline] @@ -234,7 +225,6 @@ impl HashMap { /// # Examples /// /// ``` - /// use std::collections::HashMap; /// let mut map: HashMap<&str, i32> = HashMap::with_capacity(10); /// ``` #[inline] @@ -253,7 +243,6 @@ impl HashMap { /// # Examples /// /// ``` - /// use std::collections::HashMap; /// let map: HashMap = HashMap::with_capacity(100); /// assert!(map.capacity() >= 100); /// ``` @@ -269,8 +258,6 @@ impl HashMap { /// # Examples /// /// ``` - /// use std::collections::HashMap; - /// /// let mut map = HashMap::new(); /// map.insert("a", 1); /// map.insert("b", 2); @@ -291,8 +278,6 @@ impl HashMap { /// # Examples /// /// ``` - /// use std::collections::HashMap; - /// /// let mut map = HashMap::new(); /// map.insert("a", 1); /// map.insert("b", 2); @@ -313,8 +298,6 @@ impl HashMap { /// # Examples /// /// ``` - /// use std::collections::HashMap; - /// /// let mut map = HashMap::new(); /// /// map.insert("a", 1); @@ -340,8 +323,6 @@ impl HashMap { /// # Examples /// /// ``` - /// use std::collections::HashMap; - /// /// let mut map = HashMap::new(); /// map.insert("a", 1); /// map.insert("b", 2); @@ -363,8 +344,6 @@ impl HashMap { /// # Examples /// /// ``` - /// use std::collections::HashMap; - /// /// let mut map = HashMap::new(); /// map.insert("a", 1); /// map.insert("b", 2); @@ -389,8 +368,6 @@ impl HashMap { /// # Examples /// /// ``` - /// use std::collections::HashMap; - /// /// let mut a = HashMap::new(); /// assert_eq!(a.len(), 0); /// a.insert(1, "a"); @@ -406,8 +383,6 @@ impl HashMap { /// # Examples /// /// ``` - /// use std::collections::HashMap; - /// /// let mut a = HashMap::new(); /// assert!(a.is_empty()); /// a.insert(1, "a"); @@ -425,8 +400,6 @@ impl HashMap { /// # Examples /// /// ``` - /// use std::collections::HashMap; - /// /// let mut a = HashMap::new(); /// a.insert(1, "a"); /// a.insert(2, "b"); @@ -450,8 +423,6 @@ impl HashMap { /// # Examples /// /// ``` - /// use std::collections::HashMap; - /// /// let mut a = HashMap::new(); /// a.insert(1, "a"); /// a.clear(); @@ -482,7 +453,6 @@ where /// # Examples /// /// ``` - /// use std::collections::HashMap; /// use std::collections::hash_map::RandomState; /// /// let s = RandomState::new(); @@ -511,7 +481,6 @@ where /// # Examples /// /// ``` - /// use std::collections::HashMap; /// use std::collections::hash_map::RandomState; /// /// let s = RandomState::new(); @@ -533,7 +502,6 @@ where /// # Examples /// /// ``` - /// use std::collections::HashMap; /// use std::collections::hash_map::RandomState; /// /// let hasher = RandomState::new(); @@ -559,7 +527,6 @@ where /// # Examples /// /// ``` - /// use std::collections::HashMap; /// let mut map: HashMap<&str, i32> = HashMap::new(); /// map.reserve(10); /// ``` @@ -582,7 +549,6 @@ where /// /// ``` /// #![feature(try_reserve)] - /// use std::collections::HashMap; /// let mut map: HashMap<&str, isize> = HashMap::new(); /// map.try_reserve(10).expect("why is the test harness OOMing on 10 bytes?"); /// ``` @@ -601,8 +567,6 @@ where /// # Examples /// /// ``` - /// use std::collections::HashMap; - /// /// let mut map: HashMap = HashMap::with_capacity(100); /// map.insert(1, 2); /// map.insert(3, 4); @@ -627,8 +591,6 @@ where /// /// ``` /// #![feature(shrink_to)] - /// use std::collections::HashMap; - /// /// let mut map: HashMap = HashMap::with_capacity(100); /// map.insert(1, 2); /// map.insert(3, 4); @@ -653,8 +615,6 @@ where /// # Examples /// /// ``` - /// use std::collections::HashMap; - /// /// let mut letters = HashMap::new(); /// /// for ch in "a short treatise on fungi".chars() { @@ -685,8 +645,6 @@ where /// # Examples /// /// ``` - /// use std::collections::HashMap; - /// /// let mut map = HashMap::new(); /// map.insert(1, "a"); /// assert_eq!(map.get(&1), Some(&"a")); @@ -715,8 +673,6 @@ where /// /// ``` /// #![feature(map_get_key_value)] - /// use std::collections::HashMap; - /// /// let mut map = HashMap::new(); /// map.insert(1, "a"); /// assert_eq!(map.get_key_value(&1), Some((&1, &"a"))); @@ -744,8 +700,6 @@ where /// # Examples /// /// ``` - /// use std::collections::HashMap; - /// /// let mut map = HashMap::new(); /// map.insert(1, "a"); /// assert_eq!(map.contains_key(&1), true); @@ -773,8 +727,6 @@ where /// # Examples /// /// ``` - /// use std::collections::HashMap; - /// /// let mut map = HashMap::new(); /// map.insert(1, "a"); /// if let Some(x) = map.get_mut(&1) { @@ -807,8 +759,6 @@ where /// # Examples /// /// ``` - /// use std::collections::HashMap; - /// /// let mut map = HashMap::new(); /// assert_eq!(map.insert(37, "a"), None); /// assert_eq!(map.is_empty(), false); @@ -836,8 +786,6 @@ where /// # Examples /// /// ``` - /// use std::collections::HashMap; - /// /// let mut map = HashMap::new(); /// map.insert(1, "a"); /// assert_eq!(map.remove(&1), Some("a")); @@ -866,8 +814,6 @@ where /// # Examples /// /// ``` - /// use std::collections::HashMap; - /// /// # fn main() { /// let mut map = HashMap::new(); /// map.insert(1, "a"); @@ -892,8 +838,6 @@ where /// # Examples /// /// ``` - /// use std::collections::HashMap; - /// /// let mut map: HashMap = (0..8).map(|x|(x, x*10)).collect(); /// map.retain(|&k, _| k % 2 == 0); /// assert_eq!(map.len(), 4); @@ -1355,8 +1299,6 @@ impl<'a, K, V, S> RawEntryMut<'a, K, V, S> { /// /// ``` /// #![feature(hash_raw_entry)] - /// use std::collections::HashMap; - /// /// let mut map: HashMap<&str, u32> = HashMap::new(); /// /// map.raw_entry_mut().from_key("poneyland").or_insert("poneyland", 3); @@ -1385,8 +1327,6 @@ impl<'a, K, V, S> RawEntryMut<'a, K, V, S> { /// /// ``` /// #![feature(hash_raw_entry)] - /// use std::collections::HashMap; - /// /// let mut map: HashMap<&str, String> = HashMap::new(); /// /// map.raw_entry_mut().from_key("poneyland").or_insert_with(|| { @@ -1419,8 +1359,6 @@ impl<'a, K, V, S> RawEntryMut<'a, K, V, S> { /// /// ``` /// #![feature(hash_raw_entry)] - /// use std::collections::HashMap; - /// /// let mut map: HashMap<&str, u32> = HashMap::new(); /// /// map.raw_entry_mut() @@ -1713,8 +1651,6 @@ impl IntoIterator for HashMap { /// # Examples /// /// ``` - /// use std::collections::HashMap; - /// /// let mut map = HashMap::new(); /// map.insert("a", 1); /// map.insert("b", 2); @@ -1941,8 +1877,6 @@ impl<'a, K, V> Entry<'a, K, V> { /// # Examples /// /// ``` - /// use std::collections::HashMap; - /// /// let mut map: HashMap<&str, u32> = HashMap::new(); /// /// map.entry("poneyland").or_insert(3); @@ -1966,8 +1900,6 @@ impl<'a, K, V> Entry<'a, K, V> { /// # Examples /// /// ``` - /// use std::collections::HashMap; - /// /// let mut map: HashMap<&str, String> = HashMap::new(); /// let s = "hoho".to_string(); /// @@ -1988,8 +1920,6 @@ impl<'a, K, V> Entry<'a, K, V> { /// # Examples /// /// ``` - /// use std::collections::HashMap; - /// /// let mut map: HashMap<&str, u32> = HashMap::new(); /// assert_eq!(map.entry("poneyland").key(), &"poneyland"); /// ``` @@ -2008,8 +1938,6 @@ impl<'a, K, V> Entry<'a, K, V> { /// # Examples /// /// ``` - /// use std::collections::HashMap; - /// /// let mut map: HashMap<&str, u32> = HashMap::new(); /// /// map.entry("poneyland") @@ -2047,8 +1975,6 @@ impl<'a, K, V: Default> Entry<'a, K, V> { /// /// ``` /// # fn main() { - /// use std::collections::HashMap; - /// /// let mut map: HashMap<&str, Option> = HashMap::new(); /// map.entry("poneyland").or_default(); /// @@ -2070,8 +1996,6 @@ impl<'a, K, V> OccupiedEntry<'a, K, V> { /// # Examples /// /// ``` - /// use std::collections::HashMap; - /// /// let mut map: HashMap<&str, u32> = HashMap::new(); /// map.entry("poneyland").or_insert(12); /// assert_eq!(map.entry("poneyland").key(), &"poneyland"); @@ -2087,7 +2011,6 @@ impl<'a, K, V> OccupiedEntry<'a, K, V> { /// # Examples /// /// ``` - /// use std::collections::HashMap; /// use std::collections::hash_map::Entry; /// /// let mut map: HashMap<&str, u32> = HashMap::new(); @@ -2111,7 +2034,6 @@ impl<'a, K, V> OccupiedEntry<'a, K, V> { /// # Examples /// /// ``` - /// use std::collections::HashMap; /// use std::collections::hash_map::Entry; /// /// let mut map: HashMap<&str, u32> = HashMap::new(); @@ -2137,7 +2059,6 @@ impl<'a, K, V> OccupiedEntry<'a, K, V> { /// # Examples /// /// ``` - /// use std::collections::HashMap; /// use std::collections::hash_map::Entry; /// /// let mut map: HashMap<&str, u32> = HashMap::new(); @@ -2170,7 +2091,6 @@ impl<'a, K, V> OccupiedEntry<'a, K, V> { /// # Examples /// /// ``` - /// use std::collections::HashMap; /// use std::collections::hash_map::Entry; /// /// let mut map: HashMap<&str, u32> = HashMap::new(); @@ -2194,7 +2114,6 @@ impl<'a, K, V> OccupiedEntry<'a, K, V> { /// # Examples /// /// ``` - /// use std::collections::HashMap; /// use std::collections::hash_map::Entry; /// /// let mut map: HashMap<&str, u32> = HashMap::new(); @@ -2217,7 +2136,6 @@ impl<'a, K, V> OccupiedEntry<'a, K, V> { /// # Examples /// /// ``` - /// use std::collections::HashMap; /// use std::collections::hash_map::Entry; /// /// let mut map: HashMap<&str, u32> = HashMap::new(); @@ -2242,7 +2160,7 @@ impl<'a, K, V> OccupiedEntry<'a, K, V> { /// /// ``` /// #![feature(map_entry_replace)] - /// use std::collections::hash_map::{Entry, HashMap}; + /// use std::collections::hash_map::Entry; /// use std::rc::Rc; /// /// let mut map: HashMap, u32> = HashMap::new(); @@ -2268,7 +2186,7 @@ impl<'a, K, V> OccupiedEntry<'a, K, V> { /// /// ``` /// #![feature(map_entry_replace)] - /// use std::collections::hash_map::{Entry, HashMap}; + /// use std::collections::hash_map::Entry; /// use std::rc::Rc; /// /// let mut map: HashMap, u32> = HashMap::new(); @@ -2301,8 +2219,6 @@ impl<'a, K: 'a, V: 'a> VacantEntry<'a, K, V> { /// # Examples /// /// ``` - /// use std::collections::HashMap; - /// /// let mut map: HashMap<&str, u32> = HashMap::new(); /// assert_eq!(map.entry("poneyland").key(), &"poneyland"); /// ``` @@ -2317,7 +2233,6 @@ impl<'a, K: 'a, V: 'a> VacantEntry<'a, K, V> { /// # Examples /// /// ``` - /// use std::collections::HashMap; /// use std::collections::hash_map::Entry; /// /// let mut map: HashMap<&str, u32> = HashMap::new(); @@ -2338,7 +2253,6 @@ impl<'a, K: 'a, V: 'a> VacantEntry<'a, K, V> { /// # Examples /// /// ``` - /// use std::collections::HashMap; /// use std::collections::hash_map::Entry; /// /// let mut map: HashMap<&str, u32> = HashMap::new(); @@ -2405,7 +2319,6 @@ where /// # Examples /// /// ``` -/// use std::collections::HashMap; /// use std::collections::hash_map::RandomState; /// /// let s = RandomState::new(); diff --git a/src/libstd/prelude/v1.rs b/src/libstd/prelude/v1.rs index 3e4cf91127fc5..4990d1893a0ff 100644 --- a/src/libstd/prelude/v1.rs +++ b/src/libstd/prelude/v1.rs @@ -104,3 +104,6 @@ pub use crate::string::{String, ToString}; #[stable(feature = "rust1", since = "1.0.0")] #[doc(no_inline)] pub use crate::vec::Vec; +#[unstable(feature = "hashmap_prelude", issue = "0")] +#[doc(no_inline)] +pub use crate::collections::HashMap; diff --git a/src/libstd/process.rs b/src/libstd/process.rs index 000f80f99e7a9..c46be80b05757 100644 --- a/src/libstd/process.rs +++ b/src/libstd/process.rs @@ -575,7 +575,6 @@ impl Command { /// ```no_run /// use std::process::{Command, Stdio}; /// use std::env; - /// use std::collections::HashMap; /// /// let filtered_env : HashMap = /// env::vars().filter(|&(ref k, _)| diff --git a/src/libterm/terminfo/mod.rs b/src/libterm/terminfo/mod.rs index be90195065eb7..39e90add09113 100644 --- a/src/libterm/terminfo/mod.rs +++ b/src/libterm/terminfo/mod.rs @@ -1,6 +1,5 @@ //! Terminfo database interface. -use std::collections::HashMap; use std::env; use std::error; use std::fmt; diff --git a/src/libterm/terminfo/parser/compiled.rs b/src/libterm/terminfo/parser/compiled.rs index a8653a22f2538..5b9785e70d3c1 100644 --- a/src/libterm/terminfo/parser/compiled.rs +++ b/src/libterm/terminfo/parser/compiled.rs @@ -2,7 +2,6 @@ //! ncurses-compatible compiled terminfo format parsing (term(5)) -use std::collections::HashMap; use std::io; use std::io::prelude::*; use super::super::TermInfo; diff --git a/src/libtest/lib.rs b/src/libtest/lib.rs index ef66c4df99da7..d764ca25bba1a 100644 --- a/src/libtest/lib.rs +++ b/src/libtest/lib.rs @@ -1020,7 +1020,7 @@ pub fn run_tests(opts: &TestOpts, tests: Vec, mut callback: F) where F: FnMut(TestEvent) -> io::Result<()>, { - use std::collections::{self, HashMap}; + use std::collections; use std::hash::BuildHasherDefault; use std::sync::mpsc::RecvTimeoutError; // Use a deterministic hasher diff --git a/src/test/ui-fulldeps/issue-2804.rs b/src/test/ui-fulldeps/issue-2804.rs index a5345bbcd1465..e1ddee69eed63 100644 --- a/src/test/ui-fulldeps/issue-2804.rs +++ b/src/test/ui-fulldeps/issue-2804.rs @@ -6,7 +6,6 @@ extern crate serialize; -use std::collections::HashMap; use serialize::json::{self, Json}; use std::option; diff --git a/src/test/ui-fulldeps/regions-mock-tcx.rs b/src/test/ui-fulldeps/regions-mock-tcx.rs index 524c94a8555ec..60d8f9e1b34e7 100644 --- a/src/test/ui-fulldeps/regions-mock-tcx.rs +++ b/src/test/ui-fulldeps/regions-mock-tcx.rs @@ -17,7 +17,6 @@ extern crate libc; use TypeStructure::{TypeInt, TypeFunction}; use AstKind::{ExprInt, ExprVar, ExprLambda}; use arena::TypedArena; -use std::collections::HashMap; use std::mem; type Type<'tcx> = &'tcx TypeStructure<'tcx>; diff --git a/src/test/ui/borrowck/borrowck-borrowed-uniq-rvalue.rs b/src/test/ui/borrowck/borrowck-borrowed-uniq-rvalue.rs index a78c66f47cd14..aad1f0c138bae 100644 --- a/src/test/ui/borrowck/borrowck-borrowed-uniq-rvalue.rs +++ b/src/test/ui/borrowck/borrowck-borrowed-uniq-rvalue.rs @@ -2,7 +2,6 @@ #![feature(box_syntax)] -use std::collections::HashMap; fn main() { let tmp: Box<_>; diff --git a/src/test/ui/borrowck/borrowck-borrowed-uniq-rvalue.stderr b/src/test/ui/borrowck/borrowck-borrowed-uniq-rvalue.stderr index c91a4377b4c67..9299c1952d844 100644 --- a/src/test/ui/borrowck/borrowck-borrowed-uniq-rvalue.stderr +++ b/src/test/ui/borrowck/borrowck-borrowed-uniq-rvalue.stderr @@ -1,5 +1,5 @@ error[E0716]: temporary value dropped while borrowed - --> $DIR/borrowck-borrowed-uniq-rvalue.rs:10:28 + --> $DIR/borrowck-borrowed-uniq-rvalue.rs:9:28 | LL | buggy_map.insert(42, &*Box::new(1)); | ^^^^^^^^^^^ - temporary value is freed at the end of this statement diff --git a/src/test/ui/borrowck/index-mut-help.rs b/src/test/ui/borrowck/index-mut-help.rs index d57ef975d9634..b0ca415f91e78 100644 --- a/src/test/ui/borrowck/index-mut-help.rs +++ b/src/test/ui/borrowck/index-mut-help.rs @@ -3,7 +3,6 @@ fn main() { - use std::collections::HashMap; let mut map = HashMap::new(); map.insert("peter", "23".to_string()); diff --git a/src/test/ui/borrowck/index-mut-help.stderr b/src/test/ui/borrowck/index-mut-help.stderr index 47f2171f88c86..6266a08b440d5 100644 --- a/src/test/ui/borrowck/index-mut-help.stderr +++ b/src/test/ui/borrowck/index-mut-help.stderr @@ -1,5 +1,5 @@ error[E0596]: cannot borrow data in an index of `std::collections::HashMap<&str, std::string::String>` as mutable - --> $DIR/index-mut-help.rs:11:5 + --> $DIR/index-mut-help.rs:10:5 | LL | map["peter"].clear(); | ^^^^^^^^^^^^ cannot borrow as mutable @@ -7,7 +7,7 @@ LL | map["peter"].clear(); = help: trait `IndexMut` is required to modify indexed content, but it is not implemented for `std::collections::HashMap<&str, std::string::String>` error[E0594]: cannot assign to data in an index of `std::collections::HashMap<&str, std::string::String>` - --> $DIR/index-mut-help.rs:12:5 + --> $DIR/index-mut-help.rs:11:5 | LL | map["peter"] = "0".to_string(); | ^^^^^^^^^^^^ cannot assign @@ -15,7 +15,7 @@ LL | map["peter"] = "0".to_string(); = help: trait `IndexMut` is required to modify indexed content, but it is not implemented for `std::collections::HashMap<&str, std::string::String>` error[E0596]: cannot borrow data in an index of `std::collections::HashMap<&str, std::string::String>` as mutable - --> $DIR/index-mut-help.rs:13:13 + --> $DIR/index-mut-help.rs:12:13 | LL | let _ = &mut map["peter"]; | ^^^^^^^^^^^^^^^^^ cannot borrow as mutable diff --git a/src/test/ui/borrowck/return-local-binding-from-desugaring.rs b/src/test/ui/borrowck/return-local-binding-from-desugaring.rs index b2dcd54ec2e90..4aed474dc6500 100644 --- a/src/test/ui/borrowck/return-local-binding-from-desugaring.rs +++ b/src/test/ui/borrowck/return-local-binding-from-desugaring.rs @@ -13,7 +13,6 @@ // ``` // FIXME: ideally `LocalKind` would carry more information to more accurately explain the problem. -use std::collections::HashMap; use std::hash::Hash; fn group_by(xs: &mut I, f: F) -> HashMap> diff --git a/src/test/ui/borrowck/return-local-binding-from-desugaring.stderr b/src/test/ui/borrowck/return-local-binding-from-desugaring.stderr index 293dbe6281313..6dcc9420605e2 100644 --- a/src/test/ui/borrowck/return-local-binding-from-desugaring.stderr +++ b/src/test/ui/borrowck/return-local-binding-from-desugaring.stderr @@ -1,5 +1,5 @@ error[E0515]: cannot return value referencing local binding - --> $DIR/return-local-binding-from-desugaring.rs:30:5 + --> $DIR/return-local-binding-from-desugaring.rs:29:5 | LL | for ref x in xs { | -- local binding introduced here diff --git a/src/test/ui/closure_context/issue-42065.rs b/src/test/ui/closure_context/issue-42065.rs index c506600f4d931..68d7d53018814 100644 --- a/src/test/ui/closure_context/issue-42065.rs +++ b/src/test/ui/closure_context/issue-42065.rs @@ -1,5 +1,3 @@ -use std::collections::HashMap; - fn main() { let dict: HashMap = HashMap::new(); let debug_dump_dict = || { diff --git a/src/test/ui/closure_context/issue-42065.stderr b/src/test/ui/closure_context/issue-42065.stderr index 69d98654048cb..bc4362bf1a67b 100644 --- a/src/test/ui/closure_context/issue-42065.stderr +++ b/src/test/ui/closure_context/issue-42065.stderr @@ -1,5 +1,5 @@ error[E0382]: use of moved value: `debug_dump_dict` - --> $DIR/issue-42065.rs:11:5 + --> $DIR/issue-42065.rs:9:5 | LL | debug_dump_dict(); | --------------- value moved here @@ -7,7 +7,7 @@ LL | debug_dump_dict(); | ^^^^^^^^^^^^^^^ value used here after move | note: closure cannot be invoked more than once because it moves the variable `dict` out of its environment - --> $DIR/issue-42065.rs:6:29 + --> $DIR/issue-42065.rs:4:29 | LL | for (key, value) in dict { | ^^^^ diff --git a/src/test/ui/derived-errors/issue-31997-1.rs b/src/test/ui/derived-errors/issue-31997-1.rs index 90c1b498cea73..07bf63aa2f151 100644 --- a/src/test/ui/derived-errors/issue-31997-1.rs +++ b/src/test/ui/derived-errors/issue-31997-1.rs @@ -3,7 +3,7 @@ // only emit the E0433 error below, but right now we emit two. use std::io::prelude::*; -// use std::collections::HashMap; +// use std::collections::BTreeMap; use std::io; #[derive(Debug)] @@ -17,7 +17,7 @@ fn main() { let input = io::stdin(); let mut input = input.lock(); - let mut map = HashMap::new(); + let mut map = BTreeMap::new(); //~^ ERROR E0433 for line in input.lines() { diff --git a/src/test/ui/derived-errors/issue-31997-1.stderr b/src/test/ui/derived-errors/issue-31997-1.stderr index 6df748122a2eb..89f12443cf8d0 100644 --- a/src/test/ui/derived-errors/issue-31997-1.stderr +++ b/src/test/ui/derived-errors/issue-31997-1.stderr @@ -1,8 +1,8 @@ -error[E0433]: failed to resolve: use of undeclared type or module `HashMap` +error[E0433]: failed to resolve: use of undeclared type or module `BTreeMap` --> $DIR/issue-31997-1.rs:20:19 | -LL | let mut map = HashMap::new(); - | ^^^^^^^ use of undeclared type or module `HashMap` +LL | let mut map = BTreeMap::new(); + | ^^^^^^^^ use of undeclared type or module `BTreeMap` error: aborting due to previous error diff --git a/src/test/ui/drop/dropck_legal_cycles.rs b/src/test/ui/drop/dropck_legal_cycles.rs index a4f4c2666ac9a..ce8e06cc361f0 100644 --- a/src/test/ui/drop/dropck_legal_cycles.rs +++ b/src/test/ui/drop/dropck_legal_cycles.rs @@ -103,7 +103,6 @@ use std::cell::{Cell, RefCell}; use std::cmp::Ordering; use std::collections::BinaryHeap; -use std::collections::HashMap; use std::collections::LinkedList; use std::collections::VecDeque; use std::collections::btree_map::BTreeMap; diff --git a/src/test/ui/error-codes/E0433.rs b/src/test/ui/error-codes/E0433.rs index 9b54ec8c5cfde..115dd522b49e0 100644 --- a/src/test/ui/error-codes/E0433.rs +++ b/src/test/ui/error-codes/E0433.rs @@ -1,3 +1,3 @@ fn main () { - let map = HashMap::new(); //~ ERROR E0433 + let map = BTreeMap::new(); //~ ERROR E0433 } diff --git a/src/test/ui/error-codes/E0433.stderr b/src/test/ui/error-codes/E0433.stderr index d852e18838442..15fb7d3f2c097 100644 --- a/src/test/ui/error-codes/E0433.stderr +++ b/src/test/ui/error-codes/E0433.stderr @@ -1,8 +1,8 @@ -error[E0433]: failed to resolve: use of undeclared type or module `HashMap` +error[E0433]: failed to resolve: use of undeclared type or module `BTreeMap` --> $DIR/E0433.rs:2:15 | -LL | let map = HashMap::new(); - | ^^^^^^^ use of undeclared type or module `HashMap` +LL | let map = BTreeMap::new(); + | ^^^^^^^^ use of undeclared type or module `BTreeMap` error: aborting due to previous error diff --git a/src/test/ui/for-loop-while/foreach-external-iterators-hashmap-break-restart.rs b/src/test/ui/for-loop-while/foreach-external-iterators-hashmap-break-restart.rs index 5d690807e0505..2550c84105448 100644 --- a/src/test/ui/for-loop-while/foreach-external-iterators-hashmap-break-restart.rs +++ b/src/test/ui/for-loop-while/foreach-external-iterators-hashmap-break-restart.rs @@ -1,6 +1,5 @@ // run-pass -use std::collections::HashMap; // This is a fancy one: it uses an external iterator established // outside the loop, breaks, then _picks back up_ and continues diff --git a/src/test/ui/for-loop-while/foreach-external-iterators-hashmap.rs b/src/test/ui/for-loop-while/foreach-external-iterators-hashmap.rs index 9f2ca05cdb61c..bbfdcd9f4c560 100644 --- a/src/test/ui/for-loop-while/foreach-external-iterators-hashmap.rs +++ b/src/test/ui/for-loop-while/foreach-external-iterators-hashmap.rs @@ -1,6 +1,5 @@ // run-pass -use std::collections::HashMap; pub fn main() { let mut h = HashMap::new(); diff --git a/src/test/ui/hashmap-memory.rs b/src/test/ui/hashmap-memory.rs index 3129eb0da82f9..e1da633e9e8a7 100644 --- a/src/test/ui/hashmap-memory.rs +++ b/src/test/ui/hashmap-memory.rs @@ -16,7 +16,6 @@ pub fn map(filename: String, mut emit: map_reduce::putter) { } mod map_reduce { - use std::collections::HashMap; use std::sync::mpsc::{channel, Sender}; use std::str; use std::thread; diff --git a/src/test/ui/hrtb/hrtb-debruijn-in-receiver.rs b/src/test/ui/hrtb/hrtb-debruijn-in-receiver.rs index 05d3e1a434e69..b0a756c700cef 100644 --- a/src/test/ui/hrtb/hrtb-debruijn-in-receiver.rs +++ b/src/test/ui/hrtb/hrtb-debruijn-in-receiver.rs @@ -1,7 +1,6 @@ // Test the case where the `Self` type has a bound lifetime that must // be adjusted in the fn signature. Issue #19537. -use std::collections::HashMap; struct Foo<'a> { map: HashMap diff --git a/src/test/ui/hrtb/hrtb-debruijn-in-receiver.stderr b/src/test/ui/hrtb/hrtb-debruijn-in-receiver.stderr index 70d5b3c2ec58c..b81294b5f0501 100644 --- a/src/test/ui/hrtb/hrtb-debruijn-in-receiver.stderr +++ b/src/test/ui/hrtb/hrtb-debruijn-in-receiver.stderr @@ -1,5 +1,5 @@ error[E0499]: cannot borrow `foo` as mutable more than once at a time - --> $DIR/hrtb-debruijn-in-receiver.rs:17:5 + --> $DIR/hrtb-debruijn-in-receiver.rs:16:5 | LL | foo.insert(); | --- first mutable borrow occurs here diff --git a/src/test/ui/issues/auxiliary/issue-2631-a.rs b/src/test/ui/issues/auxiliary/issue-2631-a.rs index 1e8211bfaa783..aaa9d74432763 100644 --- a/src/test/ui/issues/auxiliary/issue-2631-a.rs +++ b/src/test/ui/issues/auxiliary/issue-2631-a.rs @@ -2,7 +2,6 @@ #![crate_type = "lib"] use std::cell::RefCell; -use std::collections::HashMap; use std::rc::Rc; pub type header_map = HashMap>>>>; diff --git a/src/test/ui/issues/auxiliary/issue-31702-2.rs b/src/test/ui/issues/auxiliary/issue-31702-2.rs index d360ae0ca7e37..b70e83b73d9a2 100644 --- a/src/test/ui/issues/auxiliary/issue-31702-2.rs +++ b/src/test/ui/issues/auxiliary/issue-31702-2.rs @@ -2,7 +2,6 @@ extern crate issue_31702_1; -use std::collections::HashMap; use issue_31702_1::U256; pub struct Ethash { diff --git a/src/test/ui/issues/auxiliary/issue-5521.rs b/src/test/ui/issues/auxiliary/issue-5521.rs index c2f81779b359d..f707bc5bc71f7 100644 --- a/src/test/ui/issues/auxiliary/issue-5521.rs +++ b/src/test/ui/issues/auxiliary/issue-5521.rs @@ -1,3 +1 @@ -use std::collections::HashMap; - pub type map = Box>; diff --git a/src/test/ui/issues/issue-12909.rs b/src/test/ui/issues/issue-12909.rs index a68d73a004f5d..e00ffb2214e78 100644 --- a/src/test/ui/issues/issue-12909.rs +++ b/src/test/ui/issues/issue-12909.rs @@ -2,7 +2,6 @@ #![allow(unused_variables)] // pretty-expanded FIXME #23616 -use std::collections::HashMap; fn copy(&x: &T) -> T { x diff --git a/src/test/ui/issues/issue-1696.rs b/src/test/ui/issues/issue-1696.rs index b5d77df3a1864..37e07a4f3b5d6 100644 --- a/src/test/ui/issues/issue-1696.rs +++ b/src/test/ui/issues/issue-1696.rs @@ -1,5 +1,4 @@ // run-pass -use std::collections::HashMap; pub fn main() { let mut m = HashMap::new(); diff --git a/src/test/ui/issues/issue-17728.rs b/src/test/ui/issues/issue-17728.rs index 15cea1d609d53..81a057275c43b 100644 --- a/src/test/ui/issues/issue-17728.rs +++ b/src/test/ui/issues/issue-17728.rs @@ -1,5 +1,4 @@ use std::fmt::{Debug, Formatter, Error}; -use std::collections::HashMap; trait HasInventory { fn getInventory<'s>(&'s self) -> &'s mut Inventory; diff --git a/src/test/ui/issues/issue-17728.stderr b/src/test/ui/issues/issue-17728.stderr index 56dfb89456fe5..5c680de026153 100644 --- a/src/test/ui/issues/issue-17728.stderr +++ b/src/test/ui/issues/issue-17728.stderr @@ -1,5 +1,5 @@ error[E0623]: lifetime mismatch - --> $DIR/issue-17728.rs:15:28 + --> $DIR/issue-17728.rs:14:28 | LL | fn attemptTraverse(&self, room: &Room, directionStr: &str) -> Result<&Room, &str> { | ----- ------------------- @@ -10,7 +10,7 @@ LL | Some(entry) => Ok(entry), | ^^^^^^^^^ ...but data from `room` is returned here error[E0308]: match arms have incompatible types - --> $DIR/issue-17728.rs:109:14 + --> $DIR/issue-17728.rs:108:14 | LL | / match to_parse { LL | | "w" | "west" => RoomDirection::West, diff --git a/src/test/ui/issues/issue-21763.rs b/src/test/ui/issues/issue-21763.rs index 29ee5f91717d5..69ac37ba94ca5 100644 --- a/src/test/ui/issues/issue-21763.rs +++ b/src/test/ui/issues/issue-21763.rs @@ -1,6 +1,5 @@ // Regression test for HashMap only impl'ing Send/Sync if its contents do -use std::collections::HashMap; use std::rc::Rc; fn foo() {} diff --git a/src/test/ui/issues/issue-21763.stderr b/src/test/ui/issues/issue-21763.stderr index 87c048fdf4c11..da45540b237b3 100644 --- a/src/test/ui/issues/issue-21763.stderr +++ b/src/test/ui/issues/issue-21763.stderr @@ -1,5 +1,5 @@ error[E0277]: `std::rc::Rc<()>` cannot be sent between threads safely - --> $DIR/issue-21763.rs:9:5 + --> $DIR/issue-21763.rs:8:5 | LL | foo::, Rc<()>>>(); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `std::rc::Rc<()>` cannot be sent between threads safely @@ -10,7 +10,7 @@ LL | foo::, Rc<()>>>(); = note: required because it appears within the type `hashbrown::map::HashMap, std::rc::Rc<()>, std::collections::hash_map::RandomState>` = note: required because it appears within the type `std::collections::HashMap, std::rc::Rc<()>>` note: required by `foo` - --> $DIR/issue-21763.rs:6:1 + --> $DIR/issue-21763.rs:5:1 | LL | fn foo() {} | ^^^^^^^^^^^^^^^^^ diff --git a/src/test/ui/issues/issue-22781.rs b/src/test/ui/issues/issue-22781.rs index 37f40aa042140..e04c616acc310 100644 --- a/src/test/ui/issues/issue-22781.rs +++ b/src/test/ui/issues/issue-22781.rs @@ -1,6 +1,5 @@ // build-pass (FIXME(62277): could be check-pass?) #![allow(unused_variables)] -use std::collections::HashMap; use std::collections::hash_map::Entry::Vacant; pub fn foo() { diff --git a/src/test/ui/issues/issue-23036.rs b/src/test/ui/issues/issue-23036.rs index a307e7eed959e..3635aa95dce93 100644 --- a/src/test/ui/issues/issue-23036.rs +++ b/src/test/ui/issues/issue-23036.rs @@ -1,7 +1,6 @@ // run-pass // ignore-cloudabi no std::path -use std::collections::HashMap; use std::path::Path; fn main() { diff --git a/src/test/ui/issues/issue-23649-2.rs b/src/test/ui/issues/issue-23649-2.rs index f5fb8b650201a..5294bfa31f52c 100644 --- a/src/test/ui/issues/issue-23649-2.rs +++ b/src/test/ui/issues/issue-23649-2.rs @@ -1,7 +1,6 @@ // run-pass // ignore-cloudabi no std::path -use std::collections::HashMap; use std::path::{Path, PathBuf}; fn main() { diff --git a/src/test/ui/issues/issue-2631-b.rs b/src/test/ui/issues/issue-2631-b.rs index c7f6728e3f2c8..cf10f919e610a 100644 --- a/src/test/ui/issues/issue-2631-b.rs +++ b/src/test/ui/issues/issue-2631-b.rs @@ -6,7 +6,6 @@ extern crate req; use req::request; use std::cell::RefCell; -use std::collections::HashMap; use std::rc::Rc; pub fn main() { diff --git a/src/test/ui/issues/issue-2804-2.rs b/src/test/ui/issues/issue-2804-2.rs index 68933fc2e8a3b..b6c527d2dbd3e 100644 --- a/src/test/ui/issues/issue-2804-2.rs +++ b/src/test/ui/issues/issue-2804-2.rs @@ -3,7 +3,6 @@ // Minimized version of issue-2804.rs. Both check that callee IDs don't // clobber the previous node ID in a macro expr -use std::collections::HashMap; fn add_interfaces(managed_ip: String, device: HashMap) { println!("{}, {}", managed_ip, device["interfaces"]); diff --git a/src/test/ui/issues/issue-3026.rs b/src/test/ui/issues/issue-3026.rs index 1dea8134fba2f..91b8518b65d63 100644 --- a/src/test/ui/issues/issue-3026.rs +++ b/src/test/ui/issues/issue-3026.rs @@ -3,7 +3,6 @@ #![feature(box_syntax)] -use std::collections::HashMap; pub fn main() { let x: Box<_>; diff --git a/src/test/ui/issues/issue-33941.rs b/src/test/ui/issues/issue-33941.rs index ccaa6334856b4..145f21c911eac 100644 --- a/src/test/ui/issues/issue-33941.rs +++ b/src/test/ui/issues/issue-33941.rs @@ -1,5 +1,3 @@ -use std::collections::HashMap; - fn main() { for _ in HashMap::new().iter().cloned() {} //~ ERROR type mismatch //~^ ERROR type mismatch diff --git a/src/test/ui/issues/issue-33941.stderr b/src/test/ui/issues/issue-33941.stderr index 596921e526d96..076593a78b5cd 100644 --- a/src/test/ui/issues/issue-33941.stderr +++ b/src/test/ui/issues/issue-33941.stderr @@ -1,5 +1,5 @@ error[E0271]: type mismatch resolving ` as std::iter::Iterator>::Item == &_` - --> $DIR/issue-33941.rs:4:36 + --> $DIR/issue-33941.rs:2:36 | LL | for _ in HashMap::new().iter().cloned() {} | ^^^^^^ expected tuple, found reference @@ -8,7 +8,7 @@ LL | for _ in HashMap::new().iter().cloned() {} found type `&_` error[E0271]: type mismatch resolving ` as std::iter::Iterator>::Item == &_` - --> $DIR/issue-33941.rs:4:14 + --> $DIR/issue-33941.rs:2:14 | LL | for _ in HashMap::new().iter().cloned() {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected tuple, found reference diff --git a/src/test/ui/issues/issue-3559.rs b/src/test/ui/issues/issue-3559.rs index 9d498584a9d1d..52622d207e4f6 100644 --- a/src/test/ui/issues/issue-3559.rs +++ b/src/test/ui/issues/issue-3559.rs @@ -1,5 +1,4 @@ // run-pass -use std::collections::HashMap; fn check_strs(actual: &str, expected: &str) -> bool { if actual != expected { diff --git a/src/test/ui/issues/issue-41726.rs b/src/test/ui/issues/issue-41726.rs index 39631912c00e7..a3c728239b9bd 100644 --- a/src/test/ui/issues/issue-41726.rs +++ b/src/test/ui/issues/issue-41726.rs @@ -1,4 +1,3 @@ -use std::collections::HashMap; fn main() { let things: HashMap> = HashMap::new(); for src in things.keys() { diff --git a/src/test/ui/issues/issue-41726.stderr b/src/test/ui/issues/issue-41726.stderr index aa7f23511dd82..c6b424d54542c 100644 --- a/src/test/ui/issues/issue-41726.stderr +++ b/src/test/ui/issues/issue-41726.stderr @@ -1,5 +1,5 @@ error[E0596]: cannot borrow data in an index of `std::collections::HashMap>` as mutable - --> $DIR/issue-41726.rs:5:9 + --> $DIR/issue-41726.rs:4:9 | LL | things[src.as_str()].sort(); | ^^^^^^^^^^^^^^^^^^^^ cannot borrow as mutable diff --git a/src/test/ui/issues/issue-51301.rs b/src/test/ui/issues/issue-51301.rs index 7e0a5190fcd8a..d547fb7163ca2 100644 --- a/src/test/ui/issues/issue-51301.rs +++ b/src/test/ui/issues/issue-51301.rs @@ -1,5 +1,4 @@ use std::any::TypeId; -use std::collections::HashMap; use std::hash::Hash; trait State { diff --git a/src/test/ui/issues/issue-51301.stderr b/src/test/ui/issues/issue-51301.stderr index f3decf7a9913c..7f16413cd8040 100644 --- a/src/test/ui/issues/issue-51301.stderr +++ b/src/test/ui/issues/issue-51301.stderr @@ -1,5 +1,5 @@ error[E0507]: cannot move out of a shared reference - --> $DIR/issue-51301.rs:25:20 + --> $DIR/issue-51301.rs:24:20 | LL | .find(|(&event_type, _)| event == event_type) | ^^----------^^^^ diff --git a/src/test/ui/issues/issue-52126-assign-op-invariance.rs b/src/test/ui/issues/issue-52126-assign-op-invariance.rs index c96cfdf3cd164..8668f9b080ab2 100644 --- a/src/test/ui/issues/issue-52126-assign-op-invariance.rs +++ b/src/test/ui/issues/issue-52126-assign-op-invariance.rs @@ -6,7 +6,6 @@ // parameter to be invariant with respect to the overall type, not // covariant. -use std::collections::HashMap; use std::ops::AddAssign; pub fn main() { diff --git a/src/test/ui/issues/issue-52126-assign-op-invariance.stderr b/src/test/ui/issues/issue-52126-assign-op-invariance.stderr index d231f621e59c7..9082699711cec 100644 --- a/src/test/ui/issues/issue-52126-assign-op-invariance.stderr +++ b/src/test/ui/issues/issue-52126-assign-op-invariance.stderr @@ -1,5 +1,5 @@ error[E0597]: `line` does not live long enough - --> $DIR/issue-52126-assign-op-invariance.rs:34:28 + --> $DIR/issue-52126-assign-op-invariance.rs:33:28 | LL | let v: Vec<&str> = line.split_whitespace().collect(); | ^^^^ borrowed value does not live long enough diff --git a/src/test/ui/issues/issue-57781.rs b/src/test/ui/issues/issue-57781.rs index f5015aaf5d81f..a603a7b6c558e 100644 --- a/src/test/ui/issues/issue-57781.rs +++ b/src/test/ui/issues/issue-57781.rs @@ -1,7 +1,6 @@ // run-pass use std::cell::UnsafeCell; -use std::collections::HashMap; struct OnceCell { _value: UnsafeCell>, diff --git a/src/test/ui/issues/issue-6128.rs b/src/test/ui/issues/issue-6128.rs index 8859fbe6afb7b..94f067072da3d 100644 --- a/src/test/ui/issues/issue-6128.rs +++ b/src/test/ui/issues/issue-6128.rs @@ -2,7 +2,6 @@ #![feature(box_syntax)] -use std::collections::HashMap; trait Graph { fn f(&self, _: Edge); diff --git a/src/test/ui/issues/issue-7660.rs b/src/test/ui/issues/issue-7660.rs index ad0b8ecff39e9..1a1e418ca54ef 100644 --- a/src/test/ui/issues/issue-7660.rs +++ b/src/test/ui/issues/issue-7660.rs @@ -5,7 +5,6 @@ // pretty-expanded FIXME #23616 -use std::collections::HashMap; struct A(isize, isize); diff --git a/src/test/ui/map-types.rs b/src/test/ui/map-types.rs index c355a0e420f8f..75f6fc3e04f98 100644 --- a/src/test/ui/map-types.rs +++ b/src/test/ui/map-types.rs @@ -1,6 +1,5 @@ #![feature(box_syntax)] -use std::collections::HashMap; trait Map { diff --git a/src/test/ui/map-types.stderr b/src/test/ui/map-types.stderr index 21dac1ab1edfb..8e965afee1adb 100644 --- a/src/test/ui/map-types.stderr +++ b/src/test/ui/map-types.stderr @@ -1,5 +1,5 @@ error[E0277]: the trait bound `std::boxed::Box>: Map` is not satisfied - --> $DIR/map-types.rs:17:41 + --> $DIR/map-types.rs:16:41 | LL | let y: Box> = Box::new(x); | ^^^^^^^^^^^ the trait `Map` is not implemented for `std::boxed::Box>` diff --git a/src/test/ui/mismatched_types/closure-arg-count-expected-type-issue-47244.fixed b/src/test/ui/mismatched_types/closure-arg-count-expected-type-issue-47244.fixed index efba0543b483e..9cb5cba931894 100644 --- a/src/test/ui/mismatched_types/closure-arg-count-expected-type-issue-47244.fixed +++ b/src/test/ui/mismatched_types/closure-arg-count-expected-type-issue-47244.fixed @@ -7,7 +7,6 @@ // run-rustfix -use std::collections::HashMap; fn main() { let mut m = HashMap::new(); diff --git a/src/test/ui/mismatched_types/closure-arg-count-expected-type-issue-47244.rs b/src/test/ui/mismatched_types/closure-arg-count-expected-type-issue-47244.rs index 3ddb93d12f7d8..fb58cc23c4094 100644 --- a/src/test/ui/mismatched_types/closure-arg-count-expected-type-issue-47244.rs +++ b/src/test/ui/mismatched_types/closure-arg-count-expected-type-issue-47244.rs @@ -7,7 +7,6 @@ // run-rustfix -use std::collections::HashMap; fn main() { let mut m = HashMap::new(); diff --git a/src/test/ui/mismatched_types/closure-arg-count-expected-type-issue-47244.stderr b/src/test/ui/mismatched_types/closure-arg-count-expected-type-issue-47244.stderr index 00a4f9d48ffe5..93215b9585120 100644 --- a/src/test/ui/mismatched_types/closure-arg-count-expected-type-issue-47244.stderr +++ b/src/test/ui/mismatched_types/closure-arg-count-expected-type-issue-47244.stderr @@ -1,5 +1,5 @@ error[E0593]: closure is expected to take a single 2-tuple as argument, but it takes 2 distinct arguments - --> $DIR/closure-arg-count-expected-type-issue-47244.rs:16:23 + --> $DIR/closure-arg-count-expected-type-issue-47244.rs:15:23 | LL | let _n = m.iter().map(|_, b| { | ^^^ ------ takes 2 distinct arguments diff --git a/src/test/ui/nll/issue-21114-ebfull.rs b/src/test/ui/nll/issue-21114-ebfull.rs index 5a5db1a17f3f4..9a3292728b4af 100644 --- a/src/test/ui/nll/issue-21114-ebfull.rs +++ b/src/test/ui/nll/issue-21114-ebfull.rs @@ -1,6 +1,5 @@ // build-pass (FIXME(62277): could be check-pass?) -use std::collections::HashMap; use std::sync::Mutex; fn i_used_to_be_able_to(foo: &Mutex>) -> Vec<(usize, usize)> { diff --git a/src/test/ui/nll/process_or_insert_default.rs b/src/test/ui/nll/process_or_insert_default.rs index 84ac9bbd0ddc4..a382c409abe69 100644 --- a/src/test/ui/nll/process_or_insert_default.rs +++ b/src/test/ui/nll/process_or_insert_default.rs @@ -1,6 +1,5 @@ // run-pass -use std::collections::HashMap; fn process_or_insert_default(map: &mut HashMap, key: usize) { match map.get_mut(&key) { diff --git a/src/test/ui/process/process-envs.rs b/src/test/ui/process/process-envs.rs index 62a4733f89a03..adb776cd353f7 100644 --- a/src/test/ui/process/process-envs.rs +++ b/src/test/ui/process/process-envs.rs @@ -6,7 +6,6 @@ use std::process::Command; use std::env; -use std::collections::HashMap; #[cfg(all(unix, not(target_os="android")))] pub fn env_cmd() -> Command { diff --git a/src/test/ui/regions/regions-refcell.rs b/src/test/ui/regions/regions-refcell.rs index 39ad0c53f1e98..3bd5b667bd636 100644 --- a/src/test/ui/regions/regions-refcell.rs +++ b/src/test/ui/regions/regions-refcell.rs @@ -4,7 +4,6 @@ // semantics. -use std::collections::HashMap; use std::cell::RefCell; // This version does not yet work (associated type issues)... diff --git a/src/test/ui/resolve/use_suggestion_placement.rs b/src/test/ui/resolve/use_suggestion_placement.rs index 9b8b9d88c7989..332966b52f386 100644 --- a/src/test/ui/resolve/use_suggestion_placement.rs +++ b/src/test/ui/resolve/use_suggestion_placement.rs @@ -24,5 +24,5 @@ fn main() { } fn foo() { - type Dict = HashMap; //~ ERROR cannot find + type Dict = BTreeMap; //~ ERROR cannot find } diff --git a/src/test/ui/resolve/use_suggestion_placement.stderr b/src/test/ui/resolve/use_suggestion_placement.stderr index 258b989387c50..47daaac9b923d 100644 --- a/src/test/ui/resolve/use_suggestion_placement.stderr +++ b/src/test/ui/resolve/use_suggestion_placement.stderr @@ -18,16 +18,16 @@ help: possible candidate is found in another module, you can import it into scop LL | use m::A; | -error[E0412]: cannot find type `HashMap` in this scope +error[E0412]: cannot find type `BTreeMap` in this scope --> $DIR/use_suggestion_placement.rs:27:23 | -LL | type Dict = HashMap; - | ^^^^^^^ not found in this scope +LL | type Dict = BTreeMap; + | ^^^^^^^^ not found in this scope help: possible candidates are found in other modules, you can import them into scope | -LL | use std::collections::HashMap; +LL | use std::collections::BTreeMap; | -LL | use std::collections::hash_map::HashMap; +LL | use std::collections::btree_map::BTreeMap; | error: aborting due to 3 previous errors diff --git a/src/test/ui/threads-sendsync/send_str_hashmap.rs b/src/test/ui/threads-sendsync/send_str_hashmap.rs index 7d4cca8ad746b..d6bca8c82ac93 100644 --- a/src/test/ui/threads-sendsync/send_str_hashmap.rs +++ b/src/test/ui/threads-sendsync/send_str_hashmap.rs @@ -1,5 +1,4 @@ // run-pass -use std::collections::HashMap; use std::borrow::Cow; use std::borrow::Cow::Borrowed as B; diff --git a/src/test/ui/threads-sendsync/sync-send-iterators-in-libcollections.rs b/src/test/ui/threads-sendsync/sync-send-iterators-in-libcollections.rs index fd53bb607f79d..b0fabbda91444 100644 --- a/src/test/ui/threads-sendsync/sync-send-iterators-in-libcollections.rs +++ b/src/test/ui/threads-sendsync/sync-send-iterators-in-libcollections.rs @@ -7,7 +7,6 @@ use std::collections::BinaryHeap; use std::collections::{BTreeMap, BTreeSet}; use std::collections::LinkedList; use std::collections::VecDeque; -use std::collections::HashMap; use std::collections::HashSet; use std::mem; From e351f051a17f61a67c4454a6cb30cb87802f9772 Mon Sep 17 00:00:00 2001 From: Lzu Tao Date: Sat, 10 Aug 2019 15:47:47 +0000 Subject: [PATCH 2/3] Reword comment about alloc prelude --- src/libstd/prelude/v1.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libstd/prelude/v1.rs b/src/libstd/prelude/v1.rs index 4990d1893a0ff..d2b3753f2aecc 100644 --- a/src/libstd/prelude/v1.rs +++ b/src/libstd/prelude/v1.rs @@ -86,8 +86,8 @@ pub use core::prelude::v1::{ test_case, }; -// The file so far is equivalent to src/libcore/prelude/v1.rs, -// and below to src/liballoc/prelude.rs. +// The file so far is equivalent to `src/libcore/prelude/v1.rs`, +// and below to `src/liballoc/prelude/v1.rs` (except `HashMap`). // Those files are duplicated rather than using glob imports // because we want docs to show these re-exports as pointing to within `std`. From 0fb8f5fcc5075b79bd32cd8c3793dc10192d01f7 Mon Sep 17 00:00:00 2001 From: Lzu Tao Date: Sun, 18 Aug 2019 14:21:26 +0000 Subject: [PATCH 3/3] Add HashSet to prelude --- src/libstd/collections/hash/set.rs | 62 ------------------------------ src/libstd/prelude/v1.rs | 3 ++ src/libstd/sys_common/poison.rs | 1 - 3 files changed, 3 insertions(+), 63 deletions(-) diff --git a/src/libstd/collections/hash/set.rs b/src/libstd/collections/hash/set.rs index 26db651ef8911..2c8e85f78a7b3 100644 --- a/src/libstd/collections/hash/set.rs +++ b/src/libstd/collections/hash/set.rs @@ -37,7 +37,6 @@ use super::map::{self, HashMap, Keys, RandomState}; /// # Examples /// /// ``` -/// use std::collections::HashSet; /// // Type inference lets us omit an explicit type signature (which /// // would be `HashSet` in this example). /// let mut books = HashSet::new(); @@ -68,7 +67,6 @@ use super::map::{self, HashMap, Keys, RandomState}; /// future be implied by [`Eq`]. /// /// ``` -/// use std::collections::HashSet; /// #[derive(Hash, Eq, PartialEq, Debug)] /// struct Viking { /// name: String, @@ -91,8 +89,6 @@ use super::map::{self, HashMap, Keys, RandomState}; /// A `HashSet` with fixed list of elements can be initialized from an array: /// /// ``` -/// use std::collections::HashSet; -/// /// fn main() { /// let viking_names: HashSet<&'static str> = /// [ "Einar", "Olaf", "Harald" ].iter().cloned().collect(); @@ -121,7 +117,6 @@ impl HashSet { /// # Examples /// /// ``` - /// use std::collections::HashSet; /// let set: HashSet = HashSet::new(); /// ``` #[inline] @@ -138,7 +133,6 @@ impl HashSet { /// # Examples /// /// ``` - /// use std::collections::HashSet; /// let set: HashSet = HashSet::with_capacity(10); /// assert!(set.capacity() >= 10); /// ``` @@ -155,7 +149,6 @@ impl HashSet { /// # Examples /// /// ``` - /// use std::collections::HashSet; /// let set: HashSet = HashSet::with_capacity(100); /// assert!(set.capacity() >= 100); /// ``` @@ -171,7 +164,6 @@ impl HashSet { /// # Examples /// /// ``` - /// use std::collections::HashSet; /// let mut set = HashSet::new(); /// set.insert("a"); /// set.insert("b"); @@ -192,8 +184,6 @@ impl HashSet { /// # Examples /// /// ``` - /// use std::collections::HashSet; - /// /// let mut v = HashSet::new(); /// assert_eq!(v.len(), 0); /// v.insert(1); @@ -210,8 +200,6 @@ impl HashSet { /// # Examples /// /// ``` - /// use std::collections::HashSet; - /// /// let mut v = HashSet::new(); /// assert!(v.is_empty()); /// v.insert(1); @@ -228,8 +216,6 @@ impl HashSet { /// # Examples /// /// ``` - /// use std::collections::HashSet; - /// /// let mut set: HashSet<_> = [1, 2, 3].iter().cloned().collect(); /// assert!(!set.is_empty()); /// @@ -251,8 +237,6 @@ impl HashSet { /// # Examples /// /// ``` - /// use std::collections::HashSet; - /// /// let mut v = HashSet::new(); /// v.insert(1); /// v.clear(); @@ -282,7 +266,6 @@ impl HashSet /// # Examples /// /// ``` - /// use std::collections::HashSet; /// use std::collections::hash_map::RandomState; /// /// let s = RandomState::new(); @@ -309,7 +292,6 @@ impl HashSet /// # Examples /// /// ``` - /// use std::collections::HashSet; /// use std::collections::hash_map::RandomState; /// /// let s = RandomState::new(); @@ -329,7 +311,6 @@ impl HashSet /// # Examples /// /// ``` - /// use std::collections::HashSet; /// use std::collections::hash_map::RandomState; /// /// let hasher = RandomState::new(); @@ -353,7 +334,6 @@ impl HashSet /// # Examples /// /// ``` - /// use std::collections::HashSet; /// let mut set: HashSet = HashSet::new(); /// set.reserve(10); /// assert!(set.capacity() >= 10); @@ -377,7 +357,6 @@ impl HashSet /// /// ``` /// #![feature(try_reserve)] - /// use std::collections::HashSet; /// let mut set: HashSet = HashSet::new(); /// set.try_reserve(10).expect("why is the test harness OOMing on 10 bytes?"); /// ``` @@ -394,8 +373,6 @@ impl HashSet /// # Examples /// /// ``` - /// use std::collections::HashSet; - /// /// let mut set = HashSet::with_capacity(100); /// set.insert(1); /// set.insert(2); @@ -420,8 +397,6 @@ impl HashSet /// /// ``` /// #![feature(shrink_to)] - /// use std::collections::HashSet; - /// /// let mut set = HashSet::with_capacity(100); /// set.insert(1); /// set.insert(2); @@ -443,7 +418,6 @@ impl HashSet /// # Examples /// /// ``` - /// use std::collections::HashSet; /// let a: HashSet<_> = [1, 2, 3].iter().cloned().collect(); /// let b: HashSet<_> = [4, 2, 3, 4].iter().cloned().collect(); /// @@ -475,7 +449,6 @@ impl HashSet /// # Examples /// /// ``` - /// use std::collections::HashSet; /// let a: HashSet<_> = [1, 2, 3].iter().cloned().collect(); /// let b: HashSet<_> = [4, 2, 3, 4].iter().cloned().collect(); /// @@ -504,7 +477,6 @@ impl HashSet /// # Examples /// /// ``` - /// use std::collections::HashSet; /// let a: HashSet<_> = [1, 2, 3].iter().cloned().collect(); /// let b: HashSet<_> = [4, 2, 3, 4].iter().cloned().collect(); /// @@ -538,7 +510,6 @@ impl HashSet /// # Examples /// /// ``` - /// use std::collections::HashSet; /// let a: HashSet<_> = [1, 2, 3].iter().cloned().collect(); /// let b: HashSet<_> = [4, 2, 3, 4].iter().cloned().collect(); /// @@ -573,8 +544,6 @@ impl HashSet /// # Examples /// /// ``` - /// use std::collections::HashSet; - /// /// let set: HashSet<_> = [1, 2, 3].iter().cloned().collect(); /// assert_eq!(set.contains(&1), true); /// assert_eq!(set.contains(&4), false); @@ -600,8 +569,6 @@ impl HashSet /// # Examples /// /// ``` - /// use std::collections::HashSet; - /// /// let set: HashSet<_> = [1, 2, 3].iter().cloned().collect(); /// assert_eq!(set.get(&2), Some(&2)); /// assert_eq!(set.get(&4), None); @@ -626,8 +593,6 @@ impl HashSet /// ``` /// #![feature(hash_set_entry)] /// - /// use std::collections::HashSet; - /// /// let mut set: HashSet<_> = [1, 2, 3].iter().cloned().collect(); /// assert_eq!(set.len(), 3); /// assert_eq!(set.get_or_insert(2), &2); @@ -650,8 +615,6 @@ impl HashSet /// ``` /// #![feature(hash_set_entry)] /// - /// use std::collections::HashSet; - /// /// let mut set: HashSet = ["cat", "dog", "horse"] /// .iter().map(|&pet| pet.to_owned()).collect(); /// @@ -680,8 +643,6 @@ impl HashSet /// # Examples /// /// ``` - /// use std::collections::HashSet; - /// /// let a: HashSet<_> = [1, 2, 3].iter().cloned().collect(); /// let mut b = HashSet::new(); /// @@ -706,8 +667,6 @@ impl HashSet /// # Examples /// /// ``` - /// use std::collections::HashSet; - /// /// let sup: HashSet<_> = [1, 2, 3].iter().cloned().collect(); /// let mut set = HashSet::new(); /// @@ -732,8 +691,6 @@ impl HashSet /// # Examples /// /// ``` - /// use std::collections::HashSet; - /// /// let sub: HashSet<_> = [1, 2].iter().cloned().collect(); /// let mut set = HashSet::new(); /// @@ -761,8 +718,6 @@ impl HashSet /// # Examples /// /// ``` - /// use std::collections::HashSet; - /// /// let mut set = HashSet::new(); /// /// assert_eq!(set.insert(2), true); @@ -781,8 +736,6 @@ impl HashSet /// # Examples /// /// ``` - /// use std::collections::HashSet; - /// /// let mut set = HashSet::new(); /// set.insert(Vec::::new()); /// @@ -812,8 +765,6 @@ impl HashSet /// # Examples /// /// ``` - /// use std::collections::HashSet; - /// /// let mut set = HashSet::new(); /// /// set.insert(2); @@ -841,8 +792,6 @@ impl HashSet /// # Examples /// /// ``` - /// use std::collections::HashSet; - /// /// let mut set: HashSet<_> = [1, 2, 3].iter().cloned().collect(); /// assert_eq!(set.take(&2), Some(2)); /// assert_eq!(set.take(&2), None); @@ -866,8 +815,6 @@ impl HashSet /// # Examples /// /// ``` - /// use std::collections::HashSet; - /// /// let xs = [1,2,3,4,5,6]; /// let mut set: HashSet = xs.iter().cloned().collect(); /// set.retain(|&k| k % 2 == 0); @@ -971,8 +918,6 @@ impl BitOr<&HashSet> for &HashSet /// # Examples /// /// ``` - /// use std::collections::HashSet; - /// /// let a: HashSet<_> = vec![1, 2, 3].into_iter().collect(); /// let b: HashSet<_> = vec![3, 4, 5].into_iter().collect(); /// @@ -1003,8 +948,6 @@ impl BitAnd<&HashSet> for &HashSet /// # Examples /// /// ``` - /// use std::collections::HashSet; - /// /// let a: HashSet<_> = vec![1, 2, 3].into_iter().collect(); /// let b: HashSet<_> = vec![2, 3, 4].into_iter().collect(); /// @@ -1035,8 +978,6 @@ impl BitXor<&HashSet> for &HashSet /// # Examples /// /// ``` - /// use std::collections::HashSet; - /// /// let a: HashSet<_> = vec![1, 2, 3].into_iter().collect(); /// let b: HashSet<_> = vec![3, 4, 5].into_iter().collect(); /// @@ -1067,8 +1008,6 @@ impl Sub<&HashSet> for &HashSet /// # Examples /// /// ``` - /// use std::collections::HashSet; - /// /// let a: HashSet<_> = vec![1, 2, 3].into_iter().collect(); /// let b: HashSet<_> = vec![3, 4, 5].into_iter().collect(); /// @@ -1200,7 +1139,6 @@ impl IntoIterator for HashSet { /// # Examples /// /// ``` - /// use std::collections::HashSet; /// let mut set = HashSet::new(); /// set.insert("a".to_string()); /// set.insert("b".to_string()); diff --git a/src/libstd/prelude/v1.rs b/src/libstd/prelude/v1.rs index d2b3753f2aecc..2780fd3147063 100644 --- a/src/libstd/prelude/v1.rs +++ b/src/libstd/prelude/v1.rs @@ -107,3 +107,6 @@ pub use crate::vec::Vec; #[unstable(feature = "hashmap_prelude", issue = "0")] #[doc(no_inline)] pub use crate::collections::HashMap; +#[unstable(feature = "hashmap_prelude", issue = "0")] +#[doc(no_inline)] +pub use crate::collections::HashSet; diff --git a/src/libstd/sys_common/poison.rs b/src/libstd/sys_common/poison.rs index adac45f2d59da..68cbcce94428a 100644 --- a/src/libstd/sys_common/poison.rs +++ b/src/libstd/sys_common/poison.rs @@ -173,7 +173,6 @@ impl PoisonError { /// # Examples /// /// ``` - /// use std::collections::HashSet; /// use std::sync::{Arc, Mutex}; /// use std::thread; ///