pub struct BudgetCell {
pub declared: Option<i64>,
pub observed: usize,
pub origins: usize,
pub worst_origin: Option<String>,
pub worst_observed: usize,
pub exempt: Option<String>,
pub over: bool,
pub examples: Vec<String>,
}Expand description
One {var} row’s declared-vs-observed key population (#221).
Judged per origin: RFC 04 §1’s table bounds cardinality per producer,
so one origin over the bound is conclusive and several origins’ healthy
populations are never summed into a fake violation. over is the only
verdict this cell carries — observed under declared is not one (a
bounded window proves a lower bound, never the population, RFC 09 §5.1
O6), and a {path...} family is exempt and says so rather than
passing (the RFC 08 §6.1 v1.20 shape).
Fields§
§declared: Option<i64>The declared bound, when the subject declares one.
observed: usizeDistinct concrete keys observed across all origins over the window.
origins: usizeOrigins that expanded this family.
worst_origin: Option<String>The origin with the most expansions — the one the bound judges.
worst_observed: usizeThat origin’s distinct-key count (0 = family unobserved).
exempt: Option<String>Some("rest-variable"): a {path...} family, unbounded by
construction — exempt, and saying so.
over: boolThe worst origin exceeds the declared bound — the finding.
examples: Vec<String>Example expansions from the worst origin (capped).
Trait Implementations§
Source§impl Clone for BudgetCell
impl Clone for BudgetCell
Source§fn clone(&self) -> BudgetCell
fn clone(&self) -> BudgetCell
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for BudgetCell
impl Debug for BudgetCell
Auto Trait Implementations§
impl Freeze for BudgetCell
impl RefUnwindSafe for BudgetCell
impl Send for BudgetCell
impl Sync for BudgetCell
impl Unpin for BudgetCell
impl UnsafeUnpin for BudgetCell
impl UnwindSafe for BudgetCell
Blanket Implementations§
Source§impl<Source> AccessAs for Source
impl<Source> AccessAs for Source
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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