pub enum DecodeError {
Show 17 variants
SExprParse(SExprParseError),
ParseIntError(ParseIntError),
IntegerOverflow,
UnexpectedModel,
UnknownType(SExpr),
UnknownLiteral(SExpr),
UnmatchedType(TermType, TermType),
UnmatchedFieldType(TermType, TermType),
InvalidSetType(SExpr),
InvalidOptionType(SExpr),
SetUnionNonLiterals(Term, Term),
UnmatchedRecordType,
UnknownVariable(String),
UnknownUUF(String),
UnexpectedUnaryFunctionForm(SExpr),
BitVecError(BitVecError),
ZeroWidthBitVec,
}Expand description
Errors during decoding, i.e., converting SMT terms
to our internal Term representation.
Variants§
SExprParse(SExprParseError)
Error parsing an s-expression
ParseIntError(ParseIntError)
Failed to parse an SMT numeral.
IntegerOverflow
Integer overflow.
UnexpectedModel
Model of an unexpected form returned by the solver.
UnknownType(SExpr)
Unknown SMT type.
UnknownLiteral(SExpr)
Unknown SMT literal.
UnmatchedType(TermType, TermType)
Unmatched types.
UnmatchedFieldType(TermType, TermType)
Unmatched field type.
InvalidSetType(SExpr)
Invalid set type.
InvalidOptionType(SExpr)
Invalid option type.
SetUnionNonLiterals(Term, Term)
set.union applied to non-literals.
UnmatchedRecordType
Unmatched record type fields.
UnknownVariable(String)
Unknown variable.
UnknownUUF(String)
Unknown unary function.
UnexpectedUnaryFunctionForm(SExpr)
Unexpected form of unary function model.
BitVecError(BitVecError)
Bit-vector error.
ZeroWidthBitVec
Bitvector of a zero width, which we do not support.
Trait Implementations§
Source§impl Debug for DecodeError
impl Debug for DecodeError
Source§impl Diagnostic for DecodeError
impl Diagnostic for DecodeError
Source§fn code<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
fn code<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
Unique diagnostic code that can be used to look up more information
about this
Diagnostic. Ideally also globally unique, and documented
in the toplevel crate’s documentation for easy searching. Rust path
format (foo::bar::baz) is recommended, but more classic codes like
E0123 or enums will work just fine.Source§fn severity(&self) -> Option<Severity>
fn severity(&self) -> Option<Severity>
Diagnostic severity. This may be used by
ReportHandlers to change the display format
of this diagnostic. Read moreSource§fn help<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
fn help<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
Additional help text related to this
Diagnostic. Do you have any
advice for the poor soul who’s just run into this issue?Source§fn url<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
fn url<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
URL to visit for a more detailed explanation/help about this
Diagnostic.Source§fn source_code(&self) -> Option<&dyn SourceCode>
fn source_code(&self) -> Option<&dyn SourceCode>
Source code to apply this
Diagnostic’s Diagnostic::labels to.Source§fn labels(&self) -> Option<Box<dyn Iterator<Item = LabeledSpan> + '_>>
fn labels(&self) -> Option<Box<dyn Iterator<Item = LabeledSpan> + '_>>
Labels to apply to this
Diagnostic’s Diagnostic::source_codeAdditional related
Diagnostics.Source§fn diagnostic_source(&self) -> Option<&dyn Diagnostic>
fn diagnostic_source(&self) -> Option<&dyn Diagnostic>
The cause of the error.
Source§impl Display for DecodeError
impl Display for DecodeError
Source§impl Error for DecodeError
impl Error for DecodeError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Source§impl From<BitVecError> for DecodeError
impl From<BitVecError> for DecodeError
Source§fn from(source: BitVecError) -> Self
fn from(source: BitVecError) -> Self
Converts to this type from the input type.
Source§impl From<DecodeError> for Error
impl From<DecodeError> for Error
Source§fn from(source: DecodeError) -> Self
fn from(source: DecodeError) -> Self
Converts to this type from the input type.
Source§impl From<ParseIntError> for DecodeError
impl From<ParseIntError> for DecodeError
Source§fn from(source: ParseIntError) -> Self
fn from(source: ParseIntError) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for DecodeError
impl RefUnwindSafe for DecodeError
impl Send for DecodeError
impl Sync for DecodeError
impl Unpin for DecodeError
impl UnsafeUnpin for DecodeError
impl UnwindSafe for DecodeError
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
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> ⓘ
Converts
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> ⓘ
Converts
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