pub struct MethodSlotAbi {
pub params: Vec<ValType>,
pub ret: Option<ValType>,
}Expand description
The physical Wasm signature of a dispatched method — a class-method vtable slot, or a Direct/Static-dispatch interface wrapper — captured where the signature is built rather than re-derived at each call site.
A class slot’s signature belongs to the ancestor that introduced it, and
erases class types and type variables (see
slot_value_type), so it can differ from
what an overriding method declares; an interface wrapper’s signature erases
the interface’s type parameters the same way. Call sites coerce arguments
into params and cast ret back to the
call-site type; an overriding body binds params and returns ret
whatever its own annotations say.
Fields§
§params: Vec<ValType>User parameters; the leading self is excluded.
ret: Option<ValType>None for a void slot.
Trait Implementations§
Source§impl Clone for MethodSlotAbi
impl Clone for MethodSlotAbi
Source§impl Debug for MethodSlotAbi
impl Debug for MethodSlotAbi
Source§impl Default for MethodSlotAbi
impl Default for MethodSlotAbi
Source§impl PartialEq for MethodSlotAbi
impl PartialEq for MethodSlotAbi
impl StructuralPartialEq for MethodSlotAbi
Auto Trait Implementations§
impl Freeze for MethodSlotAbi
impl RefUnwindSafe for MethodSlotAbi
impl Send for MethodSlotAbi
impl Sync for MethodSlotAbi
impl Unpin for MethodSlotAbi
impl UnsafeUnpin for MethodSlotAbi
impl UnwindSafe for MethodSlotAbi
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