pub enum PccError {
Overflow,
MissingFact,
UnsupportedFact,
UnsupportedBlockparam,
OutOfBounds,
UnimplementedBackend,
UnimplementedInst,
InvalidFieldOffset,
BadFieldType,
WriteToReadOnlyField,
InvalidStoredFact,
}
Expand description
An error or inconsistency discovered when checking proof-carrying code.
Variants§
Overflow
An operation wraps around, invalidating the stated value range.
MissingFact
An input to an operator that produces a fact-annotated value does not have a fact describing it, and one is needed.
UnsupportedFact
A derivation of an output fact is unsupported (incorrect or not derivable).
UnsupportedBlockparam
A block parameter claims a fact that one of its predecessors does not support.
OutOfBounds
A memory access is out of bounds.
UnimplementedBackend
Proof-carrying-code checking is not implemented for a particular compiler backend.
UnimplementedInst
Proof-carrying-code checking is not implemented for a particular instruction that instruction-selection chose. This is an internal compiler error.
InvalidFieldOffset
Access to an invalid or undefined field offset in a struct.
BadFieldType
Access to a field via the wrong type.
WriteToReadOnlyField
Store to a read-only field.
InvalidStoredFact
Store of data to a field with a fact that does not subsume the field’s fact.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PccError
impl RefUnwindSafe for PccError
impl Send for PccError
impl Sync for PccError
impl Unpin for PccError
impl UnwindSafe for PccError
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,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)