Skip to main content

ResolvedPrf

Enum ResolvedPrf 

Source
pub enum ResolvedPrf<Block, Passthrough> {
    Block(Block),
    Sequence(Vec<ResolvedPrf<Block, Passthrough>>),
    Map(Vec<(String, ResolvedPrf<Block, Passthrough>)>),
    Absent,
    Passthrough(Passthrough),
}
Expand description

A fully resolved node supplied to sequence and map visitors.

Visitors may consume each child with a different visitor, allowing a handwritten record to produce heterogeneous owned output from one batch.

Variants§

§

Block(Block)

§

Sequence(Vec<ResolvedPrf<Block, Passthrough>>)

§

Map(Vec<(String, ResolvedPrf<Block, Passthrough>)>)

§

Absent

§

Passthrough(Passthrough)

Implementations§

Source§

impl<Block, Passthrough> ResolvedPrf<Block, Passthrough>

Source

pub fn visit<V>(self, visitor: V) -> Result<V::Value, PrfVisitorError>
where V: PrfVisitor<Block, Passthrough>,

Auto Trait Implementations§

§

impl<Block, Passthrough> Freeze for ResolvedPrf<Block, Passthrough>
where Block: Freeze, Vec<ResolvedPrf<Block, Passthrough>>: Freeze, Vec<(String, ResolvedPrf<Block, Passthrough>)>: Freeze, Passthrough: Freeze,

§

impl<Block, Passthrough> RefUnwindSafe for ResolvedPrf<Block, Passthrough>
where Block: RefUnwindSafe, Vec<ResolvedPrf<Block, Passthrough>>: RefUnwindSafe, Vec<(String, ResolvedPrf<Block, Passthrough>)>: RefUnwindSafe, Passthrough: RefUnwindSafe,

§

impl<Block, Passthrough> Send for ResolvedPrf<Block, Passthrough>
where Block: Send, Vec<ResolvedPrf<Block, Passthrough>>: Send, Vec<(String, ResolvedPrf<Block, Passthrough>)>: Send, Passthrough: Send,

§

impl<Block, Passthrough> Sync for ResolvedPrf<Block, Passthrough>
where Block: Sync, Vec<ResolvedPrf<Block, Passthrough>>: Sync, Vec<(String, ResolvedPrf<Block, Passthrough>)>: Sync, Passthrough: Sync,

§

impl<Block, Passthrough> Unpin for ResolvedPrf<Block, Passthrough>
where Block: Unpin, Vec<ResolvedPrf<Block, Passthrough>>: Unpin, Vec<(String, ResolvedPrf<Block, Passthrough>)>: Unpin, Passthrough: Unpin,

§

impl<Block, Passthrough> UnsafeUnpin for ResolvedPrf<Block, Passthrough>
where Block: UnsafeUnpin, Vec<ResolvedPrf<Block, Passthrough>>: UnsafeUnpin, Vec<(String, ResolvedPrf<Block, Passthrough>)>: UnsafeUnpin, Passthrough: UnsafeUnpin,

§

impl<Block, Passthrough> UnwindSafe for ResolvedPrf<Block, Passthrough>
where Block: UnwindSafe, Vec<ResolvedPrf<Block, Passthrough>>: UnwindSafe, Vec<(String, ResolvedPrf<Block, Passthrough>)>: UnwindSafe, Passthrough: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.