Rust Lints

For Rust version 1.85.0. References:

Allow by default lints

LintVerdictComment
absolute-paths-not-starting-with-cratedefaultOnly applies to 2015 edition.
ambiguous-negative-literalswarn
async-identsdefault
closure-returning-async-blockwarn
deprecated-safe-2024defaultOnly applies to pre-2024 editions.
disjoint-capture-migrationdefault
edition-2024-expr-fragment-specifierdefault
elided-lifetime-in-pathdefault
elided-lifetimes-in-pathsdefault
explicit-outlives-requirementswarn
ffi-unwind-callsdefault
fuzzy-provenance-castsdefault
if-let-rescopedefault
impl-trait-overcapturesdefault
impl-trait-redundant-captureswarn
keyword-identsdefault
keyword-idents-2018default
keyword-idents-2024default
let-underscore-dropwarn
lossy-provenance-castsdefaultUnstable.
macro-use-extern-cratewarn
meta-variable-misusewarn
missing-abiwarn
missing-copy-implementationsdefault
missing-debug-implementationsdefault
missing-docswarn
missing-unsafe-on-externdefault
multiple-supertrait-upcastabledefault
must-not-suspenddefaultUnstable.
non-ascii-identsdefault
non-exhaustive-omitted-patternsdefault
or-patterns-back-compatdefault
redundant-importswarn
redundant-lifetimeswarn
rust-2021-incompatible-closure-capturesdefault
rust-2021-incompatible-or-patternsdefault
rust-2021-prefixes-incompatible-syntaxdefault
rust-2021-prelude-collisionsdefault
rust-2024-guarded-string-incompatible-syntaxdefault
rust-2024-incompatible-patdefault
rust-2024-prelude-collisionsdefault
single-use-lifetimedefault
single-use-lifetimeswarn
tail-expr-drop-orderdefault
trivial-castswarn
trivial-numeric-castswarn
unit-bindingswarn
unnameable-typeswarn
unqualified-local-importsdefaultUnstable.
unreachable-pubdefaultSee clippy::redundant-pub-crate.
unsafe-attr-outside-unsafedefault
unsafe-codewarn
unsafe-op-in-unsafe-fndefault
unstable-featuresdefault
unused-crate-dependencieswarn
unused-extern-crateswarn
unused-import-braceswarn
unused-lifetimeswarn
unused-macro-ruleswarn
unused-qualificationswarn
unused-resultsdefault
variant-size-differenceswarn
clippy::absolute-pathsdefault
clippy::alloc-instead-of-corewarn
clippy::allow-attributeswarn
clippy::allow-attributes-without-reasonwarn
clippy::arbitrary-source-item-orderingdefault
clippy::arithmetic-side-effectsdefault
clippy::as-conversionswarn
clippy::as-pointer-underscoredefault
clippy::as-underscoredefault
clippy::assertions-on-result-stateswarn
clippy::big-endian-bytesdefault
clippy::cargowarnGroup.
clippy::cfg-not-testwarn
clippy::clone-on-ref-ptrwarn
clippy::create-dirdefault
clippy::dbg-macrowarn
clippy::decimal-literal-representationdefault
clippy::default-numeric-fallbackdefault
clippy::default-union-representationdefault
clippy::deref-by-slicingwarn
clippy::disallowed-script-identsdefault
clippy::doc-include-without-cfgdefault
clippy::else-if-without-elsedefault
clippy::empty-dropwarn
clippy::empty-enum-variants-with-bracketswarn
clippy::empty-structs-with-bracketswarn
clippy::error-impl-errordefault
clippy::exhaustive-enumsdefault
clippy::exhaustive-structsdefault
clippy::exitdefault
clippy::expect-useddefault
clippy::field-scoped-visibility-modifierswarn
clippy::filetype-is-filedefault
clippy::float-arithmeticdefault
clippy::float-cmp-constdefault
clippy::fn-to-numeric-cast-anydefault
clippy::format-push-stringwarn
clippy::get-unwrapwarn
clippy::host-endian-bytesdefault
clippy::if-then-some-else-nonewarn
clippy::impl-trait-in-paramsdefault
clippy::implicit-returndefault
clippy::indexing-slicingdefault
clippy::infinite-loopwarn
clippy::inline-asm-x86-att-syntaxdefault
clippy::inline-asm-x86-intel-syntaxdefault
clippy::integer-divisiondefault
clippy::integer-division-remainder-useddefault
clippy::iter-over-hash-typedefault
clippy::large-include-filedefault
clippy::let-underscore-must-usedefault
clippy::let-underscore-untypeddefault
clippy::little-endian-bytesdefault
clippy::lossy-float-literalwarn
clippy::map-err-ignoredefault
clippy::map-with-unused-argument-over-rangesdefault
clippy::mem-forgetdefault
clippy::min-ident-charsdefault
clippy::missing-assert-messagedefault
clippy::missing-asserts-for-indexingdefault
clippy::missing-docs-in-private-itemsdefault
clippy::missing-inline-in-public-itemsdefault
clippy::missing-trait-methodsdefault
clippy::mixed-read-write-in-expressiondefault
clippy::mod-module-filesdefault
clippy::module-name-repetitionsdefault
clippy::modulo-arithmeticdefault
clippy::multiple-inherent-impldefault
clippy::multiple-unsafe-ops-per-blockdefault
clippy::mutex-atomicwarn
clippy::needless-raw-stringsdefault
clippy::non-ascii-literaldefault
clippy::non-zero-suggestionswarn
clippy::nurserywarnGroup.
clippy::panicdefault
clippy::panic-in-result-fnwarn
clippy::partial-pub-fieldsdefault
clippy::pathbuf-init-then-pushdefault
clippy::pattern-type-mismatchdefault
clippy::pedanticwarnGroup.
clippy::print-stderrwarn
clippy::print-stdoutwarn
clippy::pub-usedefault
clippy::pub-with-shorthanddefault
clippy::pub-without-shorthanddefault
clippy::question-mark-useddefault
clippy::rc-bufferwarn
clippy::rc-mutexwarn
clippy::redundant-type-annotationswarn
clippy::ref-patternsdefault
clippy::renamed-function-paramswarn
clippy::rest-pat-in-fully-bound-structswarn
clippy::same-name-methodwarn
clippy::self-named-module-fileswarn
clippy::semicolon-inside-blockdefault
clippy::semicolon-outside-blockdefault
clippy::separated-literal-suffixdefault
clippy::shadow-reusedefault
clippy::shadow-samedefault
clippy::shadow-unrelateddefault
clippy::single-call-fndefault
clippy::single-char-lifetime-namesdefault
clippy::std-instead-of-allocdefault
clippy::std-instead-of-coredefault
clippy::str-to-stringdefault
clippy::string-adddefault
clippy::string-lit-chars-anywarn
clippy::string-slicedefault
clippy::string-to-stringwarn
clippy::suspicious-xor-used-as-powdefault
clippy::tests-outside-test-modulewarn
clippy::todowarn
clippy::try-errwarn
clippy::undocumented-unsafe-blockswarn
clippy::unimplementedwarn
clippy::unnecessary-safety-commentwarn
clippy::unnecessary-safety-docwarn
clippy::unnecessary-self-importswarn
clippy::unneeded-field-patternwarn
clippy::unreachabledefault
clippy::unseparated-literal-suffixwarn
clippy::unused-result-okdefault
clippy::unused-trait-namesdefault
clippy::unwrap-in-resultdefault
clippy::unwrap-useddefault
clippy::use-debugdefault
clippy::verbose-file-readswarn
clippy::wildcard-enum-match-armdefault

