pub trait Assignment<F: Field> {
    fn enter_region<NR, N>(&mut self, name_fn: N)
    where
        NR: Into<String>,
        N: FnOnce() -> NR
; fn exit_region(&mut self); fn enable_selector<A, AR>(
        &mut self,
        annotation: A,
        selector: &Selector,
        row: usize
    ) -> Result<(), Error>
    where
        A: FnOnce() -> AR,
        AR: Into<String>
; fn query_instance(
        &self,
        column: Column<Instance>,
        row: usize
    ) -> Result<Value<F>, Error>; fn assign_advice<'r, 'v>(
        &'r mut self,
        column: Column<Advice>,
        row: usize,
        to: Value<Assigned<F>>
    ) -> Result<Value<&'v Assigned<F>>, Error>; fn assign_fixed(&mut self, column: Column<Fixed>, row: usize, to: Assigned<F>); fn copy(
        &mut self,
        left_column: Column<Any>,
        left_row: usize,
        right_column: Column<Any>,
        right_row: usize
    ); fn fill_from_row(
        &mut self,
        column: Column<Fixed>,
        row: usize,
        to: Value<Assigned<F>>
    ) -> Result<(), Error>; fn get_challenge(&self, challenge: Challenge) -> Value<F>; fn push_namespace<NR, N>(&mut self, name_fn: N)
    where
        NR: Into<String>,
        N: FnOnce() -> NR
; fn pop_namespace(&mut self, gadget_name: Option<String>); fn next_phase(&mut self) { ... } }
Expand description

This trait allows a Circuit to direct some backend to assign a witness for a constraint system.

Required Methods

Creates a new region and enters into it.

Panics if we are currently in a region (if exit_region was not called).

Not intended for downstream consumption; use Layouter::assign_region instead.

Exits the current region.

Panics if we are not currently in a region (if enter_region was not called).

Not intended for downstream consumption; use Layouter::assign_region instead.

Enables a selector at the given row.

Queries the cell of an instance column at a particular absolute row.

Returns the cell’s value, if known.

Assign an advice column value (witness)

Assign a fixed value

Assign two cells to have the same value

Fills a fixed column starting from the given row with value to.

Queries the value of the given challenge.

Returns Value::unknown() if the current synthesis phase is before the challenge can be queried.

Creates a new (sub)namespace and enters into it.

Not intended for downstream consumption; use Layouter::namespace instead.

Exits out of the existing namespace.

Not intended for downstream consumption; use Layouter::namespace instead.

Provided Methods

Commit advice columns in current phase and squeeze challenges. This can be called DURING synthesize.

Implementors