diff options
| author | bors <bors@rust-lang.org> | 2018-09-26 10:04:42 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2018-09-26 10:04:42 +0000 |
| commit | c3a1a0d3400bbbcac194efb6ef2b14eef9be5149 (patch) | |
| tree | 0a75f20d6c5a9def5008fd24194e83946f9ac9db /src/libsyntax/util | |
| parent | a2b27c19dad8b90063b56eff7b6433ba3f390d96 (diff) | |
| parent | 130a32fa7259d348dc3a684b38e688da398c30bb (diff) | |
| download | rust-c3a1a0d3400bbbcac194efb6ef2b14eef9be5149.tar.gz rust-c3a1a0d3400bbbcac194efb6ef2b14eef9be5149.zip | |
Auto merge of #53824 - ljedrz:begone_onevector, r=michaelwoerister
Remove OneVector, increase related SmallVec capacities Removes the `OneVector` type alias (equivalent to `SmallVec<[T; 1]>`); it is used in scenarios where the capacity of 1 is often exceeded, which might be nullifying the performance wins (due to spilling to the heap) expected when using `SmallVec` instead of `Vec`. The numbers I used in this PR are very rough estimates - it would probably be a good idea to adjust some/all of them, which is what this proposal is all about. It might be a good idea to additionally create some local type aliases for the `SmallVec`s in the `Folder` trait, as they are repeated in quite a few spots; I'd be happy to apply this sort of adjustments.
Diffstat (limited to 'src/libsyntax/util')
| -rw-r--r-- | src/libsyntax/util/move_map.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libsyntax/util/move_map.rs b/src/libsyntax/util/move_map.rs index eb2c5a2458c..51cae1b5d84 100644 --- a/src/libsyntax/util/move_map.rs +++ b/src/libsyntax/util/move_map.rs @@ -9,7 +9,7 @@ // except according to those terms. use std::ptr; -use OneVector; +use smallvec::{Array, SmallVec}; pub trait MoveMap<T>: Sized { fn move_map<F>(self, mut f: F) -> Self where F: FnMut(T) -> T { @@ -77,7 +77,7 @@ impl<T> MoveMap<T> for ::ptr::P<[T]> { } } -impl<T> MoveMap<T> for OneVector<T> { +impl<T, A: Array<Item = T>> MoveMap<T> for SmallVec<A> { fn move_flat_map<F, I>(mut self, mut f: F) -> Self where F: FnMut(T) -> I, I: IntoIterator<Item=T> |
