pub struct SymbolicTruncation {
pub reason: SymbolicTruncationReason,
pub emitted: usize,
pub limit: Option<usize>,
}Expand description
What stopped an extraction early, when something did.
Present only on a truncated result.
Fields§
§reason: SymbolicTruncationReasonThe MOST SEVERE bound that fired, not the first: an extraction bound
outranks a per-item one whatever the scan order. See
SymbolicAccumulator::record.
emitted: usizePrimitives emitted in total. NOT necessarily equal to any limit: a traversal bound stops content from being produced while the file-level totals stay far below the extraction bounds.
limit: Option<usize>The bound’s value, when the reason has a single numeric one. None for
the traversal reasons, whose bounds count a DIFFERENT UNIT from
emitted – revisits and nesting depth, not primitives – so there is
no meaningful “{emitted} of {limit}” to render.
Note this is no longer because those bounds are per item: since #3114
the revisit budget is extraction-wide. It is the units that do not
line up, and that is what keeps limit absent.
Skipped rather than serialized as null: the TypeScript mirror declares
limit?: number, which means the key is ABSENT. Emitting null satisfies
Rust and breaks the consumer’s 'limit' in truncated check.
Trait Implementations§
Source§impl Clone for SymbolicTruncation
impl Clone for SymbolicTruncation
Source§fn clone(&self) -> SymbolicTruncation
fn clone(&self) -> SymbolicTruncation
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 SymbolicTruncation
impl Debug for SymbolicTruncation
Source§impl<'de> Deserialize<'de> for SymbolicTruncation
impl<'de> Deserialize<'de> for SymbolicTruncation
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for SymbolicTruncation
Source§impl PartialEq for SymbolicTruncation
impl PartialEq for SymbolicTruncation
Source§impl Serialize for SymbolicTruncation
impl Serialize for SymbolicTruncation
impl StructuralPartialEq for SymbolicTruncation
Auto Trait Implementations§
impl Freeze for SymbolicTruncation
impl RefUnwindSafe for SymbolicTruncation
impl Send for SymbolicTruncation
impl Sync for SymbolicTruncation
impl Unpin for SymbolicTruncation
impl UnsafeUnpin for SymbolicTruncation
impl UnwindSafe for SymbolicTruncation
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.