pub struct Start {
pub decl: u32,
pub block: Block,
pub after: Option<Inst>,
}Expand description
Where a declaration starts holding a value, when that is not where the value was computed.
The block and the instruction in front of the assignment, because an assignment that computes
nothing is not an instruction and the one in front of it is the nearest thing that is. The block
is carried for a start at the top of one, and for the rest it is where the start was made, since
a pass can move the instruction to another block. Func::start_place says where it is now.
Fields§
§decl: u32The declaration, in whatever numbering the front end gave it.
block: BlockThe block the assignment is in.
after: Option<Inst>The instruction in front of the assignment, or None for one at the top of the block.
Trait Implementations§
impl Copy for Start
impl Eq for Start
impl StructuralPartialEq for Start
Auto Trait Implementations§
impl Freeze for Start
impl RefUnwindSafe for Start
impl Send for Start
impl Sync for Start
impl Unpin for Start
impl UnsafeUnpin for Start
impl UnwindSafe for Start
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