vyre-spec 0.4.1

Frozen data contracts for vyre — OpDef, AlgebraicLaw, Category, IntrinsicTable
Documentation
//! Frozen catalog of core `Expr` variant names.

/// Canonical `Expr` variant names exposed by the stable vyre IR surface.
///
/// This is a coverage catalog, not a dynamic registry. Conformance suites use
/// it to prove that test matrices exercise every core expression shape at
/// least once.
static EXPR_VARIANTS: &[&str] = &[
    "LitU32",
    "LitI32",
    "LitF32",
    "LitBool",
    "Var",
    "Load",
    "BufLen",
    "InvocationId",
    "WorkgroupId",
    "LocalId",
    "BinOp",
    "UnOp",
    "Call",
    "Select",
    "Cast",
    "Fma",
    "Atomic",
    "SubgroupBallot",
    "SubgroupShuffle",
    "SubgroupAdd",
    "Opaque",
];

/// Return the frozen catalog of core `Expr` variant names.
#[must_use]
pub fn expr_variants() -> &'static [&'static str] {
    EXPR_VARIANTS
}