franklin_crypto/plonk/circuit/assignment.rs
use crate::bellman::SynthesisError;
pub trait Assignment<T> {
fn get(&self) -> Result<&T, SynthesisError>;
fn grab(self) -> Result<T, SynthesisError>;
}
impl<T: Clone> Assignment<T> for Option<T> {
fn get(&self) -> Result<&T, SynthesisError> {
match self {
Some(v) => Ok(v),
None => Err(SynthesisError::AssignmentMissing),
}
}
fn grab(self) -> Result<T, SynthesisError> {
match self {
Some(v) => Ok(v),
None => Err(SynthesisError::AssignmentMissing),
}
}
}