Skip to main content

Assign

Trait Assign 

Source
pub trait Assign<V = Self>: Container {
    // Required method
    fn assign(&mut self, value: V);
}
Expand description

Replace self with a new value.

§Examples

use maplike::ops::Assign;
use std::collections::HashMap;

// `.assign()` replaces the whole value with a new one.

// Works for scalars.
let mut count = 1;
count.assign(42);
assert_eq!(count, 42);

// Works for tuples.
let mut point = (1, 2);
point.assign((10, 20));
assert_eq!(point, (10, 20));

// Works for `Vec`.
let mut vec = vec![1, 2, 3];
vec.assign(vec![4, 5, 6]);
assert_eq!(vec, [4, 5, 6]);

// Works for `HashMap`.
let mut map = HashMap::from([(1, 2.0)]);
map.assign(HashMap::from([(3, 4.0), (5, 6.0)]));
assert_eq!(map.get(&3), Some(&4.0));
assert_eq!(map.get(&1), None);

Required Methods§

Source

fn assign(&mut self, value: V)

Replace self with a new value.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl Assign for ()

Source§

fn assign(&mut self, value: Self)

Source§

impl Assign for bool

Source§

fn assign(&mut self, value: Self)

Source§

impl Assign for char

Source§

fn assign(&mut self, value: Self)

Source§

impl Assign for f32

Source§

fn assign(&mut self, value: Self)

Source§

impl Assign for f64

Source§

fn assign(&mut self, value: Self)

Source§

impl Assign for i8

Source§

fn assign(&mut self, value: Self)

Source§

impl Assign for i16

Source§

fn assign(&mut self, value: Self)

Source§

impl Assign for i32

Source§

fn assign(&mut self, value: Self)

Source§

impl Assign for i64

Source§

fn assign(&mut self, value: Self)

Source§

impl Assign for i128

Source§

fn assign(&mut self, value: Self)

Source§

impl Assign for isize

Source§

fn assign(&mut self, value: Self)

Source§

impl Assign for u8

Source§

fn assign(&mut self, value: Self)

Source§

impl Assign for u16

Source§

fn assign(&mut self, value: Self)

Source§

impl Assign for u32

Source§

fn assign(&mut self, value: Self)

Source§

impl Assign for u64

Source§

fn assign(&mut self, value: Self)

Source§

impl Assign for u128

Source§

fn assign(&mut self, value: Self)

Source§

impl Assign for usize

Source§

fn assign(&mut self, value: Self)

Source§

impl<A: Array> Assign for ArrayVec<A>

Available on crate feature tinyvec only.
Source§

fn assign(&mut self, value: Self)

Source§

impl<A: Array> Assign for SmallVec<A>

Available on crate feature smallvec only.
Source§

fn assign(&mut self, value: Self)

Source§

impl<A: Array> Assign for TinyVec<A>

Available on crate feature tinyvec only.
Source§

fn assign(&mut self, value: Self)

Source§

impl<K, V> Assign for BTreeMap<K, V>

Available on crate feature alloc only.
Source§

fn assign(&mut self, value: Self)

Source§

impl<K, V> Assign for HashMap<K, V>

Available on crate feature std only.
Source§

fn assign(&mut self, value: Self)

Source§

impl<K, V> Assign for IndexMap<K, V>

Available on crate feature indexmap only.
Source§

fn assign(&mut self, value: Self)

Source§

impl<K: RTreeObject> Assign for RTree<K>

Available on crate feature rstar only.
Source§

fn assign(&mut self, value: Self)

Source§

impl<K> Assign for BTreeSet<K>

Available on crate feature alloc only.
Source§

fn assign(&mut self, value: Self)

Source§

impl<K> Assign for HashSet<K>

Available on crate feature std only.
Source§

fn assign(&mut self, value: Self)

Source§

impl<K> Assign for IndexSet<K>

Available on crate feature indexmap only.
Source§

fn assign(&mut self, value: Self)

Source§

impl<L, R> Assign for BiBTreeMap<L, R>

Available on crate feature bidimap only.
Source§

fn assign(&mut self, value: Self)

Source§

impl<L, R> Assign for BiHashMap<L, R>

Available on crate features bidimap and std only.
Source§

fn assign(&mut self, value: Self)

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Assign for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

Source§

fn assign(&mut self, value: Self)

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Assign for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)

Source§

fn assign(&mut self, value: Self)

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> Assign for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)

Source§

fn assign(&mut self, value: Self)

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> Assign for (T0, T1, T2, T3, T4, T5, T6, T7, T8)

Source§

fn assign(&mut self, value: Self)

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7> Assign for (T0, T1, T2, T3, T4, T5, T6, T7)

Source§

fn assign(&mut self, value: Self)

Source§

impl<T0, T1, T2, T3, T4, T5, T6> Assign for (T0, T1, T2, T3, T4, T5, T6)

Source§

fn assign(&mut self, value: Self)

Source§

impl<T0, T1, T2, T3, T4, T5> Assign for (T0, T1, T2, T3, T4, T5)

Source§

fn assign(&mut self, value: Self)

Source§

impl<T0, T1, T2, T3, T4> Assign for (T0, T1, T2, T3, T4)

Source§

fn assign(&mut self, value: Self)

Source§

impl<T0, T1, T2, T3> Assign for (T0, T1, T2, T3)

Source§

fn assign(&mut self, value: Self)

Source§

impl<T0, T1, T2> Assign for (T0, T1, T2)

Source§

fn assign(&mut self, value: Self)

Source§

impl<T0, T1> Assign for (T0, T1)

Source§

fn assign(&mut self, value: Self)

Source§

impl<T0> Assign for (T0,)

Source§

fn assign(&mut self, value: Self)

Source§

impl<T, const CAP: usize> Assign for ArrayVec<T, CAP>

Available on crate feature arrayvec only.
Source§

fn assign(&mut self, value: Self)

Source§

impl<V, C: Core<V>> Assign for StableVecFacade<V, C>

Available on crate feature stable-vec only.
Source§

fn assign(&mut self, value: Self)

Source§

impl<V, const N: usize> Assign for [V; N]

Source§

fn assign(&mut self, value: Self)

Source§

impl<V> Assign for Arc<V>

Available on crate feature std only.
Source§

fn assign(&mut self, value: Self)

Source§

impl<V> Assign for Arena<V>

Available on crate feature thunderdome only.
Source§

fn assign(&mut self, value: Self)

Source§

impl<V> Assign for Box<V>

Available on crate feature alloc only.
Source§

fn assign(&mut self, value: Self)

Source§

impl<V> Assign for Option<V>

Source§

fn assign(&mut self, value: Self)

Source§

impl<V> Assign for Rc<V>

Available on crate feature alloc only.
Source§

fn assign(&mut self, value: Self)

Source§

impl<V> Assign for Vec<V>

Available on crate feature alloc only.
Source§

fn assign(&mut self, value: Self)

Source§

impl<V> Assign for VecDeque<V>

Available on crate feature alloc only.
Source§

fn assign(&mut self, value: Self)

Source§

impl<V> Assign for Weak<V>

Available on crate feature std only.
Source§

fn assign(&mut self, value: Self)

Source§

impl<V> Assign for Weak<V>

Available on crate feature alloc only.
Source§

fn assign(&mut self, value: Self)

Source§

impl<const CAP: usize> Assign for ArrayString<CAP>

Available on crate feature arrayvec only.
Source§

fn assign(&mut self, value: Self)

Implementors§

Source§

impl<V> Assign for One<V>