pub enum BddBuildError {
TooLarge {
budget: usize,
during: &'static str,
},
CnfTooLarge {
limit: usize,
during: &'static str,
},
TooManyBits {
bits: usize,
},
Ir(IrError),
StateUnknown(StateId),
UnboundState(StateId),
UnboundVar(VarId),
Unexpanded,
VarWidthMismatch {
var: VarId,
declared: u32,
used: u32,
},
}Expand description
Why a constraint set could not be turned into a BDD.
Variants§
TooLarge
A BDD operation would exceed the node budget; the engine falls back to SAT.
Fields
CnfTooLarge
The CNF the SAT fallback would build exceeds its clause limit.
Fields
TooManyBits
More random-variable bits than the BDD library has variables.
Ir(IrError)
The IR is ill-typed (a builder bug).
StateUnknown(StateId)
A state variable read has an X/Z bit (LRM 18.3, decision E9).
UnboundState(StateId)
The IR names a state variable the caller did not supply.
UnboundVar(VarId)
The IR names a random variable the caller did not declare.
Unexpanded
The IR still holds an array-level node (a run-time expansion bug).
VarWidthMismatch
The IR uses a random variable at a width other than its declaration.
Trait Implementations§
Source§impl Clone for BddBuildError
impl Clone for BddBuildError
Source§impl Debug for BddBuildError
impl Debug for BddBuildError
Source§impl Display for BddBuildError
impl Display for BddBuildError
impl Eq for BddBuildError
Source§impl Error for BddBuildError
impl Error for BddBuildError
1.30.0 · 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<BddBuildError> for SolveError
impl From<BddBuildError> for SolveError
Source§fn from(e: BddBuildError) -> Self
fn from(e: BddBuildError) -> Self
Converts to this type from the input type.
Source§impl From<IrError> for BddBuildError
impl From<IrError> for BddBuildError
Source§impl PartialEq for BddBuildError
impl PartialEq for BddBuildError
impl StructuralPartialEq for BddBuildError
Auto Trait Implementations§
impl Freeze for BddBuildError
impl RefUnwindSafe for BddBuildError
impl Send for BddBuildError
impl Sync for BddBuildError
impl Unpin for BddBuildError
impl UnsafeUnpin for BddBuildError
impl UnwindSafe for BddBuildError
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.