Trait core::ops::DerefStable
[-]
[+]
[src]
pub trait Deref {
type Target: ?Sized;
fn deref<'a>(&'a self) -> &'a Target;
}The Deref trait is used to specify the functionality of dereferencing
operations like *v.
Example
A struct with a single field which is accessible via dereferencing the struct.
#![feature(associated_types)] use std::ops::Deref; struct DerefExample<T> { value: T } impl<T> Deref for DerefExample<T> { type Target = T; fn deref<'a>(&'a self) -> &'a T { &self.value } } fn main() { let x = DerefExample { value: 'a' }; assert_eq!('a', *x); }#![feature(associated_types)] use std::ops::Deref; struct DerefExample<T> { value: T } impl<T> Deref for DerefExample<T> { type Target = T; fn deref<'a>(&'a self) -> &'a T { &self.value } } fn main() { let x = DerefExample { value: 'a' }; assert_eq!('a', *x); }