Skip to content

Commit 33871c9

Browse files
Make sure that signatures aren't accidental refinements
1 parent 1c42cb4 commit 33871c9

File tree

6 files changed

+84
-24
lines changed

6 files changed

+84
-24
lines changed

library/alloc/src/collections/btree/map.rs

+48-12
Original file line numberDiff line numberDiff line change
@@ -1543,11 +1543,17 @@ impl<'a, K: 'a, V: 'a> Iterator for Iter<'a, K, V> {
15431543
self.next_back()
15441544
}
15451545

1546-
fn min(mut self) -> Option<(&'a K, &'a V)> {
1546+
fn min(mut self) -> Option<(&'a K, &'a V)>
1547+
where
1548+
(&'a K, &'a V): Ord,
1549+
{
15471550
self.next()
15481551
}
15491552

1550-
fn max(mut self) -> Option<(&'a K, &'a V)> {
1553+
fn max(mut self) -> Option<(&'a K, &'a V)>
1554+
where
1555+
(&'a K, &'a V): Ord,
1556+
{
15511557
self.next_back()
15521558
}
15531559
}
@@ -1612,11 +1618,17 @@ impl<'a, K, V> Iterator for IterMut<'a, K, V> {
16121618
self.next_back()
16131619
}
16141620

1615-
fn min(mut self) -> Option<(&'a K, &'a mut V)> {
1621+
fn min(mut self) -> Option<(&'a K, &'a mut V)>
1622+
where
1623+
(&'a K, &'a mut V): Ord,
1624+
{
16161625
self.next()
16171626
}
16181627

1619-
fn max(mut self) -> Option<(&'a K, &'a mut V)> {
1628+
fn max(mut self) -> Option<(&'a K, &'a mut V)>
1629+
where
1630+
(&'a K, &'a mut V): Ord,
1631+
{
16201632
self.next_back()
16211633
}
16221634
}
@@ -1779,11 +1791,17 @@ impl<'a, K, V> Iterator for Keys<'a, K, V> {
17791791
self.next_back()
17801792
}
17811793

1782-
fn min(mut self) -> Option<&'a K> {
1794+
fn min(mut self) -> Option<&'a K>
1795+
where
1796+
&'a K: Ord,
1797+
{
17831798
self.next()
17841799
}
17851800

1786-
fn max(mut self) -> Option<&'a K> {
1801+
fn max(mut self) -> Option<&'a K>
1802+
where
1803+
&'a K: Ord,
1804+
{
17871805
self.next_back()
17881806
}
17891807
}
@@ -2008,11 +2026,17 @@ impl<'a, K, V> Iterator for Range<'a, K, V> {
20082026
self.next_back()
20092027
}
20102028

2011-
fn min(mut self) -> Option<(&'a K, &'a V)> {
2029+
fn min(mut self) -> Option<(&'a K, &'a V)>
2030+
where
2031+
(&'a K, &'a V): Ord,
2032+
{
20122033
self.next()
20132034
}
20142035

2015-
fn max(mut self) -> Option<(&'a K, &'a V)> {
2036+
fn max(mut self) -> Option<(&'a K, &'a V)>
2037+
where
2038+
(&'a K, &'a V): Ord,
2039+
{
20162040
self.next_back()
20172041
}
20182042
}
@@ -2081,11 +2105,17 @@ impl<K, V, A: Allocator + Clone> Iterator for IntoKeys<K, V, A> {
20812105
self.next_back()
20822106
}
20832107

2084-
fn min(mut self) -> Option<K> {
2108+
fn min(mut self) -> Option<K>
2109+
where
2110+
K: Ord,
2111+
{
20852112
self.next()
20862113
}
20872114

2088-
fn max(mut self) -> Option<K> {
2115+
fn max(mut self) -> Option<K>
2116+
where
2117+
K: Ord,
2118+
{
20892119
self.next_back()
20902120
}
20912121
}
@@ -2204,11 +2234,17 @@ impl<'a, K, V> Iterator for RangeMut<'a, K, V> {
22042234
self.next_back()
22052235
}
22062236

2207-
fn min(mut self) -> Option<(&'a K, &'a mut V)> {
2237+
fn min(mut self) -> Option<(&'a K, &'a mut V)>
2238+
where
2239+
(&'a K, &'a mut V): Ord,
2240+
{
22082241
self.next()
22092242
}
22102243

2211-
fn max(mut self) -> Option<(&'a K, &'a mut V)> {
2244+
fn max(mut self) -> Option<(&'a K, &'a mut V)>
2245+
where
2246+
(&'a K, &'a mut V): Ord,
2247+
{
22122248
self.next_back()
22132249
}
22142250
}

library/alloc/src/collections/btree/set.rs

+16-4
Original file line numberDiff line numberDiff line change
@@ -1501,11 +1501,17 @@ impl<'a, T> Iterator for Iter<'a, T> {
15011501
self.next_back()
15021502
}
15031503

1504-
fn min(mut self) -> Option<&'a T> {
1504+
fn min(mut self) -> Option<&'a T>
1505+
where
1506+
&'a T: Ord,
1507+
{
15051508
self.next()
15061509
}
15071510

1508-
fn max(mut self) -> Option<&'a T> {
1511+
fn max(mut self) -> Option<&'a T>
1512+
where
1513+
&'a T: Ord,
1514+
{
15091515
self.next_back()
15101516
}
15111517
}
@@ -1604,11 +1610,17 @@ impl<'a, T> Iterator for Range<'a, T> {
16041610
self.next_back()
16051611
}
16061612

1607-
fn min(mut self) -> Option<&'a T> {
1613+
fn min(mut self) -> Option<&'a T>
1614+
where
1615+
&'a T: Ord,
1616+
{
16081617
self.next()
16091618
}
16101619

1611-
fn max(mut self) -> Option<&'a T> {
1620+
fn max(mut self) -> Option<&'a T>
1621+
where
1622+
&'a T: Ord,
1623+
{
16121624
self.next_back()
16131625
}
16141626
}

library/alloc/src/collections/vec_deque/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -2815,7 +2815,7 @@ impl<'a, T: 'a + Copy, A: Allocator> Extend<&'a T> for VecDeque<T, A> {
28152815
}
28162816

28172817
#[inline]
2818-
fn extend_one(&mut self, &elem: &T) {
2818+
fn extend_one(&mut self, &elem: &'a T) {
28192819
self.push_back(elem);
28202820
}
28212821

library/core/src/array/mod.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ where
248248
impl<'a, T, const N: usize> TryFrom<&'a [T]> for &'a [T; N] {
249249
type Error = TryFromSliceError;
250250

251-
fn try_from(slice: &[T]) -> Result<&[T; N], TryFromSliceError> {
251+
fn try_from(slice: &'a [T]) -> Result<&'a [T; N], TryFromSliceError> {
252252
if slice.len() == N {
253253
let ptr = slice.as_ptr() as *const [T; N];
254254
// SAFETY: ok because we just checked that the length fits
@@ -275,7 +275,7 @@ impl<'a, T, const N: usize> TryFrom<&'a [T]> for &'a [T; N] {
275275
impl<'a, T, const N: usize> TryFrom<&'a mut [T]> for &'a mut [T; N] {
276276
type Error = TryFromSliceError;
277277

278-
fn try_from(slice: &mut [T]) -> Result<&mut [T; N], TryFromSliceError> {
278+
fn try_from(slice: &'a mut [T]) -> Result<&'a mut [T; N], TryFromSliceError> {
279279
if slice.len() == N {
280280
let ptr = slice.as_mut_ptr() as *mut [T; N];
281281
// SAFETY: ok because we just checked that the length fits

library/core/src/iter/range.rs

+16-4
Original file line numberDiff line numberDiff line change
@@ -732,12 +732,18 @@ impl<A: Step> Iterator for ops::Range<A> {
732732
}
733733

734734
#[inline]
735-
fn min(mut self) -> Option<A> {
735+
fn min(mut self) -> Option<A>
736+
where
737+
A: Ord,
738+
{
736739
self.next()
737740
}
738741

739742
#[inline]
740-
fn max(mut self) -> Option<A> {
743+
fn max(mut self) -> Option<A>
744+
where
745+
A: Ord,
746+
{
741747
self.next_back()
742748
}
743749

@@ -1158,12 +1164,18 @@ impl<A: Step> Iterator for ops::RangeInclusive<A> {
11581164
}
11591165

11601166
#[inline]
1161-
fn min(mut self) -> Option<A> {
1167+
fn min(mut self) -> Option<A>
1168+
where
1169+
A: Ord,
1170+
{
11621171
self.next()
11631172
}
11641173

11651174
#[inline]
1166-
fn max(mut self) -> Option<A> {
1175+
fn max(mut self) -> Option<A>
1176+
where
1177+
A: Ord,
1178+
{
11671179
self.next_back()
11681180
}
11691181

library/portable-simd/crates/core_simd/src/ops/deref.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ macro_rules! deref_ops {
7171

7272
#[inline]
7373
#[must_use = "operator returns a new vector without mutating the inputs"]
74-
fn $call(self, rhs: &$simd) -> Self::Output {
74+
fn $call(self, rhs: &'rhs $simd) -> Self::Output {
7575
(*self).$call(*rhs)
7676
}
7777
}

0 commit comments

Comments
 (0)