# Trait rustc_lint::early::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§