Exceptions:

LintVerdictComment
clippy::multiple-crate-versionsallow

Summary

Add the following configuration to Cargo.toml:

[lints.rust]
ambiguous-negative-literals = { level = "warn", priority = 1 }
closure-returning-async-block = { level = "warn", priority = 1 }
explicit-outlives-requirements = { level = "warn", priority = 1 }
impl-trait-redundant-captures = { level = "warn", priority = 1 }
let-underscore-drop = { level = "warn", priority = 1 }
macro-use-extern-crate = { level = "warn", priority = 1 }
meta-variable-misuse = { level = "warn", priority = 1 }
missing-abi = { level = "warn", priority = 1 }
missing-docs = { level = "warn", priority = 1 }
redundant-imports = { level = "warn", priority = 1 }
redundant-lifetimes = { level = "warn", priority = 1 }
single-use-lifetimes = { level = "warn", priority = 1 }
trivial-casts = { level = "warn", priority = 1 }
trivial-numeric-casts = { level = "warn", priority = 1 }
unit-bindings = { level = "warn", priority = 1 }
unnameable-types = { level = "warn", priority = 1 }
unsafe-code = { level = "warn", priority = 1 }
unused-crate-dependencies = { level = "warn", priority = 1 }
unused-extern-crates = { level = "warn", priority = 1 }
unused-import-braces = { level = "warn", priority = 1 }
unused-lifetimes = { level = "warn", priority = 1 }
unused-macro-rules = { level = "warn", priority = 1 }
unused-qualifications = { level = "warn", priority = 1 }
variant-size-differences = { level = "warn", priority = 1 }

