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.
This commit is contained in:
parent
f63ccaf25f
commit
be60bcb28a
5 changed files with 8 additions and 15 deletions
|
@ -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!();
|
||||
}
|
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue