pub struct IdentityEliminationPass {
pub eliminated: u32,
}Expand description
Eliminates identity let-bindings of the form let x = x.
Fields§
§eliminated: u32Implementations§
Source§impl IdentityEliminationPass
impl IdentityEliminationPass
pub fn new() -> Self
pub fn run(&mut self, decls: &mut [LcnfFunDecl])
Trait Implementations§
Source§impl Debug for IdentityEliminationPass
impl Debug for IdentityEliminationPass
Source§impl Default for IdentityEliminationPass
impl Default for IdentityEliminationPass
Source§impl OptPass for IdentityEliminationPass
impl OptPass for IdentityEliminationPass
Source§fn run_pass(&mut self, decls: &mut [LcnfFunDecl]) -> usize
fn run_pass(&mut self, decls: &mut [LcnfFunDecl]) -> usize
Run the pass on a set of declarations, returning the number of changes made.
Source§fn is_enabled(&self) -> bool
fn is_enabled(&self) -> bool
Whether this pass is enabled.
Source§fn dependencies(&self) -> Vec<&str>
fn dependencies(&self) -> Vec<&str>
Dependencies: names of passes that must run before this one.
Auto Trait Implementations§
impl Freeze for IdentityEliminationPass
impl RefUnwindSafe for IdentityEliminationPass
impl Send for IdentityEliminationPass
impl Sync for IdentityEliminationPass
impl Unpin for IdentityEliminationPass
impl UnsafeUnpin for IdentityEliminationPass
impl UnwindSafe for IdentityEliminationPass
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