Struct rustc_mir_build::lints::Search [−][src]
struct Search<'mir, 'tcx> {
tcx: TyCtxt<'tcx>,
body: &'mir Body<'tcx>,
trait_substs: &'tcx [GenericArg<'tcx>],
reachable_recursive_calls: Vec<Span>,
}Fields
tcx: TyCtxt<'tcx>body: &'mir Body<'tcx>trait_substs: &'tcx [GenericArg<'tcx>]reachable_recursive_calls: Vec<Span>Implementations
impl<'mir, 'tcx> Search<'mir, 'tcx>[src]
impl<'mir, 'tcx> Search<'mir, 'tcx>[src]fn is_recursive_call(&self, func: &Operand<'tcx>) -> bool[src]
fn is_recursive_call(&self, func: &Operand<'tcx>) -> bool[src]Returns true if func refers to the function we are searching in.
Trait Implementations
impl<'mir, 'tcx> TriColorVisitor<&'mir Body<'tcx>> for Search<'mir, 'tcx>[src]
impl<'mir, 'tcx> TriColorVisitor<&'mir Body<'tcx>> for Search<'mir, 'tcx>[src]type BreakVal = NonRecursive
type BreakVal = NonRecursiveThe value returned by this search.
fn node_examined(
&mut self,
bb: BasicBlock,
prior_status: Option<NodeStatus>
) -> ControlFlow<Self::BreakVal>[src]
fn node_examined(
&mut self,
bb: BasicBlock,
prior_status: Option<NodeStatus>
) -> ControlFlow<Self::BreakVal>[src]Called when a node is examined by the depth-first search. Read more
fn node_settled(&mut self, bb: BasicBlock) -> ControlFlow<Self::BreakVal>[src]
fn node_settled(&mut self, bb: BasicBlock) -> ControlFlow<Self::BreakVal>[src]Called after all nodes reachable from this one have been examined.
fn ignore_edge(&mut self, bb: BasicBlock, target: BasicBlock) -> bool[src]
fn ignore_edge(&mut self, bb: BasicBlock, target: BasicBlock) -> bool[src]Behave as if no edges exist from source to target.
Auto Trait Implementations
impl<'mir, 'tcx> !RefUnwindSafe for Search<'mir, 'tcx>
impl<'mir, 'tcx> !Send for Search<'mir, 'tcx>
impl<'mir, 'tcx> !Sync for Search<'mir, 'tcx>
impl<'mir, 'tcx> Unpin for Search<'mir, 'tcx> where
'tcx: 'mir,
'tcx: 'mir,
impl<'mir, 'tcx> !UnwindSafe for Search<'mir, 'tcx>
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<'a, T> Captures<'a> for T where
T: ?Sized, [src]
T: ?Sized,