[lints.clippy]
alloc-instead-of-core = { level = "warn", priority = 1 }
allow-attributes = { level = "warn", priority = 1 }
allow-attributes-without-reason = { level = "warn", priority = 1 }
as-conversions = { level = "warn", priority = 1 }
assertions-on-result-states = { level = "warn", priority = 1 }
cargo = "warn"
cfg-not-test = { level = "warn", priority = 1 }
clone-on-ref-ptr = { level = "warn", priority = 1 }
dbg-macro = { level = "warn", priority = 1 }
deref-by-slicing = { level = "warn", priority = 1 }
empty-drop = { level = "warn", priority = 1 }
empty-enum-variants-with-brackets = { level = "warn", priority = 1 }
empty-structs-with-brackets = { level = "warn", priority = 1 }
field-scoped-visibility-modifiers = { level = "warn", priority = 1 }
format-push-string = { level = "warn", priority = 1 }
get-unwrap = { level = "warn", priority = 1 }
if-then-some-else-none = { level = "warn", priority = 1 }
infinite-loop = { level = "warn", priority = 1 }
lossy-float-literal = { level = "warn", priority = 1 }
multiple-crate-versions = { level = "allow", priority = 1 }
mutex-atomic = { level = "warn", priority = 1 }
non-zero-suggestions = { level = "warn", priority = 1 }
nursery = "warn"
panic-in-result-fn = { level = "warn", priority = 1 }
pedantic = "warn"
print-stderr = { level = "warn", priority = 1 }
print-stdout = { level = "warn", priority = 1 }
rc-buffer = { level = "warn", priority = 1 }
rc-mutex = { level = "warn", priority = 1 }
redundant-type-annotations = { level = "warn", priority = 1 }
renamed-function-params = { level = "warn", priority = 1 }
rest-pat-in-fully-bound-structs = { level = "warn", priority = 1 }
same-name-method = { level = "warn", priority = 1 }
self-named-module-files = { level = "warn", priority = 1 }
string-lit-chars-any = { level = "warn", priority = 1 }
string-to-string = { level = "warn", priority = 1 }
tests-outside-test-module = { level = "warn", priority = 1 }
todo = { level = "warn", priority = 1 }
try-err = { level = "warn", priority = 1 }
undocumented-unsafe-blocks = { level = "warn", priority = 1 }
unimplemented = { level = "warn", priority = 1 }
unnecessary-safety-comment = { level = "warn", priority = 1 }
unnecessary-safety-doc = { level = "warn", priority = 1 }
unnecessary-self-imports = { level = "warn", priority = 1 }
unneeded-field-pattern = { level = "warn", priority = 1 }
unseparated-literal-suffix = { level = "warn", priority = 1 }
verbose-file-reads = { level = "warn", priority = 1 }

.clippy.toml Configuration

avoid-breaking-exported-api = false
warn-on-all-wildcard-imports = true