[−][src]Struct rustc_passes::dead::MarkSymbolVisitor
Fields
worklist: Vec<HirId>tcx: TyCtxt<'tcx>maybe_typeck_results: Option<&'tcx TypeckResults<'tcx>>live_symbols: FxHashSet<HirId>repr_has_repr_c: boolin_pat: boolinherited_pub_visibility: boolignore_variant_stack: Vec<DefId>struct_constructors: FxHashMap<HirId, HirId>Implementations
impl<'tcx> MarkSymbolVisitor<'tcx>[src]
fn typeck_results(&self) -> &'tcx TypeckResults<'tcx>[src]
Gets the type-checking results for the current body.
As this will ICE if called outside bodies, only call when working with
Expr or Pat nodes (they are guaranteed to be found only in bodies).
fn check_def_id(&mut self, def_id: DefId)[src]
fn insert_def_id(&mut self, def_id: DefId)[src]
fn handle_res(&mut self, res: Res)[src]
fn lookup_and_handle_method(&mut self, id: HirId)[src]
fn handle_field_access(&mut self, lhs: &Expr<'_>, hir_id: HirId)[src]
fn handle_field_pattern_match(
&mut self,
lhs: &Pat<'_>,
res: Res,
pats: &[FieldPat<'_>]
)[src]
&mut self,
lhs: &Pat<'_>,
res: Res,
pats: &[FieldPat<'_>]
)
fn mark_live_symbols(&mut self)[src]
fn visit_node(&mut self, node: Node<'tcx>)[src]
fn mark_as_used_if_union(&mut self, adt: &AdtDef, fields: &[Field<'_>])[src]
Trait Implementations
impl<'tcx> Visitor<'tcx> for MarkSymbolVisitor<'tcx>[src]
type Map = ErasedMap<'tcx>
fn nested_visit_map(&mut self) -> NestedVisitorMap<Self::Map>[src]
fn visit_nested_body(&mut self, body: BodyId)[src]
fn visit_variant_data(
&mut self,
def: &'tcx VariantData<'tcx>,
_: Symbol,
_: &Generics<'_>,
_: HirId,
_: Span
)[src]
&mut self,
def: &'tcx VariantData<'tcx>,
_: Symbol,
_: &Generics<'_>,
_: HirId,
_: Span
)
fn visit_expr(&mut self, expr: &'tcx Expr<'tcx>)[src]
fn visit_arm(&mut self, arm: &'tcx Arm<'tcx>)[src]
fn visit_pat(&mut self, pat: &'tcx Pat<'tcx>)[src]
fn visit_path(&mut self, path: &'tcx Path<'tcx>, _: HirId)[src]
fn visit_ty(&mut self, ty: &'tcx Ty<'tcx>)[src]
fn visit_anon_const(&mut self, c: &'tcx AnonConst)[src]
fn visit_nested_item(&mut self, id: ItemId)[src]
fn visit_nested_trait_item(&mut self, id: TraitItemId)[src]
fn visit_nested_impl_item(&mut self, id: ImplItemId)[src]
fn visit_param(&mut self, param: &'v Param<'v>)[src]
fn visit_item(&mut self, i: &'v Item<'v>)[src]
fn visit_body(&mut self, b: &'v Body<'v>)[src]
fn as_deep_visitor(&mut self) -> DeepVisitor<'_, Self>[src]
fn visit_id(&mut self, _hir_id: HirId)[src]
fn visit_name(&mut self, _span: Span, _name: Symbol)[src]
fn visit_ident(&mut self, ident: Ident)[src]
fn visit_mod(&mut self, m: &'v Mod<'v>, _s: Span, n: HirId)[src]
fn visit_foreign_item(&mut self, i: &'v ForeignItem<'v>)[src]
fn visit_local(&mut self, l: &'v Local<'v>)[src]
fn visit_block(&mut self, b: &'v Block<'v>)[src]
fn visit_stmt(&mut self, s: &'v Stmt<'v>)[src]
fn visit_generic_param(&mut self, p: &'v GenericParam<'v>)[src]
fn visit_generics(&mut self, g: &'v Generics<'v>)[src]
fn visit_where_predicate(&mut self, predicate: &'v WherePredicate<'v>)[src]
fn visit_fn_decl(&mut self, fd: &'v FnDecl<'v>)[src]
fn visit_fn(
&mut self,
fk: FnKind<'v>,
fd: &'v FnDecl<'v>,
b: BodyId,
s: Span,
id: HirId
)[src]
&mut self,
fk: FnKind<'v>,
fd: &'v FnDecl<'v>,
b: BodyId,
s: Span,
id: HirId
)
fn visit_use(&mut self, path: &'v Path<'v>, hir_id: HirId)[src]
fn visit_trait_item(&mut self, ti: &'v TraitItem<'v>)[src]
fn visit_trait_item_ref(&mut self, ii: &'v TraitItemRef)[src]
fn visit_impl_item(&mut self, ii: &'v ImplItem<'v>)[src]
fn visit_impl_item_ref(&mut self, ii: &'v ImplItemRef<'v>)[src]
fn visit_trait_ref(&mut self, t: &'v TraitRef<'v>)[src]
fn visit_param_bound(&mut self, bounds: &'v GenericBound<'v>)[src]
fn visit_poly_trait_ref(
&mut self,
t: &'v PolyTraitRef<'v>,
m: TraitBoundModifier
)[src]
&mut self,
t: &'v PolyTraitRef<'v>,
m: TraitBoundModifier
)
fn visit_struct_field(&mut self, s: &'v StructField<'v>)[src]
fn visit_enum_def(
&mut self,
enum_definition: &'v EnumDef<'v>,
generics: &'v Generics<'v>,
item_id: HirId,
Span
)[src]
&mut self,
enum_definition: &'v EnumDef<'v>,
generics: &'v Generics<'v>,
item_id: HirId,
Span
)
fn visit_variant(
&mut self,
v: &'v Variant<'v>,
g: &'v Generics<'v>,
item_id: HirId
)[src]
&mut self,
v: &'v Variant<'v>,
g: &'v Generics<'v>,
item_id: HirId
)
fn visit_label(&mut self, label: &'v Label)[src]
fn visit_generic_arg(&mut self, generic_arg: &'v GenericArg<'v>)[src]
fn visit_lifetime(&mut self, lifetime: &'v Lifetime)[src]
fn visit_qpath(&mut self, qpath: &'v QPath<'v>, id: HirId, span: Span)[src]
fn visit_path_segment(
&mut self,
path_span: Span,
path_segment: &'v PathSegment<'v>
)[src]
&mut self,
path_span: Span,
path_segment: &'v PathSegment<'v>
)
fn visit_generic_args(
&mut self,
path_span: Span,
generic_args: &'v GenericArgs<'v>
)[src]
&mut self,
path_span: Span,
generic_args: &'v GenericArgs<'v>
)
fn visit_assoc_type_binding(&mut self, type_binding: &'v TypeBinding<'v>)[src]
fn visit_attribute(&mut self, _attr: &'v Attribute)[src]
fn visit_macro_def(&mut self, macro_def: &'v MacroDef<'v>)[src]
fn visit_vis(&mut self, vis: &'v Spanned<VisibilityKind<'v>>)[src]
fn visit_associated_item_kind(&mut self, kind: &'v AssocItemKind)[src]
fn visit_defaultness(&mut self, defaultness: &'v Defaultness)[src]
Auto Trait Implementations
impl<'tcx> !RefUnwindSafe for MarkSymbolVisitor<'tcx>
impl<'tcx> !Send for MarkSymbolVisitor<'tcx>
impl<'tcx> !Sync for MarkSymbolVisitor<'tcx>
impl<'tcx> Unpin for MarkSymbolVisitor<'tcx>
impl<'tcx> !UnwindSafe for MarkSymbolVisitor<'tcx>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,