pub trait LintDiagnostic<'a, G: EmissionGuarantee> {
    // Required methods
    fn decorate_lint<'b>(self, diag: &'b mut Diag<'a, G>);
    fn msg(&self) -> DiagMessage;
}
Expand description

Trait implemented by lint types. This should not be implemented manually. Instead, use #[derive(LintDiagnostic)] – see rustc_macros::LintDiagnostic.

Required Methods§

source

fn decorate_lint<'b>(self, diag: &'b mut Diag<'a, G>)

Decorate and emit a lint.

source

fn msg(&self) -> DiagMessage

Implementors§

impl<'__a> LintDiagnostic<'__a, ()> for VarNeedNotMut

impl<'__a> LintDiagnostic<'__a, ()> for LongRunning

impl<'__a> LintDiagnostic<'__a, ()> for MutablePtrInFinal

impl<'__a, 'a> LintDiagnostic<'__a, ()> for RefOfMutStatic<'a>

impl<'__a, 'tcx> LintDiagnostic<'__a, ()> for ReturnPositionImplTraitInTraitRefined<'tcx>

impl<'__a, 'tcx> LintDiagnostic<'__a, ()> for CastEnumDrop<'tcx>

impl<'__a, 'tcx> LintDiagnostic<'__a, ()> for LossyProvenanceInt2Ptr<'tcx>

impl<'__a, 'tcx> LintDiagnostic<'__a, ()> for LossyProvenancePtr2Int<'tcx>

impl<'__a, 'tcx> LintDiagnostic<'__a, ()> for TrivialCast<'tcx>

impl<'__a> LintDiagnostic<'__a, ()> for BuiltinUnsafe

impl<'__a> LintDiagnostic<'__a, ()> for InvalidFromUtf8Diag

impl<'__a> LintDiagnostic<'__a, ()> for NonBindingLet

impl<'__a> LintDiagnostic<'__a, ()> for AtomicOrderingFence

impl<'__a> LintDiagnostic<'__a, ()> for AtomicOrderingLoad

impl<'__a> LintDiagnostic<'__a, ()> for AtomicOrderingStore

impl<'__a> LintDiagnostic<'__a, ()> for BuiltinConstNoMangle

impl<'__a> LintDiagnostic<'__a, ()> for BuiltinDerefNullptr

impl<'__a> LintDiagnostic<'__a, ()> for BuiltinKeywordIdents

impl<'__a> LintDiagnostic<'__a, ()> for BuiltinWhileTrue

impl<'__a> LintDiagnostic<'__a, ()> for CStringPtr

impl<'__a> LintDiagnostic<'__a, ()> for DiagOutOfImpl

impl<'__a> LintDiagnostic<'__a, ()> for Expectation

impl<'__a> LintDiagnostic<'__a, ()> for LintPassByHand

impl<'__a> LintDiagnostic<'__a, ()> for MappingToUnit

impl<'__a> LintDiagnostic<'__a, ()> for NonFmtPanicBraces

impl<'__a> LintDiagnostic<'__a, ()> for OnlyCastu8ToChar

impl<'__a> LintDiagnostic<'__a, ()> for PassByValueDiag

impl<'__a> LintDiagnostic<'__a, ()> for PathStatementDrop

impl<'__a> LintDiagnostic<'__a, ()> for QueryInstability

impl<'__a> LintDiagnostic<'__a, ()> for SpanUseEqCtxtDiag

impl<'__a> LintDiagnostic<'__a, ()> for TyQualified

impl<'__a> LintDiagnostic<'__a, ()> for TykindDiag

impl<'__a> LintDiagnostic<'__a, ()> for TykindKind

impl<'__a> LintDiagnostic<'__a, ()> for UnitBindingsDiag

impl<'__a> LintDiagnostic<'__a, ()> for UnknownLint

impl<'__a> LintDiagnostic<'__a, ()> for UntranslatableDiag

impl<'__a> LintDiagnostic<'__a, ()> for UnusedAllocationDiag

impl<'__a> LintDiagnostic<'__a, ()> for UnusedComparisons

impl<'__a, 'a> LintDiagnostic<'__a, ()> for AmbiguousWidePointerComparisons<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for BuiltinClashingExtern<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for PtrNullChecksDiag<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for ArrayIntoIterDiag<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for BadOptAccessDiag<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for BuiltinAnonymousParams<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for BuiltinBoxPointers<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for BuiltinDeprecatedAttrLink<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for BuiltinMissingDoc<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for BuiltinTrivialBounds<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for BuiltinUnreachablePub<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for BuiltinUnusedDocComment<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for DefaultHashTypesDiag<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for DeprecatedLintName<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for DropCopyDiag<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for DropRefDiag<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for EnumIntrinsicsMemDiscriminate<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for EnumIntrinsicsMemVariant<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for ForLoopsOverFalliblesDiag<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for ForgetCopyDiag<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for ForgetRefDiag<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for HiddenUnicodeCodepointsDiag<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for IgnoredUnlessCrateSpecified<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for NonCamelCaseType<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for NonSnakeCaseDiag<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for NonUpperCaseGlobal<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for NoopMethodCallDiag<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for OverflowingBinHex<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for OverflowingInt<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for OverflowingLiteral<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for OverflowingUInt<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for OverruledAttributeLint<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for RangeEndpointOutOfRange<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for RemovedLint<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for RemovedLintFromCommandLine<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for RenamedLint<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for RenamedLintFromCommandLine<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for SupertraitAsDerefTarget<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for SuspiciousDoubleRefCloneDiag<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for SuspiciousDoubleRefDerefDiag<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for UndroppedManuallyDropsDiag<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for UnknownLintFromCommandLine<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for UnusedClosure<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for UnusedCoroutine<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for UnusedDelim<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for UnusedOp<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for UnusedResult<'a>

