Trait TryAsRef

Source
pub trait TryAsRef<T: ?Sized> {
    type Error: Error;

    // Required method
    fn try_as_ref(&self) -> Result<&T, Self::Error>;
}
Expand description

§Example

let a = TestStruct(TestEnum::AType(String::from("a_type")));
let a: Result<&str, TestError> = a.try_as_ref();
assert!(a.is_ok());
 
let a: TestStruct = TestStruct(TestEnum::BType(BType()));
let a: Result<&str, TestError> = a.try_as_ref();
assert!(a.is_err());
 
let b = TestStruct(TestEnum::BType(BType()));
let b: Result<&BType, TestError> = b.try_as_ref();
assert!(b.is_ok());
 
let b = TestStruct(TestEnum::AType(String::from("a_type")));
let b: Result<&BType, TestError> = b.try_as_ref();
assert!(b.is_err());

Required Associated Types§

Required Methods§

Source

fn try_as_ref(&self) -> Result<&T, Self::Error>

Implementors§