#[non_exhaustive]pub struct SyncMetaReport {
pub metas_visited: usize,
pub phase1_classifications: Vec<(PathBuf, PathBuf, DestClass)>,
pub phase2_pruned: Vec<PathBuf>,
pub errors: Vec<TreeError>,
pub dry_run_would_clone: Vec<DryRunWouldCloneRecord>,
}Expand description
Outcome of one sync_meta invocation. Aggregated across every
recursion frame: a sub-meta’s report is folded into its parent’s
report at the end of Phase 3.
Marked #[non_exhaustive] so future PATCH/MINOR slices can add
fields (e.g. v1.3.1’s dry_run_would_clone) without breaking
external struct-literal constructors or exhaustive pattern matches.
In-crate construction goes through ..Default::default() to stay
non_exhaustive-compatible.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.metas_visited: usizeNumber of metas processed (this meta + every descendant Phase 3
recursion fired against). Useful for --shallow verification:
recurse: false means metas_visited == 1.
phase1_classifications: Vec<(PathBuf, PathBuf, DestClass)>Per-child Phase 1 verdicts, keyed by parent-relative child path.
(meta_dir, child_dest, classification) — exposed primarily for
tests; downstream callers will project into a status report.
phase2_pruned: Vec<PathBuf>Successful Phase 2 prunes (paths that were removed). Empty when no orphan list was supplied or every orphan refused.
errors: Vec<TreeError>Aggregate of every error encountered across Phases 1, 2, and 3. The walker continues past recoverable errors so the caller sees the full picture in one pass.
dry_run_would_clone: Vec<DryRunWouldCloneRecord>v1.3.1 (B4) — one record per child the walker WOULD have cloned
during Phase 1 if SyncMetaOptions::dry_run were false.
Always empty when dry_run = false. CLI renderers should
surface the records as the dry-run plan for the operator.
Trait Implementations§
Source§impl Debug for SyncMetaReport
impl Debug for SyncMetaReport
Source§impl Default for SyncMetaReport
impl Default for SyncMetaReport
Source§fn default() -> SyncMetaReport
fn default() -> SyncMetaReport
Auto Trait Implementations§
impl Freeze for SyncMetaReport
impl !RefUnwindSafe for SyncMetaReport
impl Send for SyncMetaReport
impl Sync for SyncMetaReport
impl Unpin for SyncMetaReport
impl UnsafeUnpin for SyncMetaReport
impl !UnwindSafe for SyncMetaReport
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more