pub enum Resolvable<T> {
Resolved(T),
Unresolved(Box<ResolvableDirective>),
}Expand description
A value that is either resolved to a concrete node T or deferred
to an extension for resolution.
Variants§
Resolved(T)
The value has been resolved to a concrete node.
Unresolved(Box<ResolvableDirective>)
The value needs to be resolved by an extension.
Implementations§
Source§impl<T: FromMeta> Resolvable<T>
impl<T: FromMeta> Resolvable<T>
Source§impl<T> Resolvable<T>
impl<T> Resolvable<T>
Sourcepub fn resolved(&self) -> Option<&T>
pub fn resolved(&self) -> Option<&T>
Returns a reference to the resolved value, or None if unresolved.
Sourcepub fn try_resolved(&self) -> Result<&T, CodamaError>
pub fn try_resolved(&self) -> Result<&T, CodamaError>
Returns the resolved value, or an error if unresolved.
Sourcepub fn try_into_resolved(self) -> Result<T, CodamaError>
pub fn try_into_resolved(self) -> Result<T, CodamaError>
Consumes self and returns the resolved value, or an error if unresolved.
Sourcepub fn is_unresolved(&self) -> bool
pub fn is_unresolved(&self) -> bool
Returns true if this is an unresolved directive.
Sourcepub fn is_resolved(&self) -> bool
pub fn is_resolved(&self) -> bool
Returns true if this is a resolved value.
Sourcepub fn map<U>(self, f: impl FnOnce(T) -> U) -> Resolvable<U>
pub fn map<U>(self, f: impl FnOnce(T) -> U) -> Resolvable<U>
Maps the resolved value using the given function.
Trait Implementations§
Source§impl<T: Clone> Clone for Resolvable<T>
impl<T: Clone> Clone for Resolvable<T>
Source§fn clone(&self) -> Resolvable<T>
fn clone(&self) -> Resolvable<T>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<T: Debug> Debug for Resolvable<T>
impl<T: Debug> Debug for Resolvable<T>
Source§impl<T> From<T> for Resolvable<T>
impl<T> From<T> for Resolvable<T>
Source§impl<T: PartialEq> PartialEq for Resolvable<T>
impl<T: PartialEq> PartialEq for Resolvable<T>
impl<T> StructuralPartialEq for Resolvable<T>
Auto Trait Implementations§
impl<T> Freeze for Resolvable<T>where
T: Freeze,
impl<T> RefUnwindSafe for Resolvable<T>where
T: RefUnwindSafe,
impl<T> !Send for Resolvable<T>
impl<T> !Sync for Resolvable<T>
impl<T> Unpin for Resolvable<T>where
T: Unpin,
impl<T> UnsafeUnpin for Resolvable<T>where
T: UnsafeUnpin,
impl<T> UnwindSafe for Resolvable<T>where
T: 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