Skip to main content

Report

Struct Report 

Source
pub struct Report {
Show 18 fields pub age_reference_ns: Option<i64>, pub format: Format, pub status: TreeStatus, pub provenance: ReportProvenance, pub scope: ScanScope, pub requested_analysis: AnalysisSet, pub requested_views: Vec<ViewSpec>, pub omitted_views: Vec<ViewSpec>, pub root: PathBuf, pub notes: Vec<String>, pub tips: Vec<String>, pub axes: &'static AxisNames, pub size: SizeMetric, pub sort_metric: Option<&'static str>, pub analysis: Option<ContentReportMetadata>, pub ignored_entries: IgnoredEntries, pub ignore_rules: ControlCoverage, pub sections: Vec<Section>,
}
Expand description

A rendered answer: provenance, plus one section per requested view.

Fields§

§age_reference_ns: Option<i64>

Instant used for modification age, in epoch nanoseconds; unknown outside i64.

§format: Format

Requested presentation; Text resolves from each section projection.

§status: TreeStatus

Completeness and bounded failure detail for this answer.

§provenance: ReportProvenance

Source, currency, and timing for this answer and its retained tiers.

§scope: ScanScope

The semantic scan scope represented by this report.

A projected cache load constructs its index directly in the requested controls-off scope, so every report route reads this value from the same requested-scope index.

§requested_analysis: AnalysisSet

Analyzer units requested for this answer.

§requested_views: Vec<ViewSpec>

Resolved views requested and answerable by this analyzer set.

§omitted_views: Vec<ViewSpec>

Resolved views requested but unavailable from this analyzer set.

§root: PathBuf

Absolute path of the indexed root.

§notes: Vec<String>

Remarks about the report itself, in the order a renderer should print them.

Facts about what was asked for and what could be answered – not telemetry about the run, which the schema deliberately excludes. Deliberately not serialised: a machine consumer reads the omission from which sections are absent, and adding a field to the envelope would be a schema change for something only humans read.

§tips: Vec<String>

Actionable suggestions, rendered once after factual notes; excluded from wire data.

§axes: &'static AxisNames

Surface vocabulary for actionable display-bound suggestions.

§size: SizeMetric

Which size metric this report answers in.

Carried on the report so a renderer shows the same number the ordering used; printing apparent bytes beside an allocated-bytes ranking looks like a sorting bug and is worse than either metric alone.

§sort_metric: Option<&'static str>

Registered numeric metric used for sorting, when selected.

§analysis: Option<ContentReportMetadata>

Analyzer identity when sparse content records are present.

§ignored_entries: IgnoredEntries

Which entries the rows count by .gitignore classification.

Carried for the renderer, like Self::size, and not serialised: a row whose selection admits only ignored entries is wholly ignored, so text leaves the ignored share off rather than repeat the size beside it.

§ignore_rules: ControlCoverage

Whether ignore classification applies every .gitignore in scope, serialised as ignore_rules.

Not operational completeness: a refused control file leaves TreeStatus::complete true and every size exact, and costs only the ignored and unignored split below it. Self::notes names the directories and the knob that applies them.

§sections: Vec<Section>

One section per requested view, in request order.

Trait Implementations§

Source§

impl Clone for Report

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Report

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.