Trait core::ops::IndexMutExperimental
[-]
[+]
[src]
pub trait IndexMut<Index: ?Sized, Result: ?Sized>: ?Sized { fn index_mut<'a>(&'a mut self, index: &Index) -> &'a mut Result; }
The IndexMut
trait is used to specify the functionality of indexing
operations like arr[idx]
, when used in a mutable context.
Example
A trivial implementation of IndexMut
. When Foo[Foo]
happens, it ends up
calling index_mut
, and therefore, main
prints Indexing!
.
#[deriving(Copy)] struct Foo; impl IndexMut<Foo, Foo> for Foo { fn index_mut<'a>(&'a mut self, _index: &Foo) -> &'a mut Foo { println!("Indexing!"); self } } fn main() { &mut Foo[Foo]; }
Required Methods
fn index_mut<'a>(&'a mut self, index: &Index) -> &'a mut Result
The method for the indexing (Foo[Bar]
) operation