vyre-spec 0.4.1

Frozen data contracts for vyre — OpDef, AlgebraicLaw, Category, IntrinsicTable
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//! Frozen calling-convention versions for generated operation entrypoints.

/// Calling convention version in the frozen data contract.
///
/// Example: `Convention::V2 { lookup_binding: 3 }` records that an operation
/// receives an additional lookup-table buffer at binding 3.
#[derive(Debug, Clone, PartialEq, Eq, Hash, Default, serde::Deserialize, serde::Serialize)]
#[non_exhaustive]
pub enum Convention {
    /// Standard convention: input, output, and params buffers.
    #[default]
    V1,
    /// V1 plus a lookup table buffer.
    V2 {
        /// Binding index for the lookup buffer.
        lookup_binding: u32,
    },
}