vyre-conform 0.1.0

Conformance suite for vyre backends — proves byte-identical output to CPU reference
Documentation
use std::collections::HashMap;

use super::algebraic_law::AlgebraicLaw;
use super::defendant_entry::DefendantEntry;
use super::independence_rule::IndependenceRule;
use super::op_declaration::OpDeclaration;
use super::witness_set::WitnessSet;

/// In-memory registry containing all loaded TOML rules.
#[derive(Debug, Default, Clone)]
pub struct TomlRegistry {
    /// Map of operation name to its declaration.
    pub ops: HashMap<String, OpDeclaration>,
    /// List of all witness sets.
    pub witnesses: Vec<WitnessSet>,
    /// Map of defendant name to its entry.
    pub defendants: HashMap<String, DefendantEntry>,
    /// Map of law name to its definition.
    pub laws: HashMap<String, AlgebraicLaw>,
    /// List of independence rules.
    pub independence: Vec<IndependenceRule>,
}