struct ValidateRuntimeCallArgsPass<'a> {
elaborator: &'a mut Elaborator,
params: &'a [(OwnershipMode, Ty)],
locals: &'a mut Vec<(String, Ty)>,
callee_name: &'a str,
}Expand description
Validate runtime call arguments against one resolved signature.
Input invariant: argument list belongs to one runtime call target.
Output invariant: argument count matches params and each argument has been
elaborated against the corresponding parameter type.
This pass runs after call-spread normalization. It rejects arity mismatch, rejects non-expression argument kinds in runtime call slots, and elaborates each value argument against the expected parameter type.
Pass name: elab.validate_runtime_call_args.
Fields§
§elaborator: &'a mut Elaborator§params: &'a [(OwnershipMode, Ty)]§locals: &'a mut Vec<(String, Ty)>§callee_name: &'a strTrait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for ValidateRuntimeCallArgsPass<'a>
impl<'a> RefUnwindSafe for ValidateRuntimeCallArgsPass<'a>
impl<'a> Send for ValidateRuntimeCallArgsPass<'a>
impl<'a> Sync for ValidateRuntimeCallArgsPass<'a>
impl<'a> Unpin for ValidateRuntimeCallArgsPass<'a>
impl<'a> !UnwindSafe for ValidateRuntimeCallArgsPass<'a>
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