Expand description
Type-system pieces of the IR.
Every named type lives in crate::Ir::types keyed by its sanitized NamedType::id.
TypeRef is just that string. This makes recursion trivial across the WIT
boundary (no recursive records) and keeps the structure flat.
Structs§
- Array
Constraints - Array
Type - Discriminator
- Enum
IntType - Enum
IntValue - Enum
String Type - Enum
String Value - Named
Type - Object
Constraints - Object
Type - Primitive
Constraints - Primitive
Type - Property
- Union
Type - Union
Variant
Enums§
- Additional
Properties - IntKind
- Primitive
Kind - JSON Schema’s
typekeyword values, minus the variants that have their own IR shapes (object/array/null). Theformatkeyword and any width/semantic refinement (int32/int64/float/double/date/uuid/byte/decimal/ etc.) land onPrimitiveConstraints::format_extensionverbatim. Plugins decide whether to produce a richer target-language type based on the format string. This keeps the IR uniform and orthogonal — adding new formats never requires an IR/WIT/bindgen roundtrip. - TypeDef
- Union
Kind
Constants§
- NULL_ID
- Canonical pool id for the
TypeDef::Nullsingleton. See issue #107.
Type Aliases§
- TypeRef
- String id into
crate::Ir::types.