Skip to content

Commit

Permalink
Use the hashbrown::{HashMap,HashSet} clone_from impls.
Browse files Browse the repository at this point in the history
  • Loading branch information
David Adler committed Dec 27, 2020
1 parent 0b644e4 commit 7adeb71
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 2 deletions.
19 changes: 18 additions & 1 deletion library/std/src/collections/hash/map.rs
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,6 @@ use crate::sys;
/// // use the values stored in map
/// ```

#[derive(Clone)]
#[cfg_attr(not(test), rustc_diagnostic_item = "hashmap_type")]
#[stable(feature = "rust1", since = "1.0.0")]
pub struct HashMap<K, V, S = RandomState> {
Expand Down Expand Up @@ -1029,6 +1028,24 @@ where
}
}

#[stable(feature = "rust1", since = "1.0.0")]
impl<K, V, S> Clone for HashMap<K, V, S>
where
K: Clone,
V: Clone,
S: Clone,
{
#[inline]
fn clone(&self) -> Self {
Self { base: self.base.clone() }
}

#[inline]
fn clone_from(&mut self, other: &Self) {
self.base.clone_from(&other.base);
}
}

#[stable(feature = "rust1", since = "1.0.0")]
impl<K, V, S> PartialEq for HashMap<K, V, S>
where
Expand Down
18 changes: 17 additions & 1 deletion library/std/src/collections/hash/set.rs
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,6 @@ use super::map::{map_try_reserve_error, RandomState};
/// [`HashMap`]: crate::collections::HashMap
/// [`RefCell`]: crate::cell::RefCell
/// [`Cell`]: crate::cell::Cell
#[derive(Clone)]
#[cfg_attr(not(test), rustc_diagnostic_item = "hashset_type")]
#[stable(feature = "rust1", since = "1.0.0")]
pub struct HashSet<T, S = RandomState> {
Expand Down Expand Up @@ -932,6 +931,23 @@ where
}
}

#[stable(feature = "rust1", since = "1.0.0")]
impl<T, S> Clone for HashSet<T, S>
where
T: Clone,
S: Clone,
{
#[inline]
fn clone(&self) -> Self {
Self { base: self.base.clone() }
}

#[inline]
fn clone_from(&mut self, other: &Self) {
self.base.clone_from(&other.base);
}
}

#[stable(feature = "rust1", since = "1.0.0")]
impl<T, S> PartialEq for HashSet<T, S>
where
Expand Down

0 comments on commit 7adeb71

Please sign in to comment.