pub trait AsMut<T: ?Sized> {
fn as_mut(&mut self) -> &mut T;
}
A cheap, mutable reference-to-mutable reference conversion.
This trait is similar to AsRef
but used for converting between mutable
references.
Note: this trait must not fail. If the conversion can fail, use a
dedicated method which returns an Option<T>
or a Result<T, E>
.
AsMut
auto-dereferences if the inner type is a mutable reference
(e.g.: foo.as_mut()
will work the same if foo
has type &mut Foo
or &mut &mut Foo
)
Box<T>
implements AsMut<T>
:
fn add_one<T: AsMut<u64>>(num: &mut T) {
*num.as_mut() += 1;
}
let mut boxed_num = Box::new(0);
add_one(&mut boxed_num);
assert_eq!(*boxed_num, 1);Run
fn as_mut(&mut self) -> &mut T
impl<T> AsMut<[T]> for [T; 0] | [src] |
impl<T> AsMut<[T]> for [T; 1] | [src] |
impl<T> AsMut<[T]> for [T; 2] | [src] |
impl<T> AsMut<[T]> for [T; 3] | [src] |
impl<T> AsMut<[T]> for [T; 4] | [src] |
impl<T> AsMut<[T]> for [T; 5] | [src] |
impl<T> AsMut<[T]> for [T; 6] | [src] |
impl<T> AsMut<[T]> for [T; 7] | [src] |
impl<T> AsMut<[T]> for [T; 8] | [src] |
impl<T> AsMut<[T]> for [T; 9] | [src] |
impl<T> AsMut<[T]> for [T; 10] | [src] |
impl<T> AsMut<[T]> for [T; 11] | [src] |
impl<T> AsMut<[T]> for [T; 12] | [src] |
impl<T> AsMut<[T]> for [T; 13] | [src] |
impl<T> AsMut<[T]> for [T; 14] | [src] |
impl<T> AsMut<[T]> for [T; 15] | [src] |
impl<T> AsMut<[T]> for [T; 16] | [src] |
impl<T> AsMut<[T]> for [T; 17] | [src] |
impl<T> AsMut<[T]> for [T; 18] | [src] |
impl<T> AsMut<[T]> for [T; 19] | [src] |
impl<T> AsMut<[T]> for [T; 20] | [src] |
impl<T> AsMut<[T]> for [T; 21] | [src] |
impl<T> AsMut<[T]> for [T; 22] | [src] |
impl<T> AsMut<[T]> for [T; 23] | [src] |
impl<T> AsMut<[T]> for [T; 24] | [src] |
impl<T> AsMut<[T]> for [T; 25] | [src] |
impl<T> AsMut<[T]> for [T; 26] | [src] |
impl<T> AsMut<[T]> for [T; 27] | [src] |
impl<T> AsMut<[T]> for [T; 28] | [src] |
impl<T> AsMut<[T]> for [T; 29] | [src] |
impl<T> AsMut<[T]> for [T; 30] | [src] |
impl<T> AsMut<[T]> for [T; 31] | [src] |
impl<T> AsMut<[T]> for [T; 32] | [src] |
impl<T> AsMut<[T]> for [T] | [src] |