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>
impl<Block, Passthrough> ResolvedPrf<Block, Passthrough>
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> 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