#[derive(Clone, Copy, Debug)]
pub struct Field {
pub name: &'static str,
pub id: u32,
pub value: &'static Schema,
}
#[derive(Clone, Copy, Debug)]
pub struct Variant {
pub name: &'static str,
pub id: u32,
pub value: &'static Schema,
}
#[derive(Clone, Copy, Debug)]
#[non_exhaustive]
pub enum Schema {
Opaque,
Unit,
Bool,
Unsigned(u8),
Signed(u8),
Float(u8),
Bytes(usize),
Text(usize),
List(&'static Schema, usize),
Array(&'static Schema, usize),
Option(&'static Schema),
Result(&'static Schema, &'static Schema),
Record(&'static [Field]),
Enum(&'static [Variant]),
}