pub struct MirLet {
pub binding: LocalId,
pub binding_name: String,
pub value: Box<Spanned<MirExpr>>,
pub body: Box<Spanned<MirExpr>>,
}Expand description
let binding = value; body.
Phase 5 wave-Let foundation: binding_name carries the
source-level binder when the let came from Stmt::Binding,
or stays empty for synthetic locals introduced by stmt-chain
lowering (Stmt::Expr at non-tail position). Same propagation
shape MirLocal { name } uses on the read side, so Rust /
wasm-gc backends can emit let x = … for source-named
bindings and fall back to HIR for the unnamed synthetics.
Fields§
§binding: LocalId§binding_name: String§value: Box<Spanned<MirExpr>>§body: Box<Spanned<MirExpr>>Trait Implementations§
Auto Trait Implementations§
impl Freeze for MirLet
impl RefUnwindSafe for MirLet
impl Send for MirLet
impl Sync for MirLet
impl Unpin for MirLet
impl UnsafeUnpin for MirLet
impl UnwindSafe for MirLet
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