pub enum Recognized<T, Raw = String> {
Known(T),
Unknown(Raw),
}Expand description
A value that was either successfully recognized as a known variant T,
or is an unrecognized raw value Raw.
This is conceptually similar to Result<T, Raw>, but for cases where the
“error” isn’t really an error — it’s just a value we don’t have a typed
representation for. The raw value is preserved so callers can inspect or
display it.
Variants§
Implementations§
Source§impl<T, Raw> Recognized<T, Raw>
impl<T, Raw> Recognized<T, Raw>
pub fn known(&self) -> Option<&T>
pub fn into_known(self) -> Option<T>
pub fn unknown(&self) -> Option<&Raw>
pub fn into_unknown(self) -> Option<Raw>
pub fn is_known(&self) -> bool
pub fn is_unknown(&self) -> bool
pub fn unwrap(self) -> Twhere
Raw: Debug,
pub fn expect(self, msg: &str) -> Twhere
Raw: Debug,
pub fn unwrap_or(self, default: T) -> T
pub fn unwrap_or_else<F: FnOnce(Raw) -> T>(self, f: F) -> T
pub fn map<U, F: FnOnce(T) -> U>(self, f: F) -> Recognized<U, Raw>
pub fn map_unknown<U, F: FnOnce(Raw) -> U>(self, f: F) -> Recognized<T, U>
pub fn and_then<U, F: FnOnce(T) -> Recognized<U, Raw>>( self, f: F, ) -> Recognized<U, Raw>
pub fn as_ref(&self) -> Recognized<&T, &Raw>
Trait Implementations§
Source§impl<T: Clone, Raw: Clone> Clone for Recognized<T, Raw>
impl<T: Clone, Raw: Clone> Clone for Recognized<T, Raw>
Source§fn clone(&self) -> Recognized<T, Raw>
fn clone(&self) -> Recognized<T, Raw>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl<T: Copy, Raw: Copy> Copy for Recognized<T, Raw>
impl<T: Eq, Raw: Eq> Eq for Recognized<T, Raw>
Source§impl<T, Raw> From<T> for Recognized<T, Raw>
impl<T, Raw> From<T> for Recognized<T, Raw>
Source§impl<T: PartialEq, Raw: PartialEq> PartialEq for Recognized<T, Raw>
impl<T: PartialEq, Raw: PartialEq> PartialEq for Recognized<T, Raw>
Source§fn eq(&self, other: &Recognized<T, Raw>) -> bool
fn eq(&self, other: &Recognized<T, Raw>) -> bool
Tests for
self and other values to be equal, and is used by ==.impl<T: PartialEq, Raw: PartialEq> StructuralPartialEq for Recognized<T, Raw>
Auto Trait Implementations§
impl<T, Raw> Freeze for Recognized<T, Raw>
impl<T, Raw> RefUnwindSafe for Recognized<T, Raw>where
T: RefUnwindSafe,
Raw: RefUnwindSafe,
impl<T, Raw> Send for Recognized<T, Raw>
impl<T, Raw> Sync for Recognized<T, Raw>
impl<T, Raw> Unpin for Recognized<T, Raw>
impl<T, Raw> UnsafeUnpin for Recognized<T, Raw>where
T: UnsafeUnpin,
Raw: UnsafeUnpin,
impl<T, Raw> UnwindSafe for Recognized<T, Raw>where
T: UnwindSafe,
Raw: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more