Trait borrow_with_ref_obj::BorrowWithRefObj [−][src]
pub trait BorrowWithRefObj<'refr, T: 'refr + ?Sized> { type Reference: Deref<Target = T> + 'refr; fn borrow(&'refr self) -> Self::Reference; }
Immutable borrower whose reference is an object.
See the crate documentation for more info.
Associated Types
Required Methods
fn borrow(&'refr self) -> Self::Reference
Borrows the object immutably.
Panics
May panic if borrowing a mutably-borrowed RefCell
, a poisoned Mutex
or RwLock
, or some other implementation-defined issue.
Implementations on Foreign Types
impl<'refr, 'main, T: 'refr + ?Sized> BorrowWithRefObj<'refr, T> for &'main T
[src]
impl<'refr, 'main, T: 'refr + ?Sized> BorrowWithRefObj<'refr, T> for &'main T
impl<'refr, T: 'refr + ?Sized> BorrowWithRefObj<'refr, T> for Box<T>
[src]
impl<'refr, T: 'refr + ?Sized> BorrowWithRefObj<'refr, T> for Box<T>
impl<'refr, T: 'refr + ?Sized> BorrowWithRefObj<'refr, T> for Rc<RefCell<T>>
[src]
impl<'refr, T: 'refr + ?Sized> BorrowWithRefObj<'refr, T> for Rc<RefCell<T>>
impl<'refr, T: 'refr + ?Sized> BorrowWithRefObj<'refr, T> for Arc<Mutex<T>>
[src]
impl<'refr, T: 'refr + ?Sized> BorrowWithRefObj<'refr, T> for Arc<Mutex<T>>
type Reference = MutexGuard<'refr, T>
fn borrow(&'refr self) -> Self::Reference
[src]
fn borrow(&'refr self) -> Self::Reference
impl<'refr, T: 'refr + ?Sized> BorrowWithRefObj<'refr, T> for Arc<RwLock<T>>
[src]
impl<'refr, T: 'refr + ?Sized> BorrowWithRefObj<'refr, T> for Arc<RwLock<T>>
type Reference = RwLockReadGuard<'refr, T>
fn borrow(&'refr self) -> Self::Reference
[src]
fn borrow(&'refr self) -> Self::Reference
Implementors
impl<'refr, T: 'refr + ?Sized> BorrowWithRefObj<'refr, T> for T type Reference = &'refr T;
impl<'refr, 'main, T: ?Sized + 'refr> BorrowWithRefObj<'refr, T> for BoxedBorrowWithRefObj<'main, T> type Reference = BoxedReference<'refr, T>;