Skip to content

Commit 9066c73

Browse files
committed
BTreeMap: remove Ord bound where it is absent elsewhere
1 parent cfba499 commit 9066c73

File tree

4 files changed

+22
-20
lines changed

4 files changed

+22
-20
lines changed

Diff for: library/alloc/src/collections/btree/map.rs

+4-13
Original file line numberDiff line numberDiff line change
@@ -501,11 +501,8 @@ impl<K, V> BTreeMap<K, V> {
501501
/// assert!(a.is_empty());
502502
/// ```
503503
#[stable(feature = "rust1", since = "1.0.0")]
504-
pub fn clear(&mut self)
505-
where
506-
K: Ord,
507-
{
508-
*self = BTreeMap::new();
504+
pub fn clear(&mut self) {
505+
*self = BTreeMap { root: None, length: 0 };
509506
}
510507

511508
/// Returns a reference to the value corresponding to the key.
@@ -1226,10 +1223,7 @@ impl<K, V> BTreeMap<K, V> {
12261223
/// ```
12271224
#[inline]
12281225
#[unstable(feature = "map_into_keys_values", issue = "75294")]
1229-
pub fn into_keys(self) -> IntoKeys<K, V>
1230-
where
1231-
K: Ord,
1232-
{
1226+
pub fn into_keys(self) -> IntoKeys<K, V> {
12331227
IntoKeys { inner: self.into_iter() }
12341228
}
12351229

@@ -1252,10 +1246,7 @@ impl<K, V> BTreeMap<K, V> {
12521246
/// ```
12531247
#[inline]
12541248
#[unstable(feature = "map_into_keys_values", issue = "75294")]
1255-
pub fn into_values(self) -> IntoValues<K, V>
1256-
where
1257-
K: Ord,
1258-
{
1249+
pub fn into_values(self) -> IntoValues<K, V> {
12591250
IntoValues { inner: self.into_iter() }
12601251
}
12611252
}

Diff for: library/alloc/src/collections/btree/map/tests.rs

+15-2
Original file line numberDiff line numberDiff line change
@@ -1711,12 +1711,19 @@ fn test_ord_absence() {
17111711
fn map<K>(mut map: BTreeMap<K, ()>) {
17121712
map.is_empty();
17131713
map.len();
1714+
map.clear();
17141715
map.iter();
17151716
map.iter_mut();
17161717
map.keys();
17171718
map.values();
17181719
map.values_mut();
1719-
map.into_iter();
1720+
if true {
1721+
map.into_values();
1722+
} else if true {
1723+
map.into_iter();
1724+
} else {
1725+
map.into_keys();
1726+
}
17201727
}
17211728

17221729
fn map_debug<K: Debug>(mut map: BTreeMap<K, ()>) {
@@ -1726,7 +1733,13 @@ fn test_ord_absence() {
17261733
format!("{:?}", map.keys());
17271734
format!("{:?}", map.values());
17281735
format!("{:?}", map.values_mut());
1729-
format!("{:?}", map.into_iter());
1736+
if true {
1737+
format!("{:?}", map.into_iter());
1738+
} else if true {
1739+
format!("{:?}", map.into_keys());
1740+
} else {
1741+
format!("{:?}", map.into_values());
1742+
}
17301743
}
17311744

17321745
fn map_clone<K: Clone>(mut map: BTreeMap<K, ()>) {

Diff for: library/alloc/src/collections/btree/set.rs

+1-4
Original file line numberDiff line numberDiff line change
@@ -457,10 +457,7 @@ impl<T> BTreeSet<T> {
457457
/// assert!(v.is_empty());
458458
/// ```
459459
#[stable(feature = "rust1", since = "1.0.0")]
460-
pub fn clear(&mut self)
461-
where
462-
T: Ord,
463-
{
460+
pub fn clear(&mut self) {
464461
self.map.clear()
465462
}
466463

Diff for: library/alloc/src/collections/btree/set/tests.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -641,9 +641,10 @@ fn test_send() {
641641

642642
#[allow(dead_code)]
643643
fn test_ord_absence() {
644-
fn set<K>(set: BTreeSet<K>) {
644+
fn set<K>(mut set: BTreeSet<K>) {
645645
set.is_empty();
646646
set.len();
647+
set.clear();
647648
set.iter();
648649
set.into_iter();
649650
}

0 commit comments

Comments
 (0)