pub trait CircuitInitialization<L> {
type Config: Clone + Debug;
type Args: Default;
type ConfigCols: Clone + Debug + AutoConfigure<Self::CS>;
type CS;
type Error;
// Required methods
fn new_chip(config: &Self::Config, args: Self::Args) -> Self;
fn configure_circuit(
meta: &mut Self::CS,
columns: &Self::ConfigCols,
) -> Self::Config;
fn load_chip(
&self,
layouter: &mut L,
config: &Self::Config,
) -> Result<(), Self::Error>;
}Expand description
Adaptor trait for integrating chips with the extractor.
Required Associated Types§
Sourcetype ConfigCols: Clone + Debug + AutoConfigure<Self::CS>
type ConfigCols: Clone + Debug + AutoConfigure<Self::CS>
Configuration columns of the circuit.
Required Methods§
Sourcefn new_chip(config: &Self::Config, args: Self::Args) -> Self
fn new_chip(config: &Self::Config, args: Self::Args) -> Self
Creates a new instance of the chip.
Sourcefn configure_circuit(
meta: &mut Self::CS,
columns: &Self::ConfigCols,
) -> Self::Config
fn configure_circuit( meta: &mut Self::CS, columns: &Self::ConfigCols, ) -> Self::Config
Creates an instance of the chip’s configuration.
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.