pub enum Error {
ActionNotInSchema(String),
CompileError(CompileError),
EncodeError(EncodeError),
SolverError(SolverError),
SolverUnknown,
PolicyNotWellTyped {
errs: Vec<ValidationError>,
},
DecodeModel(DecodeError),
ConcretizeError(ConcretizeError),
ModelInvalid {
assert: Term,
},
NoPolicies,
}Expand description
Top-level errors from the whole cedar-policy-symcc crate.
Variants§
ActionNotInSchema(String)
Action not found in schema.
CompileError(CompileError)
Errors during symbolic compilation.
EncodeError(EncodeError)
Errors from the SMT encoder.
SolverError(SolverError)
Solver-related errors.
SolverUnknown
Solver returned unknown.
PolicyNotWellTyped
Policy is not well-typed.
Fields
§
errs: Vec<ValidationError>Errors from the policy validator.
DecodeModel(DecodeError)
Failed to decode the SMT model.
ConcretizeError(ConcretizeError)
Errors during concretization.
ModelInvalid
Model successfully decoded and concretized, but the resulting model is invalid.
NoPolicies
Empty-list of policies was passed to a function that expects at least one policy
Trait Implementations§
Source§impl Diagnostic for Error
impl Diagnostic for Error
Additional related
Diagnostics.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_codeSource§fn diagnostic_source(&self) -> Option<&dyn Diagnostic>
fn diagnostic_source(&self) -> Option<&dyn Diagnostic>
The cause of the error.
Source§impl Error for Error
impl Error for Error
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<CompileError> for Error
impl From<CompileError> for Error
Source§fn from(source: CompileError) -> Self
fn from(source: CompileError) -> Self
Converts to this type from the input type.
Source§impl From<ConcretizeError> for Error
impl From<ConcretizeError> for Error
Source§fn from(source: ConcretizeError) -> Self
fn from(source: ConcretizeError) -> 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<EncodeError> for Error
impl From<EncodeError> for Error
Source§fn from(source: EncodeError) -> Self
fn from(source: EncodeError) -> Self
Converts to this type from the input type.
Source§impl From<SolverError> for Error
impl From<SolverError> for Error
Source§fn from(source: SolverError) -> Self
fn from(source: SolverError) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl !RefUnwindSafe for Error
impl !UnwindSafe for Error
impl Freeze for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl UnsafeUnpin for Error
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