mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 06:44:35 +00:00
rustc_data_structures
: remove ref
patterns and other artifacts of the past
This commit is contained in:
parent
3dca58e249
commit
fc6cda8603
@ -70,8 +70,8 @@ fn test_adjacent_edges<N: PartialEq + Debug, E: PartialEq + Debug>(
|
||||
"counter={:?} expected={:?} edge_index={:?} edge={:?}",
|
||||
counter, expected_incoming[counter], edge_index, edge
|
||||
);
|
||||
match expected_incoming[counter] {
|
||||
(ref e, ref n) => {
|
||||
match &expected_incoming[counter] {
|
||||
(e, n) => {
|
||||
assert!(e == &edge.data);
|
||||
assert!(n == graph.node_data(edge.source()));
|
||||
assert!(start_index == edge.target);
|
||||
@ -88,8 +88,8 @@ fn test_adjacent_edges<N: PartialEq + Debug, E: PartialEq + Debug>(
|
||||
"counter={:?} expected={:?} edge_index={:?} edge={:?}",
|
||||
counter, expected_outgoing[counter], edge_index, edge
|
||||
);
|
||||
match expected_outgoing[counter] {
|
||||
(ref e, ref n) => {
|
||||
match &expected_outgoing[counter] {
|
||||
(e, n) => {
|
||||
assert!(e == &edge.data);
|
||||
assert!(start_index == edge.source);
|
||||
assert!(n == graph.node_data(edge.target));
|
||||
|
@ -1,6 +1,5 @@
|
||||
use crate::stable_hasher::{HashStable, StableHasher, StableOrd};
|
||||
use std::borrow::Borrow;
|
||||
use std::cmp::Ordering;
|
||||
use std::fmt::Debug;
|
||||
use std::mem;
|
||||
use std::ops::{Bound, Index, IndexMut, RangeBounds};
|
||||
@ -171,7 +170,7 @@ impl<K: Ord, V> SortedMap<K, V> {
|
||||
where
|
||||
F: Fn(&mut K),
|
||||
{
|
||||
self.data.iter_mut().map(|&mut (ref mut k, _)| k).for_each(f);
|
||||
self.data.iter_mut().map(|(k, _)| k).for_each(f);
|
||||
}
|
||||
|
||||
/// Inserts a presorted range of elements into the map. If the range can be
|
||||
@ -232,10 +231,10 @@ impl<K: Ord, V> SortedMap<K, V> {
|
||||
R: RangeBounds<K>,
|
||||
{
|
||||
let start = match range.start_bound() {
|
||||
Bound::Included(ref k) => match self.lookup_index_for(k) {
|
||||
Bound::Included(k) => match self.lookup_index_for(k) {
|
||||
Ok(index) | Err(index) => index,
|
||||
},
|
||||
Bound::Excluded(ref k) => match self.lookup_index_for(k) {
|
||||
Bound::Excluded(k) => match self.lookup_index_for(k) {
|
||||
Ok(index) => index + 1,
|
||||
Err(index) => index,
|
||||
},
|
||||
@ -243,11 +242,11 @@ impl<K: Ord, V> SortedMap<K, V> {
|
||||
};
|
||||
|
||||
let end = match range.end_bound() {
|
||||
Bound::Included(ref k) => match self.lookup_index_for(k) {
|
||||
Bound::Included(k) => match self.lookup_index_for(k) {
|
||||
Ok(index) => index + 1,
|
||||
Err(index) => index,
|
||||
},
|
||||
Bound::Excluded(ref k) => match self.lookup_index_for(k) {
|
||||
Bound::Excluded(k) => match self.lookup_index_for(k) {
|
||||
Ok(index) | Err(index) => index,
|
||||
},
|
||||
Bound::Unbounded => self.data.len(),
|
||||
@ -302,7 +301,7 @@ impl<K: Ord, V> FromIterator<(K, V)> for SortedMap<K, V> {
|
||||
let mut data: Vec<(K, V)> = iter.into_iter().collect();
|
||||
|
||||
data.sort_unstable_by(|(k1, _), (k2, _)| k1.cmp(k2));
|
||||
data.dedup_by(|&mut (ref k1, _), &mut (ref k2, _)| k1.cmp(k2) == Ordering::Equal);
|
||||
data.dedup_by(|(k1, _), (k2, _)| k1 == k2);
|
||||
|
||||
SortedMap { data }
|
||||
}
|
||||
|
@ -63,13 +63,13 @@ impl<I: Idx, K: Ord, V> SortedIndexMultiMap<I, K, V> {
|
||||
/// Returns an iterator over the items in the map in insertion order.
|
||||
#[inline]
|
||||
pub fn iter(&self) -> impl '_ + DoubleEndedIterator<Item = (&K, &V)> {
|
||||
self.items.iter().map(|(ref k, ref v)| (k, v))
|
||||
self.items.iter().map(|(k, v)| (k, v))
|
||||
}
|
||||
|
||||
/// Returns an iterator over the items in the map in insertion order along with their indices.
|
||||
#[inline]
|
||||
pub fn iter_enumerated(&self) -> impl '_ + DoubleEndedIterator<Item = (I, (&K, &V))> {
|
||||
self.items.iter_enumerated().map(|(i, (ref k, ref v))| (i, (k, v)))
|
||||
self.items.iter_enumerated().map(|(i, (k, v))| (i, (k, v)))
|
||||
}
|
||||
|
||||
/// Returns the item in the map with the given index.
|
||||
|
@ -6,7 +6,7 @@ fn test_sorted_index_multi_map() {
|
||||
let set: SortedIndexMultiMap<usize, _, _> = entries.iter().copied().collect();
|
||||
|
||||
// Insertion order is preserved.
|
||||
assert!(entries.iter().map(|(ref k, ref v)| (k, v)).eq(set.iter()));
|
||||
assert!(entries.iter().map(|(k, v)| (k, v)).eq(set.iter()));
|
||||
|
||||
// Indexing
|
||||
for (i, expect) in entries.iter().enumerate() {
|
||||
|
@ -37,9 +37,9 @@ impl<T: PartialEq> TinyList<T> {
|
||||
|
||||
#[inline]
|
||||
pub fn remove(&mut self, data: &T) -> bool {
|
||||
self.head = match self.head {
|
||||
Some(ref mut head) if head.data == *data => head.next.take().map(|x| *x),
|
||||
Some(ref mut head) => return head.remove_next(data),
|
||||
self.head = match &mut self.head {
|
||||
Some(head) if head.data == *data => head.next.take().map(|x| *x),
|
||||
Some(head) => return head.remove_next(data),
|
||||
None => return false,
|
||||
};
|
||||
true
|
||||
@ -48,7 +48,7 @@ impl<T: PartialEq> TinyList<T> {
|
||||
#[inline]
|
||||
pub fn contains(&self, data: &T) -> bool {
|
||||
let mut elem = self.head.as_ref();
|
||||
while let Some(ref e) = elem {
|
||||
while let Some(e) = elem {
|
||||
if &e.data == data {
|
||||
return true;
|
||||
}
|
||||
@ -65,15 +65,14 @@ struct Element<T> {
|
||||
}
|
||||
|
||||
impl<T: PartialEq> Element<T> {
|
||||
fn remove_next(&mut self, data: &T) -> bool {
|
||||
let mut n = self;
|
||||
fn remove_next(mut self: &mut Self, data: &T) -> bool {
|
||||
loop {
|
||||
match n.next {
|
||||
match self.next {
|
||||
Some(ref mut next) if next.data == *data => {
|
||||
n.next = next.next.take();
|
||||
self.next = next.next.take();
|
||||
return true;
|
||||
}
|
||||
Some(ref mut next) => n = next,
|
||||
Some(ref mut next) => self = next,
|
||||
None => return false,
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,7 @@ use test::{black_box, Bencher};
|
||||
impl<T> TinyList<T> {
|
||||
fn len(&self) -> usize {
|
||||
let (mut elem, mut count) = (self.head.as_ref(), 0);
|
||||
while let Some(ref e) = elem {
|
||||
while let Some(e) = elem {
|
||||
count += 1;
|
||||
elem = e.next.as_deref();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user