pub trait AIR: Seal {
type MainColumn: MasterMainColumn + EnumCount;
type AuxColumn: MasterAuxColumn + EnumCount;
// Required methods
fn initial_constraints(
circuit_builder: &ConstraintCircuitBuilder<SingleRowIndicator>,
) -> Vec<ConstraintCircuitMonad<SingleRowIndicator>>;
fn consistency_constraints(
circuit_builder: &ConstraintCircuitBuilder<SingleRowIndicator>,
) -> Vec<ConstraintCircuitMonad<SingleRowIndicator>>;
fn transition_constraints(
circuit_builder: &ConstraintCircuitBuilder<DualRowIndicator>,
) -> Vec<ConstraintCircuitMonad<DualRowIndicator>>;
fn terminal_constraints(
circuit_builder: &ConstraintCircuitBuilder<SingleRowIndicator>,
) -> Vec<ConstraintCircuitMonad<SingleRowIndicator>>;
}
Expand description
Required Associated Types§
type MainColumn: MasterMainColumn + EnumCount
type AuxColumn: MasterAuxColumn + EnumCount
Required Methods§
fn initial_constraints( circuit_builder: &ConstraintCircuitBuilder<SingleRowIndicator>, ) -> Vec<ConstraintCircuitMonad<SingleRowIndicator>>
fn consistency_constraints( circuit_builder: &ConstraintCircuitBuilder<SingleRowIndicator>, ) -> Vec<ConstraintCircuitMonad<SingleRowIndicator>>
fn transition_constraints( circuit_builder: &ConstraintCircuitBuilder<DualRowIndicator>, ) -> Vec<ConstraintCircuitMonad<DualRowIndicator>>
fn terminal_constraints( circuit_builder: &ConstraintCircuitBuilder<SingleRowIndicator>, ) -> Vec<ConstraintCircuitMonad<SingleRowIndicator>>
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.