vyre-conform 0.1.0

Conformance suite for vyre backends — proves byte-identical output to CPU reference
Documentation
use serde::{Deserialize, Serialize};

/// Declaration of a new operation in the registry.
#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq)]
#[serde(deny_unknown_fields)]
pub struct OpDeclaration {
    /// The canonical name of the operation.
    pub name: String,
    /// The number of inputs the operation takes.
    pub arity: usize,
    /// Types of the inputs.
    pub inputs: Vec<String>,
    /// Type of the output.
    pub output: String,
    /// Names of algebraic laws this operation claims to satisfy.
    pub declared_laws: Vec<String>,
    /// The identifier for the reference CPU implementation.
    pub reference_impl_id: String,
}