pub trait BasicExprBuilderExt: BasicExprBuilder {
Show 15 methods
// Provided methods
fn bit_or_else_err(&mut self, a: Expr, b: Value) -> Result<Expr, Error> { ... }
fn bit_and_else_err(&mut self, a: Expr, b: Value) -> Result<Expr, Error> { ... }
fn bit_xor_else_err(&mut self, a: Expr, b: Value) -> Result<Expr, Error> { ... }
fn neg_else_err(&mut self, a: Expr) -> Result<Expr, Error> { ... }
fn add_else_err(&mut self, a: Expr, b: Value) -> Result<Expr, Error> { ... }
fn mul_else_err(&mut self, a: Expr, b: Value) -> Result<Expr, Error> { ... }
fn add_many(
&mut self,
iter: impl IntoIterator<Item = Expr>,
) -> Option<Value> { ... }
fn add_many_else_err(
&mut self,
iter: impl IntoIterator<Item = Expr>,
) -> Result<Value, Error> { ... }
fn mask_shift_or(
&mut self,
reg: Value,
val: Expr,
mask: u64,
shift: i8,
) -> Option<Expr> { ... }
fn mask_shift_or_else_err(
&mut self,
reg: Value,
val: Expr,
mask: u64,
shift: i8,
) -> Result<Expr, Error> { ... }
fn mask_shift_inverted_and(
&mut self,
reg: Value,
val: Expr,
mask: u64,
shift: i8,
) -> Option<Expr> { ... }
fn mask_shift_inverted_and_else_err(
&mut self,
reg: Value,
val: Expr,
mask: u64,
shift: i8,
) -> Result<Expr, Error> { ... }
fn log2_else_err(&mut self, a: Expr) -> Result<Expr, Error> { ... }
fn dynscale(&mut self, _: Expr, _: Value) -> Result<(Expr, Expr), Error> { ... }
fn mask_shift_else_err(
&mut self,
val: Expr,
mask: u64,
shift: i8,
) -> Result<Expr, Error> { ... }
}Provided Methods§
fn bit_or_else_err(&mut self, a: Expr, b: Value) -> Result<Expr, Error>
fn bit_and_else_err(&mut self, a: Expr, b: Value) -> Result<Expr, Error>
fn bit_xor_else_err(&mut self, a: Expr, b: Value) -> Result<Expr, Error>
fn neg_else_err(&mut self, a: Expr) -> Result<Expr, Error>
fn add_else_err(&mut self, a: Expr, b: Value) -> Result<Expr, Error>
fn mul_else_err(&mut self, a: Expr, b: Value) -> Result<Expr, Error>
fn add_many(&mut self, iter: impl IntoIterator<Item = Expr>) -> Option<Value>
fn add_many_else_err( &mut self, iter: impl IntoIterator<Item = Expr>, ) -> Result<Value, Error>
Sourcefn mask_shift_or(
&mut self,
reg: Value,
val: Expr,
mask: u64,
shift: i8,
) -> Option<Expr>
fn mask_shift_or( &mut self, reg: Value, val: Expr, mask: u64, shift: i8, ) -> Option<Expr>
reg | ((val & mask) << shift)
val is not a Value since then the lib could already constant fold until |.
Sourcefn mask_shift_or_else_err(
&mut self,
reg: Value,
val: Expr,
mask: u64,
shift: i8,
) -> Result<Expr, Error>
fn mask_shift_or_else_err( &mut self, reg: Value, val: Expr, mask: u64, shift: i8, ) -> Result<Expr, Error>
reg | ((val & mask) << shift)
Sourcefn mask_shift_inverted_and(
&mut self,
reg: Value,
val: Expr,
mask: u64,
shift: i8,
) -> Option<Expr>
fn mask_shift_inverted_and( &mut self, reg: Value, val: Expr, mask: u64, shift: i8, ) -> Option<Expr>
reg & !((val & mask) << shift)
val is not a Value since then the lib could already constant fold until |.
Sourcefn mask_shift_inverted_and_else_err(
&mut self,
reg: Value,
val: Expr,
mask: u64,
shift: i8,
) -> Result<Expr, Error>
fn mask_shift_inverted_and_else_err( &mut self, reg: Value, val: Expr, mask: u64, shift: i8, ) -> Result<Expr, Error>
reg | ((val & mask) << shift)
fn log2_else_err(&mut self, a: Expr) -> Result<Expr, Error>
fn dynscale(&mut self, _: Expr, _: Value) -> Result<(Expr, Expr), Error>
fn mask_shift_else_err( &mut self, val: Expr, mask: u64, shift: i8, ) -> Result<Expr, Error>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.