pub struct LintCheck {
pub lint_name: LintName,
pub kind: LintCheckKind,
pub reason: Option<Symbol>,
pub attr_id: HashIgnoredAttrId,
pub attr_span: Span,
pub lint_span: Span,
pub tool_span: Option<Span>,
}Expand description
A lint check attribute.
For example #[deny(clippy::blah, reason = "reason")] is lowered into this.
These are smooshed and flattened together;
#[allow(dead_code)]
#[deny(unused, unsafe_code)]is lowered into
#[attr = LintCheck([
LintCheck { lint_name: "dead_code", kind: Allow },
LintCheck { lint_name: "unused", kind: Deny },
LintCheck { lint_name: "unsafe_code", kind: Deny },
])]Fields§
§lint_name: LintName§kind: LintCheckKind§reason: Option<Symbol>§attr_id: HashIgnoredAttrIdNeeded by LintExpectationId to track fulfilled expectations
attr_span: SpanThe span of the attribute this lintcheck came from.
Like mentioned above, multiple lint attributes and multiple lints
inside one attribute are all smooshed and flattened together, so
multiple LintChecks can have the same attr_span.
lint_span: SpanThe span of the entire lint name.
#[deny(foo::bar::baz)] ^^^^^^^^^^^^^
tool_span: Option<Span>Trait Implementations§
Source§impl<__D: SpanDecoder> Decodable<__D> for LintCheck
impl<__D: SpanDecoder> Decodable<__D> for LintCheck
Source§impl<__E: SpanEncoder> Encodable<__E> for LintCheck
impl<__E: SpanEncoder> Encodable<__E> for LintCheck
Source§impl PrintAttribute for LintCheck
impl PrintAttribute for LintCheck
Source§fn should_render(&self) -> bool
fn should_render(&self) -> bool
fn print_attribute(&self, __p: &mut Printer)
Source§impl StableHash for LintCheck
impl StableHash for LintCheck
fn stable_hash<__Hcx: StableHashCtxt>( &self, __hcx: &mut __Hcx, __hasher: &mut StableHasher, )
Auto Trait Implementations§
impl DynSend for LintCheck
impl DynSync for LintCheck
impl Freeze for LintCheck
impl RefUnwindSafe for LintCheck
impl Send for LintCheck
impl Sync for LintCheck
impl Unpin for LintCheck
impl UnsafeUnpin for LintCheck
impl UnwindSafe for LintCheck
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ErasedDestructor for Twhere
T: 'static,
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> ⓘ
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> ⓘ
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<T> Pointable for T
impl<T> Pointable for 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> ⓘ
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 48 bytes