Struct rustc_lint::early::EarlyContextAndPass
source · pub struct EarlyContextAndPass<'a, T: EarlyLintPass> {
context: EarlyContext<'a>,
pass: T,
}
Expand description
Implements the AST traversal for early lint passes. T
provides the
check_*
methods.
Fields§
§context: EarlyContext<'a>
§pass: T
Implementations§
source§impl<'a, T: EarlyLintPass> EarlyContextAndPass<'a, T>
impl<'a, T: EarlyLintPass> EarlyContextAndPass<'a, T>
Trait Implementations§
source§impl<'a, T: EarlyLintPass> Visitor<'a> for EarlyContextAndPass<'a, T>
impl<'a, T: EarlyLintPass> Visitor<'a> for EarlyContextAndPass<'a, T>
fn visit_param(&mut self, param: &'a Param)
fn visit_item(&mut self, it: &'a Item)
fn visit_foreign_item(&mut self, it: &'a ForeignItem)
fn visit_pat(&mut self, p: &'a Pat)
fn visit_pat_field(&mut self, field: &'a PatField)
fn visit_anon_const(&mut self, c: &'a AnonConst)
fn visit_expr(&mut self, e: &'a Expr)
fn visit_expr_field(&mut self, f: &'a ExprField)
fn visit_stmt(&mut self, s: &'a Stmt)
fn visit_fn(&mut self, fk: FnKind<'a>, span: Span, id: NodeId)
fn visit_variant_data(&mut self, s: &'a VariantData)
fn visit_field_def(&mut self, s: &'a FieldDef)
fn visit_variant(&mut self, v: &'a Variant)
fn visit_ty(&mut self, t: &'a Ty)
fn visit_ident(&mut self, ident: Ident)
fn visit_local(&mut self, l: &'a Local)
fn visit_block(&mut self, b: &'a Block)
fn visit_arm(&mut self, a: &'a Arm)
fn visit_expr_post(&mut self, e: &'a Expr)
fn visit_generic_arg(&mut self, arg: &'a GenericArg)
fn visit_generic_param(&mut self, param: &'a GenericParam)
fn visit_generics(&mut self, g: &'a Generics)
fn visit_where_predicate(&mut self, p: &'a WherePredicate)
fn visit_poly_trait_ref(&mut self, t: &'a PolyTraitRef)
fn visit_assoc_item(&mut self, item: &'a AssocItem, ctxt: AssocCtxt)
fn visit_lifetime(&mut self, lt: &'a Lifetime, _: LifetimeCtxt)
fn visit_path(&mut self, p: &'a Path, id: NodeId)
fn visit_path_segment(&mut self, s: &'a PathSegment)
fn visit_attribute(&mut self, attr: &'a Attribute)
fn visit_mac_def(&mut self, mac: &'a MacroDef, id: NodeId)
fn visit_mac_call(&mut self, mac: &'a MacCall)
source§fn visit_method_receiver_expr(&mut self, ex: &'ast Expr) -> Self::Result
fn visit_method_receiver_expr(&mut self, ex: &'ast Expr) -> Self::Result
This method is a hack to workaround unstable of
stmt_expr_attributes
.
It can be removed once that feature is stabilized.fn visit_closure_binder(&mut self, b: &'ast ClosureBinder) -> Self::Result
fn visit_trait_ref(&mut self, t: &'ast TraitRef) -> Self::Result
fn visit_param_bound( &mut self, bounds: &'ast GenericBound, _ctxt: BoundKind, ) -> Self::Result
fn visit_precise_capturing_arg(&mut self, arg: &'ast PreciseCapturingArg)
fn visit_enum_def(&mut self, enum_definition: &'ast EnumDef) -> Self::Result
fn visit_variant_discr(&mut self, discr: &'ast AnonConst) -> Self::Result
fn visit_label(&mut self, label: &'ast Label) -> Self::Result
fn visit_use_tree( &mut self, use_tree: &'ast UseTree, id: NodeId, _nested: bool, ) -> Self::Result
fn visit_generic_args( &mut self, generic_args: &'ast GenericArgs, ) -> Self::Result
fn visit_assoc_item_constraint( &mut self, constraint: &'ast AssocItemConstraint, ) -> Self::Result
fn visit_vis(&mut self, vis: &'ast Visibility) -> Self::Result
fn visit_fn_ret_ty(&mut self, ret_ty: &'ast FnRetTy) -> Self::Result
fn visit_fn_header(&mut self, _header: &'ast FnHeader) -> Self::Result
fn visit_crate(&mut self, krate: &'ast Crate) -> Self::Result
fn visit_inline_asm(&mut self, asm: &'ast InlineAsm) -> Self::Result
fn visit_format_args(&mut self, fmt: &'ast FormatArgs) -> Self::Result
fn visit_inline_asm_sym(&mut self, sym: &'ast InlineAsmSym) -> Self::Result
fn visit_capture_by(&mut self, _capture_by: &'ast CaptureBy) -> Self::Result
Auto Trait Implementations§
impl<'a, T> DynSend for EarlyContextAndPass<'a, T>where
T: DynSend,
impl<'a, T> DynSync for EarlyContextAndPass<'a, T>where
T: DynSync,
impl<'a, T> Freeze for EarlyContextAndPass<'a, T>where
T: Freeze,
impl<'a, T> !RefUnwindSafe for EarlyContextAndPass<'a, T>
impl<'a, T> !Send for EarlyContextAndPass<'a, T>
impl<'a, T> !Sync for EarlyContextAndPass<'a, T>
impl<'a, T> Unpin for EarlyContextAndPass<'a, T>where
T: Unpin,
impl<'a, T> !UnwindSafe for EarlyContextAndPass<'a, T>
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
source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
source§impl<T> Filterable for T
impl<T> Filterable for T
source§fn filterable(
self,
filter_name: &'static str,
) -> RequestFilterDataProvider<T, fn(_: DataRequest<'_>) -> bool>
fn filterable( self, filter_name: &'static str, ) -> RequestFilterDataProvider<T, fn(_: DataRequest<'_>) -> bool>
Creates a filterable data provider with the given name for debugging. Read more
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§impl<P> IntoQueryParam<P> for P
impl<P> IntoQueryParam<P> for P
fn into_query_param(self) -> P
source§impl<T> MaybeResult<T> for T
impl<T> MaybeResult<T> for T
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<I, T, U> Upcast<I, U> for Twhere
U: UpcastFrom<I, T>,
impl<I, T, U> Upcast<I, U> for Twhere
U: UpcastFrom<I, T>,
source§impl<I, T> UpcastFrom<I, T> for T
impl<I, T> UpcastFrom<I, T> for T
fn upcast_from(from: T, _tcx: I) -> T
source§impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
default fn from_cycle_error( tcx: Tcx, cycle_error: &CycleError, _guar: ErrorGuaranteed, ) -> T
source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
impl<T> ErasedDestructor for Twhere
T: 'static,
Layout§
Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.