macro_rules! witness {
    (| $($circuit:ident),* | $block:block) => { ... };
    (| $($circuit:ident),* | $logic:expr) => { ... };
}
Expand description

The witness! macro is a closure that takes in a list of circuits, eject the value of each circuit, and uses it in the subsequent code block.

This macro requires Inject to be implemented on the return type, and Eject to be implemented on all inputs.