pub struct ParamMeta {
pub name: NameId,
pub is_ref: bool,
pub slot: u16,
}Expand description
Name + mode of one declared parameter of a container (T1c,
docs/t1c-spec.md §6). See ContainerDef::params.
Fields§
§name: NameIdThe parameter’s interned name.
is_ref: booltrue if declared ref, false for a by-value param.
slot: u16The call-frame temp slot this parameter occupies (.inkb v10).
Not simply the parameter’s position: a knot and its stitches
share one frame and one temp map, so a knot’s parameters take slots
0 … and a stitch’s parameters continue after them
(brink-ir’s alloc_temps). = opt(n) inside === outer(m) has
opt’s single parameter at slot 1. The VM binds arguments at
container entry (docs/compiler-spec.md §“Parameter binding”), so
it needs the real slot, not an assumed one.
Trait Implementations§
impl Copy for ParamMeta
impl Eq for ParamMeta
impl StructuralPartialEq for ParamMeta
Auto Trait Implementations§
impl Freeze for ParamMeta
impl RefUnwindSafe for ParamMeta
impl Send for ParamMeta
impl Sync for ParamMeta
impl Unpin for ParamMeta
impl UnsafeUnpin for ParamMeta
impl UnwindSafe for ParamMeta
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more