Struct rustc_mir_transform::copy_prop::CopyProp
source · pub struct CopyProp;
Expand description
Unify locals that copy each other.
We consider patterns of the form _a = rvalue _b = move? _a _c = move? _a _d = move? _c where each of the locals is only assigned once.
We want to replace all those locals by _a
, either copied or moved.
Trait Implementations§
source§impl<'tcx> MirPass<'tcx> for CopyProp
impl<'tcx> MirPass<'tcx> for CopyProp
source§fn is_enabled(&self, sess: &Session) -> bool
fn is_enabled(&self, sess: &Session) -> bool
Returns
true
if this pass is enabled with the current combination of compiler flags.fn run_pass(&self, tcx: TyCtxt<'tcx>, body: &mut Body<'tcx>)
fn name(&self) -> &'static str
fn profiler_name(&self) -> &'static str
fn is_mir_dump_enabled(&self) -> bool
Auto Trait Implementations§
impl RefUnwindSafe for CopyProp
impl Send for CopyProp
impl Sync for CopyProp
impl Unpin for CopyProp
impl UnwindSafe for CopyProp
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
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 0 bytes