diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2023-03-08 21:24:53 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-08 21:24:53 +0100 |
| commit | a95943b77dc74f75afe0f9884f56bc3eef2d871e (patch) | |
| tree | 04ffa13c6264f0f0bab2a33bc12f5bb48ab0b38a /compiler/rustc_data_structures/src | |
| parent | 031b528052d97ef217748e4d0f0a6503426de229 (diff) | |
| parent | be60bcb28a4e4099e29aa8f6e9e3ca851193344b (diff) | |
| download | rust-a95943b77dc74f75afe0f9884f56bc3eef2d871e.tar.gz rust-a95943b77dc74f75afe0f9884f56bc3eef2d871e.zip | |
Rollup merge of #108887 - nnethercote:rename-MapInPlace, r=lqd
Rename `MapInPlace` as `FlatMapInPlace`. After removing the `map_in_place` method, which isn't much use because modifying every element in a collection such as a `Vec` can be done trivially with iteration. r? ``@lqd``
Diffstat (limited to 'compiler/rustc_data_structures/src')
| -rw-r--r-- | compiler/rustc_data_structures/src/flat_map_in_place.rs (renamed from compiler/rustc_data_structures/src/map_in_place.rs) | 15 | ||||
| -rw-r--r-- | compiler/rustc_data_structures/src/lib.rs | 2 |
2 files changed, 5 insertions, 12 deletions
diff --git a/compiler/rustc_data_structures/src/map_in_place.rs b/compiler/rustc_data_structures/src/flat_map_in_place.rs index a0d4b7ade1f..f58844f2817 100644 --- a/compiler/rustc_data_structures/src/map_in_place.rs +++ b/compiler/rustc_data_structures/src/flat_map_in_place.rs @@ -2,14 +2,7 @@ use smallvec::{Array, SmallVec}; use std::ptr; use thin_vec::ThinVec; -pub trait MapInPlace<T>: Sized { - fn map_in_place<F>(&mut self, mut f: F) - where - F: FnMut(T) -> T, - { - self.flat_map_in_place(|e| Some(f(e))) - } - +pub trait FlatMapInPlace<T>: Sized { fn flat_map_in_place<F, I>(&mut self, f: F) where F: FnMut(T) -> I, @@ -66,14 +59,14 @@ macro_rules! flat_map_in_place { }; } -impl<T> MapInPlace<T> for Vec<T> { +impl<T> FlatMapInPlace<T> for Vec<T> { flat_map_in_place!(); } -impl<T, A: Array<Item = T>> MapInPlace<T> for SmallVec<A> { +impl<T, A: Array<Item = T>> FlatMapInPlace<T> for SmallVec<A> { flat_map_in_place!(); } -impl<T> MapInPlace<T> for ThinVec<T> { +impl<T> FlatMapInPlace<T> for ThinVec<T> { flat_map_in_place!(); } diff --git a/compiler/rustc_data_structures/src/lib.rs b/compiler/rustc_data_structures/src/lib.rs index a94e52fdfe6..c595bf830a3 100644 --- a/compiler/rustc_data_structures/src/lib.rs +++ b/compiler/rustc_data_structures/src/lib.rs @@ -50,6 +50,7 @@ pub fn cold_path<F: FnOnce() -> R, R>(f: F) -> R { pub mod base_n; pub mod binary_search_util; pub mod captures; +pub mod flat_map_in_place; pub mod flock; pub mod functor; pub mod fx; @@ -57,7 +58,6 @@ pub mod graph; pub mod intern; pub mod jobserver; pub mod macros; -pub mod map_in_place; pub mod obligation_forest; pub mod owning_ref; pub mod sip128; |
