pub trait MaybeOpaquewhere
    Self: TryInto<Self::Opaque, Error = DatumConversionFailure<Self>>,{
    type Opaque: Clone + Eq + PartialEq + Hash;
    type OpaqueRef<'a>: Deref<Target = Self::Opaque> + Borrow<Self::Opaque>
       where Self: 'a;

    // Required method
    fn try_as_opaque(&self) -> Result<Self::OpaqueRef<'_>, TypeMismatch>;

    // Provided methods
    fn is_opaque(&self) -> bool { ... }
    fn try_into_opaque(self) -> Result<Self::Opaque, TypeMismatch> { ... }
}
Expand description

Types that can be a reference to an opaque datum allowing comparison for equality and hashing

Required Associated Types§

source

type Opaque: Clone + Eq + PartialEq + Hash

Type used to represent reference to an opaque datum

source

type OpaqueRef<'a>: Deref<Target = Self::Opaque> + Borrow<Self::Opaque> where Self: 'a

Reference or smart pointer to MaybeOpaque::Opaque as returned by try_as_opaque

Required Methods§

source

fn try_as_opaque(&self) -> Result<Self::OpaqueRef<'_>, TypeMismatch>

Try to interpret datum as reference to opaque datum

Provided Methods§

source

fn is_opaque(&self) -> bool

Can the datum be interpreted as an opaque value?

source

fn try_into_opaque(self) -> Result<Self::Opaque, TypeMismatch>

Try to convert datum into opaque datum

Implementors§