pub enum Problem {
Nowhere {
reg: Reg,
},
Shared {
first: Reg,
second: Reg,
place: Place,
},
InTheWay {
reg: Reg,
at: PhysReg,
inst: Inst,
},
NotOnTheStack {
reg: Reg,
inst: Inst,
},
}Expand description
One thing wrong with an allocation.
Variants§
Nowhere
A value the function reads or writes was given no place at all.
Two values that are both live somewhere were put in the same place, so whichever is written second destroys the other.
InTheWay
A value was left in a register an instruction claims for itself, over the instruction that claims it, so the moves around that instruction overwrite the value.
Fields
NotOnTheStack
A value an instruction can only read from memory was put in a register.
Trait Implementations§
impl Copy for Problem
impl Eq for Problem
impl StructuralPartialEq for Problem
Auto Trait Implementations§
impl Freeze for Problem
impl RefUnwindSafe for Problem
impl Send for Problem
impl Sync for Problem
impl Unpin for Problem
impl UnsafeUnpin for Problem
impl UnwindSafe for Problem
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