binius_macros

Derive Macro IterOracles

Source
#[derive(IterOracles)]
Expand description

Implements pub fn iter_oracles(&self) -> impl Iterator<Item = OracleId>.

Detects and includes fields with type OracleId, [OracleId; N]

use binius_macros::IterOracles;
type OracleId = usize;
type BatchId = usize;

#[derive(IterOracles)]
struct Oracle {
    x: OracleId,
    y: [OracleId; 5],
    z: [OracleId; 5*2],
    ignored_field1: usize,
    ignored_field2: BatchId,
    ignored_field3: [[OracleId; 5]; 2],
}