rustc_lint::early

Trait EarlyCheckNode

source
pub trait EarlyCheckNode<'a>: Copy {
    // Required methods
    fn id(self) -> NodeId;
    fn attrs<'b>(self) -> &'b [Attribute]
       where 'a: 'b;
    fn check<'b, T: EarlyLintPass>(self, cx: &mut EarlyContextAndPass<'b, T>)
       where 'a: 'b;
}
Expand description

Early lints work on different nodes - either on the crate root, or on freshly loaded modules. This trait generalizes over those nodes.

Required Methods§

source

fn id(self) -> NodeId

source

fn attrs<'b>(self) -> &'b [Attribute]
where 'a: 'b,

source

fn check<'b, T: EarlyLintPass>(self, cx: &mut EarlyContextAndPass<'b, T>)
where 'a: 'b,

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<'a> EarlyCheckNode<'a> for (&'a Crate, &'a [Attribute])

source§

fn id(self) -> NodeId

source§

fn attrs<'b>(self) -> &'b [Attribute]
where 'a: 'b,

source§

fn check<'b, T: EarlyLintPass>(self, cx: &mut EarlyContextAndPass<'b, T>)
where 'a: 'b,

source§

impl<'a> EarlyCheckNode<'a> for (NodeId, &'a [Attribute], &'a [P<Item>])

source§

fn id(self) -> NodeId

source§

fn attrs<'b>(self) -> &'b [Attribute]
where 'a: 'b,

source§

fn check<'b, T: EarlyLintPass>(self, cx: &mut EarlyContextAndPass<'b, T>)
where 'a: 'b,

Implementors§