#[non_exhaustive]pub struct RebuildReport<M> {
pub machine: &'static str,
pub input: RebuildInput,
pub candidate_states: Vec<&'static str>,
pub ambiguity: RebuildAmbiguity,
pub attempts: Vec<RebuildAttempt>,
pub result: Result<M>,
}Expand description
A typed rehydration result plus the validator attempts that produced it.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.machine: &'static strRust machine type whose validators were evaluated.
input: RebuildInputPersisted input shape and optional stable input identifier.
candidate_states: Vec<&'static str>State candidates considered by the generated rebuild surface.
ambiguity: RebuildAmbiguityWhether this report checked for multiple matching validators.
attempts: Vec<RebuildAttempt>Validator attempts in evaluation order.
result: Result<M>Final rebuild result.
Implementations§
Source§impl<M> RebuildReport<M>
impl<M> RebuildReport<M>
Sourcepub fn new(
machine: &'static str,
input: RebuildInput,
candidate_states: Vec<&'static str>,
ambiguity: RebuildAmbiguity,
attempts: Vec<RebuildAttempt>,
result: Result<M>,
) -> Self
pub fn new( machine: &'static str, input: RebuildInput, candidate_states: Vec<&'static str>, ambiguity: RebuildAmbiguity, attempts: Vec<RebuildAttempt>, result: Result<M>, ) -> Self
Create a structured rebuild report.
Sourcepub fn with_input_identifier(
self,
identifier: impl Into<Cow<'static, str>>,
) -> Self
pub fn with_input_identifier( self, identifier: impl Into<Cow<'static, str>>, ) -> Self
Attach a stable persisted-input identifier for logs or admin UIs.
Sourcepub fn matched_attempt(&self) -> Option<&RebuildAttempt>
pub fn matched_attempt(&self) -> Option<&RebuildAttempt>
Returns the first matching validator attempt, if any.
Sourcepub fn into_result(self) -> Result<M>
pub fn into_result(self) -> Result<M>
Consumes the report and returns the original rebuild result.
Trait Implementations§
Auto Trait Implementations§
impl<M> Freeze for RebuildReport<M>where
M: Freeze,
impl<M> RefUnwindSafe for RebuildReport<M>where
M: RefUnwindSafe,
impl<M> Send for RebuildReport<M>where
M: Send,
impl<M> Sync for RebuildReport<M>where
M: Sync,
impl<M> Unpin for RebuildReport<M>where
M: Unpin,
impl<M> UnsafeUnpin for RebuildReport<M>where
M: UnsafeUnpin,
impl<M> UnwindSafe for RebuildReport<M>where
M: 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