pub trait CellFamily: Sized {
type EmptyCellContext: CellContext;
// Required methods
fn empty_cell() -> Cell;
fn empty_cell_ref() -> &'static DynCell;
fn empty_context() -> Self::EmptyCellContext;
fn all_zeros_ref() -> &'static DynCell;
fn all_ones_ref() -> &'static DynCell;
fn virtualize(cell: Cell) -> Cell;
}Expand description
Cell implementation family.
Required Associated Types§
Sourcetype EmptyCellContext: CellContext
type EmptyCellContext: CellContext
The default cell context type.
Required Methods§
Sourcefn empty_cell() -> Cell
fn empty_cell() -> Cell
Creates an empty cell.
NOTE: in most cases empty cell is ZST.
Sourcefn empty_cell_ref() -> &'static DynCell
fn empty_cell_ref() -> &'static DynCell
Returns a static reference to the empty cell
Sourcefn empty_context() -> Self::EmptyCellContext
fn empty_context() -> Self::EmptyCellContext
Creates an empty cell context.
Sourcefn all_zeros_ref() -> &'static DynCell
fn all_zeros_ref() -> &'static DynCell
Returns a static reference to the cell with all zeros.
Sourcefn all_ones_ref() -> &'static DynCell
fn all_ones_ref() -> &'static DynCell
Returns a static reference to the cell with all ones.
Sourcefn virtualize(cell: Cell) -> Cell
fn virtualize(cell: Cell) -> Cell
Creates a virtualized cell from the specified cell.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".