impl<'__a, 'a, 'b> LintDiagnostic<'__a, ()> for BuiltinTypeAliasGenericBounds<'a, 'b>

impl<'__a, 'a, 'b> LintDiagnostic<'__a, ()> for BuiltinTypeAliasWhereClause<'a, 'b>

impl<'__a, 'tcx> LintDiagnostic<'__a, ()> for InvalidReferenceCastingDiag<'tcx>

impl<'__a, 'tcx> LintDiagnostic<'__a, ()> for OpaqueHiddenInferredBoundLint<'tcx>

impl<'a> LintDiagnostic<'a, ()> for DropGlue<'_>

impl<'a> LintDiagnostic<'a, ()> for ImproperCTypes<'_>

impl<'a> LintDiagnostic<'a, ()> for UnusedDef<'_, '_>

impl<'__a> LintDiagnostic<'__a, ()> for PointerPattern

impl<'__a> LintDiagnostic<'__a, ()> for UnreachablePattern

impl<'__a> LintDiagnostic<'__a, ()> for UnusedUnsafe

impl<'__a, 'tcx> LintDiagnostic<'__a, ()> for IndirectStructuralMatch<'tcx>

impl<'__a, 'tcx> LintDiagnostic<'__a, ()> for NontrivialStructuralMatch<'tcx>

impl<'__a> LintDiagnostic<'__a, ()> for ConstMutate

impl<'__a> LintDiagnostic<'__a, ()> for FfiUnwindCall

impl<'__a> LintDiagnostic<'__a, ()> for FnItemRef

impl<'__a> LintDiagnostic<'__a, ()> for UnusedUnsafe

impl<'a> LintDiagnostic<'a, ()> for MustNotSupend<'_, '_>

impl<'a, P: Debug> LintDiagnostic<'a, ()> for AssertLint<P>

impl<'__a> LintDiagnostic<'__a, ()> for LargeAssignmentsLint

impl<'__a> LintDiagnostic<'__a, ()> for MacroExport

impl<'__a> LintDiagnostic<'__a, ()> for AttrCrateLevelOnly

impl<'__a> LintDiagnostic<'__a, ()> for Cold

impl<'__a> LintDiagnostic<'__a, ()> for Deprecated

impl<'__a> LintDiagnostic<'__a, ()> for DocAliasDuplicated

impl<'__a> LintDiagnostic<'__a, ()> for DocCfgHideTakesList

impl<'__a> LintDiagnostic<'__a, ()> for DocInlineOnlyUse

impl<'__a> LintDiagnostic<'__a, ()> for DocInvalid

impl<'__a> LintDiagnostic<'__a, ()> for DocTestLiteral

impl<'__a> LintDiagnostic<'__a, ()> for DocTestTakesList

impl<'__a> LintDiagnostic<'__a, ()> for DocTestUnknown

impl<'__a> LintDiagnostic<'__a, ()> for DocTestUnknownAny

impl<'__a> LintDiagnostic<'__a, ()> for InnerCrateLevelAttr

impl<'__a> LintDiagnostic<'__a, ()> for Link

impl<'__a> LintDiagnostic<'__a, ()> for LinkSection

impl<'__a> LintDiagnostic<'__a, ()> for MacroUse

impl<'__a> LintDiagnostic<'__a, ()> for MustUseAsync

impl<'__a> LintDiagnostic<'__a, ()> for MustUseNoEffect

impl<'__a> LintDiagnostic<'__a, ()> for NoMangle

impl<'__a> LintDiagnostic<'__a, ()> for NoMangleForeign

impl<'__a> LintDiagnostic<'__a, ()> for OnlyHasEffectOn

impl<'__a> LintDiagnostic<'__a, ()> for OuterCrateLevelAttr

impl<'__a> LintDiagnostic<'__a, ()> for ReprConflictingLint

impl<'__a> LintDiagnostic<'__a, ()> for Unused

impl<'__a> LintDiagnostic<'__a, ()> for UnusedAssign

impl<'__a> LintDiagnostic<'__a, ()> for UnusedAssignPassed

impl<'__a> LintDiagnostic<'__a, ()> for UnusedDuplicate

impl<'__a> LintDiagnostic<'__a, ()> for UnusedVarRemoveField

impl<'__a> LintDiagnostic<'__a, ()> for UnusedVarTryIgnore

impl<'__a, 'a> LintDiagnostic<'__a, ()> for IgnoredAttr<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for IgnoredAttrWithMacro<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for LinkName<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for UselessAssignment<'a>

impl<'__a, 'desc, 'tcx> LintDiagnostic<'__a, ()> for UnreachableDueToUninhabited<'desc, 'tcx>

impl<'__a, 'tcx> LintDiagnostic<'__a, ()> for MultipleDeadCodes<'tcx>

impl<'__a, 'tcx> LintDiagnostic<'__a, ()> for ExclusiveRangeMissingGap<'tcx>

impl<'__a, 'tcx> LintDiagnostic<'__a, ()> for ExclusiveRangeMissingMax<'tcx>

impl<'__a, 'tcx> LintDiagnostic<'__a, ()> for NonExhaustiveOmittedPattern<'tcx>

impl<'__a, 'tcx> LintDiagnostic<'__a, ()> for OverlappingRangeEndpoints<'tcx>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for PrivateInterfacesOrBoundsLint<'a>

impl<'__a, 'a> LintDiagnostic<'__a, ()> for UnnameableTypesLint<'a>

impl<'__a> LintDiagnostic<'__a, ()> for WrappedParserError