#[non_exhaustive]pub struct PirReceipt {
pub schema_version: u32,
pub source_identity: Option<String>,
pub lowering_mode: PirLoweringMode,
pub node_count: usize,
pub edge_count: usize,
pub operation_counts: BTreeMap<&'static str, usize>,
pub context_counts: BTreeMap<&'static str, usize>,
pub source_anchor_coverage: PirAnchorCoverage,
pub dynamic_boundary_counts: BTreeMap<&'static str, usize>,
pub unsupported_construct_counts: BTreeMap<&'static str, usize>,
pub ambient_inputs: Vec<String>,
pub provider_behavior_changed: bool,
}Expand description
A PIR lowering receipt.
Receipts explain what lowered, what fell back, and what was blocked. They are the proof surface for PIR work and assert that provider behavior did not change.
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.schema_version: u32Receipt schema version.
source_identity: Option<String>Caller-supplied source file or workspace fixture identity.
lowering_mode: PirLoweringModeLowering mode that produced the graph.
node_count: usizeNumber of PIR nodes.
edge_count: usizeNumber of control-flow edges.
operation_counts: BTreeMap<&'static str, usize>Lowered operation counts, keyed by operation-family name.
context_counts: BTreeMap<&'static str, usize>Context counts, keyed by context name.
source_anchor_coverage: PirAnchorCoverageSource-anchor coverage summary.
dynamic_boundary_counts: BTreeMap<&'static str, usize>Dynamic-boundary counts, keyed by boundary-kind name.
unsupported_construct_counts: BTreeMap<&'static str, usize>HIR constructs PIR v0 did not lower, keyed by HIR kind name.
ambient_inputs: Vec<String>Stale or ambient inputs that affected lowering.
provider_behavior_changed: boolWhether provider behavior changed. Always false under PIR v0.
Trait Implementations§
Source§impl Clone for PirReceipt
impl Clone for PirReceipt
Source§fn clone(&self) -> PirReceipt
fn clone(&self) -> PirReceipt
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PirReceipt
impl Debug for PirReceipt
impl Eq for PirReceipt
Source§impl PartialEq for PirReceipt
impl PartialEq for PirReceipt
Source§fn eq(&self, other: &PirReceipt) -> bool
fn eq(&self, other: &PirReceipt) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for PirReceipt
Auto Trait Implementations§
impl Freeze for PirReceipt
impl RefUnwindSafe for PirReceipt
impl Send for PirReceipt
impl Sync for PirReceipt
impl Unpin for PirReceipt
impl UnsafeUnpin for PirReceipt
impl UnwindSafe for PirReceipt
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