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>

source

fn inlined_check_id(&mut self, id: NodeId)

source

fn check_id(&mut self, id: NodeId)

source

fn with_lint_attrs<F>(&mut self, id: NodeId, attrs: &'a [Attribute], f: F)where F: FnOnce(&mut Self),

Merge the lints specified by any lint attributes into the current lint context, call the provided function, then reset the lints in effect to their previous state.

Trait Implementations§

source§

impl<'a, T: EarlyLintPass> Visitor<'a> for EarlyContextAndPass<'a, T>

source§

fn visit_param(&mut self, param: &'a Param)

source§

fn visit_item(&mut self, it: &'a Item)

source§

fn visit_foreign_item(&mut self, it: &'a ForeignItem)

source§

fn visit_pat(&mut self, p: &'a Pat)

source§

fn visit_pat_field(&mut self, field: &'a PatField)

source§

fn visit_anon_const(&mut self, c: &'a AnonConst)

source§

fn visit_expr(&mut self, e: &'a Expr)

source§

fn visit_expr_field(&mut self, f: &'a ExprField)

source§

fn visit_stmt(&mut self, s: &'a Stmt)

source§

fn visit_fn(&mut self, fk: FnKind<'a>, span: Span, id: NodeId)

source§

fn visit_variant_data(&mut self, s: &'a VariantData)

source§

fn visit_field_def(&mut self, s: &'a FieldDef)

source§

fn visit_variant(&mut self, v: &'a Variant)

source§

fn visit_ty(&mut self, t: &'a Ty)

source§

fn visit_ident(&mut self, ident: Ident)

source§

fn visit_local(&mut self, l: &'a Local)

source§

fn visit_block(&mut self, b: &'a Block)

source§

fn visit_arm(&mut self, a: &'a Arm)

source§

fn visit_expr_post(&mut self, e: &'a Expr)

source§

fn visit_generic_arg(&mut self, arg: &'a GenericArg)

source§

fn visit_generic_param(&mut self, param: &'a GenericParam)

source§

fn visit_generics(&mut self, g: &'a Generics)

source§

fn visit_where_predicate(&mut self, p: &'a WherePredicate)

source§

fn visit_poly_trait_ref(&mut self, t: &'a PolyTraitRef)

source§

fn visit_assoc_item(&mut self, item: &'a AssocItem, ctxt: AssocCtxt)

source§

fn visit_lifetime(&mut self, lt: &'a Lifetime, _: LifetimeCtxt)

source§

fn visit_path(&mut self, p: &'a Path, id: NodeId)

source§

fn visit_path_segment(&mut self, s: &'a PathSegment)

source§

fn visit_attribute(&mut self, attr: &'a Attribute)

source§

fn visit_mac_def(&mut self, mac: &'a MacroDef, id: NodeId)

source§

fn visit_mac_call(&mut self, mac: &'a MacCall)

source§

fn visit_method_receiver_expr(&mut self, ex: &'ast Expr)

This method is a hack to workaround unstable of stmt_expr_attributes. It can be removed once that feature is stabilized.
source§

fn visit_closure_binder(&mut self, b: &'ast ClosureBinder)

source§

fn visit_trait_ref(&mut self, t: &'ast TraitRef)

source§

fn visit_param_bound(&mut self, bounds: &'ast GenericBound, _ctxt: BoundKind)

source§

fn visit_enum_def(&mut self, enum_definition: &'ast EnumDef)

source§

fn visit_variant_discr(&mut self, discr: &'ast AnonConst)

source§

fn visit_label(&mut self, label: &'ast Label)

source§

fn visit_use_tree(&mut self, use_tree: &'ast UseTree, id: NodeId, _nested: bool)

source§

fn visit_generic_args(&mut self, generic_args: &'ast GenericArgs)

source§

fn visit_assoc_constraint(&mut self, constraint: &'ast AssocConstraint)

source§

fn visit_vis(&mut self, vis: &'ast Visibility)

source§

fn visit_fn_ret_ty(&mut self, ret_ty: &'ast FnRetTy)

source§

fn visit_fn_header(&mut self, _header: &'ast FnHeader)

source§

fn visit_crate(&mut self, krate: &'ast Crate)

source§

fn visit_inline_asm(&mut self, asm: &'ast InlineAsm)

source§

fn visit_format_args(&mut self, fmt: &'ast FormatArgs)

source§

fn visit_inline_asm_sym(&mut self, sym: &'ast InlineAsmSym)

Auto Trait Implementations§

§

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> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.

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.