pub struct DependencyVisit<'w, N, D, G, W: Work, F, E> { /* private fields */ }Expand description
One synchronous visitor with a private sticky refusal. No dispatch, parser, provider, acquisition or policy is supplied by this collector. The format resolves each dependency against its own sealed whole/archive scope.
Implementations§
Source§impl<'w, N: Copy, D, G, W: Work, F, E> DependencyVisit<'w, N, D, G, W, F, E>
impl<'w, N: Copy, D, G, W: Work, F, E> DependencyVisit<'w, N, D, G, W, F, E>
Sourcepub fn new(node: N, work: &'w W, resolve: F) -> Result<Self, MemoryError>
pub fn new(node: N, work: &'w W, resolve: F) -> Result<Self, MemoryError>
Metadata-only construction, with no allocation or provider call.
Sourcepub fn observe(
&mut self,
need: Dependency<'_, '_, N, D, G>,
) -> Result<(), DependencyRefused>
pub fn observe( &mut self, need: Dependency<'_, '_, N, D, G>, ) -> Result<(), DependencyRefused>
Admits every callback before lookup/copy. A swallowed first refusal cannot become a complete empty report when the provider returns later.
Sourcepub fn finish<P>(
self,
answer: Result<Completeness, VisitError<P, DependencyRefused>>,
) -> Result<DependencyReport, DependencyError<N, E, P>>
pub fn finish<P>( self, answer: Result<Completeness, VisitError<P, DependencyRefused>>, ) -> Result<DependencyReport, DependencyError<N, E, P>>
Preserve the first original callback failure before considering the handler’s answer. All temporary prefix storage drops on refusal.
Auto Trait Implementations§
impl<'w, N, D, G, W, F, E> !Freeze for DependencyVisit<'w, N, D, G, W, F, E>
impl<'w, N, D, G, W, F, E> RefUnwindSafe for DependencyVisit<'w, N, D, G, W, F, E>where
N: RefUnwindSafe,
&'w W: RefUnwindSafe,
F: RefUnwindSafe,
OwnedVec<Finding, W>: RefUnwindSafe,
Option<DependencyError<N, E, !>>: RefUnwindSafe,
PhantomData<(D, G)>: RefUnwindSafe,
impl<'w, N, D, G, W, F, E> Send for DependencyVisit<'w, N, D, G, W, F, E>
impl<'w, N, D, G, W, F, E> Sync for DependencyVisit<'w, N, D, G, W, F, E>
impl<'w, N, D, G, W, F, E> Unpin for DependencyVisit<'w, N, D, G, W, F, E>
impl<'w, N, D, G, W, F, E> UnsafeUnpin for DependencyVisit<'w, N, D, G, W, F, E>where
N: UnsafeUnpin,
&'w W: UnsafeUnpin,
F: UnsafeUnpin,
OwnedVec<Finding, W>: UnsafeUnpin,
Option<DependencyError<N, E, !>>: UnsafeUnpin,
PhantomData<(D, G)>: UnsafeUnpin,
impl<'w, N, D, G, W, F, E> UnwindSafe for DependencyVisit<'w, N, D, G, W, F, E>where
N: UnwindSafe,
&'w W: UnwindSafe,
F: UnwindSafe,
OwnedVec<Finding, W>: UnwindSafe,
Option<DependencyError<N, E, !>>: UnwindSafe,
PhantomData<(D, G)>: 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