From 23ee571b266250c9bf223d6299579b45d83adb80 Mon Sep 17 00:00:00 2001 From: David Skrundz Date: Wed, 15 Jul 2026 00:17:48 -0600 Subject: [PATCH] Initial commit --- .clippy.toml | 4 + .gitignore | 23 + .rustfmt.toml | 1 + .tombi.toml | 10 + .zed/settings.json | 19 + CONTRIBUTING.md | 7 + Cargo.lock | 640 ++++++++++ Cargo.toml | 541 +++++++++ LICENSE.md | 7 + README.md | 17 + crates/lint-policy-cli/Cargo.toml | 36 + crates/lint-policy-cli/README.md | 40 + crates/lint-policy-cli/src/cli.rs | 39 + crates/lint-policy-cli/src/diff.rs | 105 ++ crates/lint-policy-cli/src/group.rs | 40 + crates/lint-policy-cli/src/main.rs | 122 ++ crates/lint-policy-cli/src/source/mod.rs | 57 + crates/lint-policy-cli/src/source/toml.rs | 41 + .../lint-policy-cli/src/source/toolchain.rs | 230 ++++ crates/lint-policy/Cargo.toml | 33 + crates/lint-policy/README.md | 5 + crates/lint-policy/src/cargo.rs | 214 ++++ crates/lint-policy/src/level.rs | 90 ++ crates/lint-policy/src/lib.rs | 19 + crates/lint-policy/src/linter.rs | 72 ++ crates/private-crate/Cargo.toml | 24 + crates/private-crate/README.md | 5 + crates/private-crate/src/lib.rs | 5 + justfile | 41 + lints/1.85.toml | 993 +++++++++++++++ lints/1.86.toml | 1008 ++++++++++++++++ lints/1.87.toml | 1015 ++++++++++++++++ lints/1.88.toml | 1017 ++++++++++++++++ lints/1.89.toml | 1025 ++++++++++++++++ lints/1.90.toml | 1029 ++++++++++++++++ lints/1.91.toml | 1032 ++++++++++++++++ lints/1.92.toml | 1036 ++++++++++++++++ lints/1.93.toml | 1042 ++++++++++++++++ lints/1.94.toml | 1052 ++++++++++++++++ lints/1.95.toml | 1062 ++++++++++++++++ lints/1.96.toml | 1066 ++++++++++++++++ lints/1.97.toml | 1075 +++++++++++++++++ rust-toolchain.toml | 2 + 43 files changed, 15941 insertions(+) create mode 100644 .clippy.toml create mode 100644 .gitignore create mode 100644 .rustfmt.toml create mode 100644 .tombi.toml create mode 100644 .zed/settings.json create mode 100644 CONTRIBUTING.md create mode 100644 Cargo.lock create mode 100644 Cargo.toml create mode 100644 LICENSE.md create mode 100644 README.md create mode 100644 crates/lint-policy-cli/Cargo.toml create mode 100644 crates/lint-policy-cli/README.md create mode 100644 crates/lint-policy-cli/src/cli.rs create mode 100644 crates/lint-policy-cli/src/diff.rs create mode 100644 crates/lint-policy-cli/src/group.rs create mode 100644 crates/lint-policy-cli/src/main.rs create mode 100644 crates/lint-policy-cli/src/source/mod.rs create mode 100644 crates/lint-policy-cli/src/source/toml.rs create mode 100644 crates/lint-policy-cli/src/source/toolchain.rs create mode 100644 crates/lint-policy/Cargo.toml create mode 100644 crates/lint-policy/README.md create mode 100644 crates/lint-policy/src/cargo.rs create mode 100644 crates/lint-policy/src/level.rs create mode 100644 crates/lint-policy/src/lib.rs create mode 100644 crates/lint-policy/src/linter.rs create mode 100644 crates/private-crate/Cargo.toml create mode 100644 crates/private-crate/README.md create mode 100644 crates/private-crate/src/lib.rs create mode 100644 justfile create mode 100644 lints/1.85.toml create mode 100644 lints/1.86.toml create mode 100644 lints/1.87.toml create mode 100644 lints/1.88.toml create mode 100644 lints/1.89.toml create mode 100644 lints/1.90.toml create mode 100644 lints/1.91.toml create mode 100644 lints/1.92.toml create mode 100644 lints/1.93.toml create mode 100644 lints/1.94.toml create mode 100644 lints/1.95.toml create mode 100644 lints/1.96.toml create mode 100644 lints/1.97.toml create mode 100644 rust-toolchain.toml diff --git a/.clippy.toml b/.clippy.toml new file mode 100644 index 0000000..5951be3 --- /dev/null +++ b/.clippy.toml @@ -0,0 +1,4 @@ +allow-expect-in-tests = true +check-private-items = true + +allowed-duplicate-crates = [] diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9fbfa1b --- /dev/null +++ b/.gitignore @@ -0,0 +1,23 @@ +* +!**/ + +!.zed/settings.json +!.gitignore + +!/CONTRIBUTING.md +!/LICENSE.md +!/README.md + +!/.clippy.toml +!/.rustfmt.toml +!/.tombi.toml +!/Cargo.toml +!/Cargo.lock +!/justfile +!/rust-toolchain.toml + +!/crates/**/*.rs +!/crates/**/Cargo.toml +!/crates/**/README.md + +!/lints/*.toml diff --git a/.rustfmt.toml b/.rustfmt.toml new file mode 100644 index 0000000..218e203 --- /dev/null +++ b/.rustfmt.toml @@ -0,0 +1 @@ +hard_tabs = true diff --git a/.tombi.toml b/.tombi.toml new file mode 100644 index 0000000..9d33042 --- /dev/null +++ b/.tombi.toml @@ -0,0 +1,10 @@ +[format.rules] +indent-style = "tab" +indent-width = 4 +line-width = 120 + +# Disable TOML 1.1 features from tombi as long as we support rust <1.94 +[[schemas]] +toml-version = "v1.0.0" +path = "tombi://www.schemastore.org/cargo.json" +include = ["Cargo.toml"] diff --git a/.zed/settings.json b/.zed/settings.json new file mode 100644 index 0000000..9492686 --- /dev/null +++ b/.zed/settings.json @@ -0,0 +1,19 @@ +{ + "lsp": { + "rust-analyzer": { + "initialization_options": { + "imports": { + "granularity": { "enforce": true, "group": "module" }, + "group": { "enable": true }, + "merge": { "glob": false }, + "preferNoStd": true, + }, + "server": { + "extraEnv": { + "RUSTUP_TOOLCHAIN": "stable", + }, + }, + }, + }, + }, +} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..ee6138d --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,7 @@ +How to Contribute +================= + +We'd love to accept your patches and contributions to this project. +We just need you to follow the Contributor License Agreement outlined +in the latest v0.0.x of https://git.skrundz.dev/skrunix/license +(mirrored to https://github.com/skrunix/license) diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..50f8f73 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,640 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "anstream" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" + +[[package]] +name = "anstyle-parse" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +dependencies = [ + "windows-sys 0.48.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abbf7eaf69f3b46121caf74645dd5d3078b4b205a2513930da0033156682cd28" +dependencies = [ + "anstyle", + "windows-sys 0.59.0", +] + +[[package]] +name = "anyhow" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830802095da0f959ac37cc1765a30abc768d71f4c04c3d069dc8a0f0b40fe1e0" + +[[package]] +name = "bitflags" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" + +[[package]] +name = "clap" +version = "4.5.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52fa72306bb30daf11bc97773431628e5b4916e97aaa74b7d3f625d4d495da02" +dependencies = [ + "clap_builder", + "clap_derive", +] + +[[package]] +name = "clap_builder" +version = "4.5.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2071365c5c56eae7d77414029dde2f4f4ba151cf68d5a3261c9a40de428ace93" +dependencies = [ + "anstream", + "anstyle", + "clap_lex", + "strsim", +] + +[[package]] +name = "clap_derive" +version = "4.5.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dec5be1eea072311774b7b84ded287adbd9f293f9d23456817605c6042f4f5e0" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "clap_lex" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a822ea5bc7590f9d40f1ba12c0dc3c2760f3482c6984db1573ad11031420831" + +[[package]] +name = "colorchoice" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" + +[[package]] +name = "either" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5845bf77d497f79416df39462df26d4a8b71dd6440246848ee63709476dbb9a6" + +[[package]] +name = "errno" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" +dependencies = [ + "errno-dragonfly", + "libc", + "winapi", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14ca354e36190500e1e1fb267c647932382b54053c50b14970856c0b00a35067" +dependencies = [ + "gcc", + "libc", +] + +[[package]] +name = "gcc" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e33f45ff9bef4a33df0e34df4d68ee016762d11f24e8d536e5e294096cc2b96" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hermit-abi" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ab7905ea95c6d9af62940f9d7dd9596d54c334ae2c15300c482051292d5637f" +dependencies = [ + "libc", +] + +[[package]] +name = "io-lifetimes" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7d367024b3f3414d8e01f437f704f41a9f64ab36f9067fa73e526ad4c763c87" +dependencies = [ + "libc", + "windows-sys 0.42.0", +] + +[[package]] +name = "is-terminal" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189" +dependencies = [ + "hermit-abi", + "io-lifetimes", + "rustix", + "windows-sys 0.42.0", +] + +[[package]] +name = "is_terminal_polyfill" +version = "1.48.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4fd87ae6e70e93bccb31290c60bdeea8ac1dca5571f71502d996f49213a8e92" +dependencies = [ + "is-terminal", +] + +[[package]] +name = "itertools" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b4baf93f58d4425749ca49a51c50ebab072c5df6994d08fed93541c331481dc" +dependencies = [ + "either", +] + +[[package]] +name = "libc" +version = "0.2.133" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0f80d65747a3e43d1596c7c5492d95d5edddaabd45a7fcdb02b95f644164966" + +[[package]] +name = "lint-policy" +version = "0.0.1" +dependencies = [ + "serde", + "strum", + "toml", +] + +[[package]] +name = "lint-policy-cli" +version = "0.0.1" +dependencies = [ + "anyhow", + "clap", + "itertools", + "lint-policy", + "serde", + "strum", + "thiserror", + "toml", +] + +[[package]] +name = "linux-raw-sys" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb68f22743a3fb35785f1e7f844ca5a3de2dde5bd0c0ef5b372065814699b121" + +[[package]] +name = "private-crate" +version = "0.0.0" + +[[package]] +name = "proc-macro2" +version = "1.0.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rustix" +version = "0.36.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb93e85278e08bb5788653183213d3a60fc242b10cb9be96586f5a73dcb67c23" +dependencies = [ + "bitflags", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys", + "windows-sys 0.42.0", +] + +[[package]] +name = "serde" +version = "1.0.225" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd6c24dee235d0da097043389623fb913daddf92c76e9f5a1db88607a0bcbd1d" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.225" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "659356f9a0cb1e529b24c01e43ad2bdf520ec4ceaf83047b83ddcc2251f96383" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.225" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ea936adf78b1f766949a4977b91d2f5595825bd6ec079aa9543ad2685fc4516" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_spanned" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8bbf91e5a4d6315eee45e704372590b30e260ee83af6639d64557f51b067776" +dependencies = [ + "serde_core", +] + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "strum" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9628de9b8791db39ceda2b119bbe13134770b56c138ec1d3af810d045c04f9bd" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab85eea0270ee17587ed4156089e10b9e6880ee688791d45a905f5b1ca36f664" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "syn" +version = "2.0.117" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15291287e9bff1bc6f9ff3409ed9af665bec7a5fc8ac079ea96be07bca0e2668" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22efd00f33f93fa62848a7cab956c3d38c8d43095efda1decfc2b3a5dc0b8972" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "toml" +version = "1.0.7+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd28d57d8a6f6e458bc0b8784f8fdcc4b99a437936056fa122cb234f18656a96" +dependencies = [ + "serde_core", + "serde_spanned", + "toml_datetime", + "toml_parser", + "toml_writer", + "winnow", +] + +[[package]] +name = "toml_datetime" +version = "1.0.1+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b320e741db58cac564e26c607d3cc1fdc4a88fd36c879568c07856ed83ff3e9" +dependencies = [ + "serde_core", +] + +[[package]] +name = "toml_parser" +version = "1.0.10+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7df25b4befd31c4816df190124375d5a20c6b6921e2cad937316de3fccd63420" +dependencies = [ + "winnow", +] + +[[package]] +name = "toml_writer" +version = "1.0.7+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f17aaa1c6e3dc22b1da4b6bba97d066e354c7945cac2f7852d4e4e7ca7a6b56d" + +[[package]] +name = "unicode-ident" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d22af068fba1eb5edcb4aea19d382b2a3deb4c8f9d475c589b6ada9e0fd493ee" + +[[package]] +name = "utf8parse" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" + +[[package]] +name = "winapi" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3ad91d846a4a5342c1fb7008d26124ee6cf94a3953751618577295373b32117" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a16a8e2ebfc883e2b1771c6482b1fb3c6831eab289ba391619a2d93a7356220f" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ca29cb03c8ceaf20f8224a18a530938305e9872b1478ea24ff44b4f503a1d1d" + +[[package]] +name = "windows-sys" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +dependencies = [ + "windows_aarch64_gnullvm 0.42.0", + "windows_aarch64_msvc 0.42.0", + "windows_i686_gnu 0.42.0", + "windows_i686_msvc 0.42.0", + "windows_x86_64_gnu 0.42.0", + "windows_x86_64_gnullvm 0.42.0", + "windows_x86_64_msvc 0.42.0", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.0", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" +dependencies = [ + "windows_aarch64_gnullvm 0.48.0", + "windows_aarch64_msvc 0.48.0", + "windows_i686_gnu 0.48.0", + "windows_i686_msvc 0.48.0", + "windows_x86_64_gnu 0.48.0", + "windows_x86_64_gnullvm 0.48.0", + "windows_x86_64_msvc 0.48.0", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "winnow" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a90e88e4667264a994d34e6d1ab2d26d398dcdca8b7f52bec8668957517fc7d8" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..6bd03c5 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,541 @@ +[workspace] +resolver = "3" +members = ["crates/*"] + +[workspace.package] +edition = "2024" +rust-version = "1.85" +license-file = "LICENSE.md" +publish = false + +[workspace.dependencies] +lint-policy = { path = "crates/lint-policy", version = "=0.0.1", default-features = false } + +anyhow = { version = "^1.0.14", default-features = false } +clap = { version = "^4.5.61", default-features = false } +itertools = { version = "^0.15.0", default-features = false } +serde = { version = "^1.0.225", default-features = false } +strum = { version = "^0.28.0", default-features = false } +thiserror = { version = "^2.0.0", default-features = false } +toml = { version = "^1.0.7", default-features = false } + +[workspace.lints.clippy] +cargo = { level = "warn", priority = -1 } +complexity = { level = "warn", priority = -1 } +correctness = { level = "deny", priority = -1 } +perf = { level = "warn", priority = -1 } +style = { level = "warn", priority = -1 } +suspicious = { level = "warn", priority = -1 } + +absolute-paths = "allow" +alloc-instead-of-core = "warn" +allow-attributes = "warn" +allow-attributes-without-reason = "deny" +arbitrary-source-item-ordering = "allow" +arithmetic-side-effects = "deny" +as-conversions = "deny" +as-pointer-underscore = "deny" +as-ptr-cast-mut = "deny" +as-underscore = "deny" +assertions-on-result-states = "warn" +assigning-clones = "warn" +big-endian-bytes = "allow" +bool-to-int-with-if = "warn" +borrow-as-ptr = "warn" +branches-sharing-code = "warn" +case-sensitive-file-extension-comparisons = "warn" +cast-lossless = "deny" +cast-possible-truncation = "deny" +cast-possible-wrap = "deny" +cast-precision-loss = "deny" +cast-ptr-alignment = "deny" +cast-sign-loss = "deny" +cfg-not-test = "deny" +checked-conversions = "deny" +clear-with-drain = "warn" +clone-on-ref-ptr = "warn" +cloned-instead-of-copied = "warn" +coerce-container-to-any = "warn" +cognitive-complexity = "allow" +collapsible-else-if = "warn" +collection-is-never-read = "warn" +comparison-chain = "warn" +copy-iterator = "warn" +create-dir = "warn" +dbg-macro = "warn" +debug-assert-with-mut-call = "deny" +decimal-bitwise-operands = "warn" +decimal-literal-representation = "warn" +default-numeric-fallback = "warn" +default-trait-access = "warn" +default-union-representation = "allow" +deref-by-slicing = "warn" +derive-partial-eq-without-eq = "warn" +disallowed-script-idents = "deny" +doc-broken-link = "warn" +doc-comment-double-space-linebreaks = "warn" +doc-include-without-cfg = "warn" +doc-link-code = "warn" +doc-link-with-quotes = "warn" +doc-markdown = "warn" +doc-paragraphs-missing-punctuation = "warn" +duration-suboptimal-units = "warn" +elidable-lifetime-names = "warn" +else-if-without-else = "warn" +empty-drop = "warn" +empty-enum-variants-with-brackets = "warn" +empty-enums = "warn" +empty-structs-with-brackets = "warn" +enum-glob-use = "warn" +equatable-if-let = "warn" +error-impl-error = "warn" +exhaustive-enums = "warn" +exhaustive-structs = "warn" +exit = "warn" +expect-used = "warn" +expl-impl-clone-on-copy = "warn" +explicit-deref-methods = "warn" +explicit-into-iter-loop = "warn" +explicit-iter-loop = "warn" +fallible-impl-from = "warn" +field-scoped-visibility-modifiers = "warn" +filetype-is-file = "warn" +filter-map-next = "warn" +flat-map-option = "warn" +float-arithmetic = "warn" +float-cmp = "warn" +float-cmp-const = "warn" +fn-params-excessive-bools = "allow" +fn-to-numeric-cast-any = "warn" +format-collect = "warn" +format-push-string = "warn" +from-iter-instead-of-collect = "warn" +future-not-send = "warn" +get-unwrap = "warn" +host-endian-bytes = "allow" +if-not-else = "warn" +if-then-some-else-none = "warn" +ignore-without-reason = "warn" +ignored-unit-patterns = "warn" +impl-trait-in-params = "warn" +implicit-clone = "warn" +implicit-hasher = "warn" +implicit-return = "allow" +imprecise-flops = "warn" +inconsistent-struct-constructor = "warn" +index-refutable-slice = "deny" +indexing-slicing = "deny" +inefficient-to-string = "warn" +infinite-loop = "warn" +inline-always = "warn" +inline-asm-x86-att-syntax = "warn" +inline-asm-x86-intel-syntax = "warn" +inline-modules = "allow" +inline-trait-bounds = "allow" +integer-division = "deny" +integer-division-remainder-used = "deny" +into-iter-without-iter = "warn" +invalid-upcast-comparisons = "warn" +ip-constant = "warn" +items-after-statements = "warn" +iter-filter-is-ok = "warn" +iter-filter-is-some = "warn" +iter-not-returning-iterator = "warn" +iter-on-empty-collections = "warn" +iter-on-single-items = "warn" +iter-over-hash-type = "warn" +iter-with-drain = "warn" +iter-without-into-iter = "warn" +large-digit-groups = "warn" +large-futures = "warn" +large-include-file = "warn" +large-stack-arrays = "warn" +large-stack-frames = "warn" +large-types-passed-by-value = "warn" +let-underscore-must-use = "warn" +let-underscore-untyped = "warn" +linkedlist = "warn" +literal-string-with-formatting-args = "warn" +little-endian-bytes = "allow" +lossy-float-literal = "warn" +macro-use-imports = "warn" +manual-assert = "warn" +manual-assert-eq = "warn" +manual-ilog2 = "warn" +manual-instant-elapsed = "warn" +manual-is-power-of-two = "warn" +manual-is-variant-and = "warn" +manual-let-else = "warn" +manual-midpoint = "warn" +manual-string-new = "warn" +many-single-char-names = "warn" +map-err-ignore = "warn" +map-unwrap-or = "warn" +map-with-unused-argument-over-ranges = "warn" +match-bool = "warn" +match-same-arms = "warn" +match-wild-err-arm = "warn" +match-wildcard-for-single-variants = "warn" +maybe-infinite-iter = "warn" +mem-forget = "warn" +min-ident-chars = "allow" +mismatching-type-param-order = "warn" +missing-assert-message = "warn" +missing-asserts-for-indexing = "warn" +missing-const-for-fn = "warn" +missing-docs-in-private-items = "warn" +missing-errors-doc = "warn" +missing-fields-in-debug = "warn" +missing-inline-in-public-items = "warn" +missing-panics-doc = "warn" +missing-trait-methods = "warn" +mixed-read-write-in-expression = "warn" +mod-module-files = "allow" +module-name-repetitions = "warn" +modulo-arithmetic = "warn" +multiple-inherent-impl = "warn" +multiple-unsafe-ops-per-block = "warn" +must-use-candidate = "warn" +mut-mut = "warn" +mutex-atomic = "warn" +mutex-integer = "warn" +naive-bytecount = "warn" +needless-bitwise-bool = "warn" +needless-collect = "warn" +needless-continue = "warn" +needless-for-each = "warn" +needless-pass-by-ref-mut = "warn" +needless-pass-by-value = "warn" +needless-raw-string-hashes = "warn" +needless-raw-strings = "warn" +needless-type-cast = "warn" +no-effect-underscore-binding = "warn" +no-mangle-with-rust-abi = "warn" +non-ascii-literal = "allow" +non-send-fields-in-send-ty = "warn" +non-std-lazy-statics = "warn" +non-zero-suggestions = "warn" +nonminimal-bool = "warn" +nonstandard-macro-braces = "warn" +option-as-ref-cloned = "warn" +option-if-let-else = "warn" +option-option = "warn" +or-fun-call = "warn" +overly-complex-bool-expr = "allow" +panic = "warn" +panic-in-result-fn = "warn" +partial-pub-fields = "warn" +path-buf-push-overwrite = "warn" +pathbuf-init-then-push = "warn" +pattern-type-mismatch = "allow" +pointer-format = "warn" +precedence-bits = "warn" +print-stderr = "warn" +print-stdout = "warn" +ptr-as-ptr = "warn" +ptr-cast-constness = "warn" +ptr-offset-by-literal = "warn" +pub-underscore-fields = "warn" +pub-use = "allow" +pub-with-shorthand = "allow" +pub-without-shorthand = "warn" +question-mark-used = "allow" +range-minus-one = "warn" +range-plus-one = "warn" +rc-buffer = "warn" +rc-mutex = "warn" +read-zero-byte-vec = "warn" +redundant-clone = "warn" +redundant-closure-for-method-calls = "warn" +redundant-else = "warn" +redundant-pub-crate = "allow" +redundant-test-prefix = "warn" +redundant-type-annotations = "warn" +ref-as-ptr = "warn" +ref-binding-to-reference = "warn" +ref-option = "warn" +ref-option-ref = "warn" +ref-patterns = "warn" +renamed-function-params = "warn" +rest-pat-in-fully-bound-structs = "warn" +return-and-then = "warn" +return-self-not-must-use = "warn" +same-functions-in-if-condition = "warn" +same-length-and-capacity = "warn" +same-name-method = "warn" +search-is-some = "warn" +self-named-module-files = "warn" +self-only-used-in-recursion = "warn" +semicolon-if-nothing-returned = "warn" +semicolon-inside-block = "warn" +semicolon-outside-block = "allow" +separated-literal-suffix = "allow" +set-contains-or-insert = "warn" +shadow-reuse = "allow" +shadow-same = "allow" +shadow-unrelated = "allow" +should-panic-without-expect = "warn" +significant-drop-in-scrutinee = "warn" +significant-drop-tightening = "warn" +similar-names = "allow" +single-call-fn = "allow" +single-char-lifetime-names = "allow" +single-char-pattern = "allow" +single-match-else = "warn" +single-option-map = "warn" +stable-sort-primitive = "warn" +std-instead-of-alloc = "warn" +std-instead-of-core = "warn" +str-split-at-newline = "warn" +str-to-string = "warn" +string-add = "warn" +string-add-assign = "warn" +string-lit-as-bytes = "warn" +string-lit-chars-any = "warn" +string-slice = "warn" +struct-excessive-bools = "allow" +struct-field-names = "warn" +suboptimal-flops = "warn" +suspicious-operation-groupings = "warn" +suspicious-xor-used-as-pow = "warn" +tests-outside-test-module = "warn" +todo = "warn" +too-long-first-doc-paragraph = "allow" +too-many-lines = "allow" +trailing-empty-array = "warn" +trait-duplication-in-bounds = "warn" +transmute-ptr-to-ptr = "warn" +transmute-undefined-repr = "warn" +trivial-regex = "warn" +trivially-copy-pass-by-ref = "warn" +try-err = "warn" +tuple-array-conversions = "warn" +type-repetition-in-bounds = "warn" +unchecked-time-subtraction = "deny" +undocumented-unsafe-blocks = "deny" +unicode-not-nfc = "warn" +unimplemented = "warn" +uninhabited-references = "warn" +uninlined-format-args = "warn" +unnecessary-box-returns = "warn" +unnecessary-debug-formatting = "warn" +unnecessary-join = "warn" +unnecessary-literal-bound = "warn" +unnecessary-safety-comment = "warn" +unnecessary-safety-doc = "warn" +unnecessary-self-imports = "warn" +unnecessary-semicolon = "warn" +unnecessary-struct-initialization = "warn" +unnecessary-trailing-comma = "warn" +unnecessary-wraps = "warn" +unneeded-field-pattern = "warn" +unnested-or-patterns = "warn" +unreachable = "warn" +unreadable-literal = "warn" +unsafe-derive-deserialize = "warn" +unseparated-literal-suffix = "warn" +unused-async = "warn" +unused-peekable = "warn" +unused-result-ok = "warn" +unused-rounding = "warn" +unused-self = "warn" +unused-trait-names = "warn" +unwrap-in-result = "warn" +unwrap-used = "warn" +use-debug = "warn" +use-self = "warn" +used-underscore-binding = "warn" +used-underscore-items = "warn" +useless-let-if-seq = "warn" +verbose-bit-mask = "warn" +verbose-file-reads = "warn" +volatile-composites = "warn" +while-float = "warn" +wildcard-enum-match-arm = "warn" +wildcard-imports = "warn" +zero-sized-map-values = "warn" + +[workspace.lints.rust] +deprecated-safe = "forbid" +future-incompatible = "deny" +keyword-idents = "deny" +let-underscore = "warn" +nonstandard-style = "warn" +refining-impl-trait = "warn" +rust-2018-compatibility = "deny" +rust-2018-idioms = "deny" +rust-2021-compatibility = "deny" +rust-2024-compatibility = "deny" +unknown-or-malformed-diagnostic-attributes = "deny" +unused = { level = "warn", priority = -1 } + +ambiguous-glob-reexports = "warn" +ambiguous-negative-literals = "deny" +ambiguous-wide-pointer-comparisons = "warn" +arithmetic-overflow = "deny" +asm-sub-register = "warn" +async-fn-in-trait = "warn" +bad-asm-style = "warn" +binary-asm-labels = "deny" +bindings-with-variant-name = "deny" +break-with-label-and-loop = "warn" +clashing-extern-declarations = "warn" +closure-returning-async-block = "warn" +confusable-idents = "warn" +const-item-interior-mutations = "warn" +const-item-mutation = "warn" +dangerous-implicit-autorefs = "deny" +dangling-pointers-from-locals = "warn" +dangling-pointers-from-temporaries = "warn" +dead-code-pub-in-binary = "warn" +deprecated = "warn" +deprecated-in-future = "allow" +deprecated-where-clause-location = "warn" +deref-into-dyn-supertrait = "warn" +deref-nullptr = "deny" +double-negations = "warn" +drop-bounds = "warn" +dropping-copy-types = "warn" +dropping-references = "warn" +duplicate-features = "deny" +duplicate-macro-attributes = "warn" +dyn-drop = "warn" +enum-intrinsics-non-enums = "deny" +explicit-builtin-cfgs-in-flags = "deny" +exported-private-dependencies = "warn" +ffi-unwind-calls = "warn" +for-loops-over-fallibles = "warn" +forgetting-copy-types = "warn" +forgetting-references = "warn" +function-casts-as-integer = "warn" +function-item-references = "warn" +hidden-glob-reexports = "warn" +impl-trait-redundant-captures = "warn" +improper-ctypes = "warn" +improper-ctypes-definitions = "warn" +improper-gpu-kernel-arg = "warn" +incomplete-features = "warn" +incomplete-include = "deny" +ineffective-unstable-trait-impl = "deny" +inline-no-sanitize = "warn" +integer-to-ptr-transmutes = "warn" +internal-features = "warn" +invalid-atomic-ordering = "deny" +invalid-doc-attributes = "warn" +invalid-from-utf8 = "warn" +invalid-from-utf8-unchecked = "deny" +invalid-nan-comparisons = "warn" +invalid-null-arguments = "deny" +invalid-reference-casting = "deny" +invalid-value = "warn" +irrefutable-let-patterns = "warn" +large-assignments = "warn" +linker-info = "allow" +linker-messages = "warn" +long-running-const-eval = "deny" +macro-use-extern-crate = "warn" +meta-variable-misuse = "warn" +mismatched-lifetime-syntaxes = "warn" +missing-abi = "warn" +missing-copy-implementations = "warn" +missing-debug-implementations = "warn" +missing-docs = "warn" +missing-gpu-kernel-export-name = "warn" +mixed-script-confusables = "warn" +mutable-transmutes = "deny" +named-arguments-used-positionally = "warn" +named-asm-labels = "deny" +no-mangle-const-items = "deny" +no-mangle-generic-items = "warn" +non-ascii-idents = "deny" +non-contiguous-range-endpoints = "warn" +non-local-definitions = "warn" +non-shorthand-field-patterns = "warn" +noop-method-call = "warn" +opaque-hidden-inferred-bound = "warn" +overflowing-literals = "deny" +overlapping-range-endpoints = "warn" +private-bounds = "warn" +private-interfaces = "warn" +ptr-to-integer-transmute-in-consts = "warn" +redundant-imports = "warn" +redundant-lifetimes = "warn" +renamed-and-removed-lints = "warn" +rtsan-nonblocking-async = "warn" +single-use-lifetimes = "warn" +special-module-name = "warn" +stable-features = "warn" +suspicious-double-ref-op = "warn" +text-direction-codepoint-in-comment = "deny" +text-direction-codepoint-in-literal = "deny" +trivial-bounds = "warn" +trivial-casts = "warn" +trivial-numeric-casts = "warn" +type-alias-bounds = "warn" +uncommon-codepoints = "warn" +unconditional-panic = "deny" +unconditional-recursion = "warn" +undropped-manually-drops = "deny" +unexpected-cfgs = "warn" +unfulfilled-lint-expectations = "warn" +ungated-async-fn-track-caller = "warn" +unit-bindings = "warn" +unknown-crate-types = "deny" +unknown-lints = "warn" +unnameable-test-items = "warn" +unnameable-types = "warn" +unnecessary-transmutes = "warn" +unpredictable-function-pointer-comparisons = "warn" +unreachable-cfg-select-predicates = "warn" +unreachable-pub = "warn" +unsafe-code = "forbid" +unstable-features = "forbid" +unused-associated-type-bounds = "warn" +unused-comparisons = "warn" +unused-crate-dependencies = "warn" +unused-import-braces = "warn" +unused-lifetimes = "warn" +unused-qualifications = "warn" +unused-results = "warn" +useless-deprecated = "deny" +useless-ptr-null-checks = "warn" +uses-power-alignment = "warn" +variant-size-differences = "warn" +warnings = "warn" +while-true = "warn" + +# unstable lints +# default-overrides-default-fields = "deny" +# deprecated-llvm-intrinsic = "warn" +# fuzzy-provenance-casts = "deny" +# lossy-provenance-casts = "deny" +# multiple-supertrait-upcastable = "warn" +# must-not-suspend = "warn" +# non-exhaustive-omitted-patterns = "warn" +# resolving-to-items-shadowing-supertrait-items = "warn" +# shadowing-supertrait-items = "warn" +# tail-call-track-caller = "warn" +# test-unstable-lint = "deny" +# unqualified-local-imports = "deny" + +[workspace.lints.rustdoc] +bare-urls = "warn" +broken-intra-doc-links = "warn" +invalid-codeblock-attributes = "warn" +invalid-html-tags = "warn" +invalid-rust-codeblocks = "warn" +missing-crate-level-docs = "warn" +private-doc-tests = "warn" +private-intra-doc-links = "warn" +redundant-explicit-links = "warn" +unescaped-backticks = "warn" + +# unstable lints +# missing-doc-code-examples = "warn" + +[profile.release] +opt-level = 3 +strip = "debuginfo" +overflow-checks = true +lto = "fat" +codegen-units = 1 diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..161d3b0 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,7 @@ +Skrunix Software License +======================== + +Permission to use, copy, modify, and/or distribute this software is +outlined in the latest v0.0.x of https://github.com/Skrunix/license + +THE SOFTWARE IS PROVIDED "AS IS" diff --git a/README.md b/README.md new file mode 100644 index 0000000..9cf9bcb --- /dev/null +++ b/README.md @@ -0,0 +1,17 @@ +# Lints + +Repo for dealing with linting rust code. + +## Development + +Run the full validation suite before committing: + +```sh +just all +``` + +##### Publish + +- `cargo semver-checks --all-features` +- `cargo publish --dry-run -p ` +- `cargo publish --dry-run --workspace` diff --git a/crates/lint-policy-cli/Cargo.toml b/crates/lint-policy-cli/Cargo.toml new file mode 100644 index 0000000..b83601e --- /dev/null +++ b/crates/lint-policy-cli/Cargo.toml @@ -0,0 +1,36 @@ +[package] +name = "lint-policy-cli" +version = "0.0.1" +description = "Track rust lints" +repository = "https://git.skrundz.dev/codegen/lints" +keywords = ["cargo", "lint"] +categories = ["command-line-utilities"] +include = ["/src"] +publish = true + +edition.workspace = true +rust-version.workspace = true +license-file.workspace = true + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] + +[[bin]] +doc = false +name = "lint-policy" +path = "src/main.rs" + +[dependencies] +lint-policy = { workspace = true, features = ["alloc", "serde"] } + +anyhow = { workspace = true, features = ["std"] } +clap = { workspace = true, features = ["color", "derive", "help", "std", "suggestions", "usage"] } +itertools = { workspace = true } +serde = { workspace = true, features = ["alloc", "derive"] } +strum = { workspace = true, features = ["derive"] } +thiserror = { workspace = true } +toml = { workspace = true, features = ["display", "parse", "serde"] } + +[lints] +workspace = true diff --git a/crates/lint-policy-cli/README.md b/crates/lint-policy-cli/README.md new file mode 100644 index 0000000..7e9c51e --- /dev/null +++ b/crates/lint-policy-cli/README.md @@ -0,0 +1,40 @@ +# lint-policy-cli + +[![crates.io](https://img.shields.io/crates/v/lint-policy-cli.svg)](https://crates.io/crates/lint-policy-cli) + +Generate lints for Cargo.toml + +## Installation + +```sh +cargo install lint-policy-cli +``` + +## Usage + +`lint-policy` accepts one or two inputs. Each input may be either: + +- a Rust toolchain (for example `+1.85`) +- a TOML file + +With one input, it prints the generated lint policy: + +```sh +lint-policy +1.85 +``` + +With two inputs, it prints the differences between the two policies: + +```sh +lint-policy +1.86 +1.85 +lint-policy +1.86 ./1.85.toml +lint-policy ./1.86.toml +1.85 +``` + +By default, the diff compares both the presence of lints and their configured levels. To compare only the set of lint names, ignoring changes to lint levels, pass `--ignore-level`: + +```sh +lint-policy --ignore-level +1.86 +1.85 +``` + +When `--ignore-level` is enabled, only added and removed lints are reported. Lints that exist in both inputs but have different levels are treated as unchanged. diff --git a/crates/lint-policy-cli/src/cli.rs b/crates/lint-policy-cli/src/cli.rs new file mode 100644 index 0000000..215c04e --- /dev/null +++ b/crates/lint-policy-cli/src/cli.rs @@ -0,0 +1,39 @@ +//! Command line argument parsing. + +use lint_policy::cargo; + +use crate::group::LintGroups; +use crate::source::Source; + +/// Command line argument parser struct. +#[derive(Debug, clap::Parser)] +#[command(version, about, long_about = None)] +pub(crate) struct Args { + /// New lint source, or only source when generating. + #[arg(value_name = "NEW")] + new: Source, + /// Old lint source when generating a diff. + #[arg(value_name = "OLD")] + old: Option, + + /// Only diff new and missing lints. + #[arg(long)] + ignore_level: bool, +} + +impl Args { + /// Reads the lints and groups of the new source. + pub(crate) fn read_new_source(&self) -> (cargo::Lints, LintGroups) { + (self.new.read_lints(), self.new.read_groups()) + } + + /// Reads the lints and groups of the old source. + pub(crate) fn read_old_source(&self) -> Option<(cargo::Lints, LintGroups)> { + self.old.as_ref().map(|s| (s.read_lints(), s.read_groups())) + } + + /// Returns true if the level should be ignored while diffing. + pub(crate) const fn ignore_level(&self) -> bool { + self.ignore_level + } +} diff --git a/crates/lint-policy-cli/src/diff.rs b/crates/lint-policy-cli/src/diff.rs new file mode 100644 index 0000000..ad72063 --- /dev/null +++ b/crates/lint-policy-cli/src/diff.rs @@ -0,0 +1,105 @@ +//! Diffing lint. + +use core::cmp::Ordering; + +extern crate alloc; +use alloc::collections::BTreeSet; + +use lint_policy::cargo::{LintSetting, LintTable}; + +use crate::group::GroupTable; + +/// Represents a difference between two lint tables. +pub(crate) enum Diff<'a> { + /// A lint was added in the new table. + Added { + /// The name of the lint. + name: &'a str, + /// The new lint settings. + new: &'a LintSetting, + }, + /// A lint was removed from the new table. + Removed { + /// The name of the lint. + name: &'a str, + /// The old lint settings. + old: &'a LintSetting, + }, + /// A lint's settings were changed in the new table. + Modified { + /// The name of the lint. + name: &'a str, + /// The old lint settings. + old: &'a LintSetting, + /// The new lint settings. + new: &'a LintSetting, + }, +} + +/// Compute the difference between lints tables. +pub(crate) fn diff<'a>( + old_lints: &'a LintTable, + new_lints: &'a LintTable, + new_groups: &'a GroupTable, +) -> Vec> { + // Filter groups + let mut ignored_old = BTreeSet::new(); + let mut ignored_new = BTreeSet::new(); + + for (group, lints) in new_groups { + if old_lints.contains_key(group) { + _ = ignored_old.insert(group); + _ = ignored_new.insert(group); + ignored_new.extend(lints.iter()); + } + } + + // Diff remaining lints + let mut diffs = Vec::new(); + + let mut old = old_lints + .iter() + .filter(|(name, _)| !ignored_old.contains(name)) + .peekable(); + let mut new = new_lints + .iter() + .filter(|(name, _)| !ignored_new.contains(name)) + .peekable(); + + loop { + match (old.peek(), new.peek()) { + (Some((ok, ov)), Some((nk, nv))) => match ok.cmp(nk) { + Ordering::Less => { + diffs.push(Diff::Removed { name: ok, old: ov }); + _ = old.next(); + } + Ordering::Greater => { + diffs.push(Diff::Added { name: nk, new: nv }); + _ = new.next(); + } + Ordering::Equal => { + if ov.level != nv.level { + diffs.push(Diff::Modified { + name: ok, + old: ov, + new: nv, + }); + } + _ = old.next(); + _ = new.next(); + } + }, + (Some((ok, ov)), None) => { + diffs.push(Diff::Removed { name: ok, old: ov }); + _ = old.next(); + } + (None, Some((nk, nv))) => { + diffs.push(Diff::Added { name: nk, new: nv }); + _ = new.next(); + } + (None, None) => break, + } + } + + diffs +} diff --git a/crates/lint-policy-cli/src/group.rs b/crates/lint-policy-cli/src/group.rs new file mode 100644 index 0000000..262cccf --- /dev/null +++ b/crates/lint-policy-cli/src/group.rs @@ -0,0 +1,40 @@ +//! Lint groups. + +extern crate alloc; +use alloc::collections::BTreeMap; + +use lint_policy::Linter; + +/// A group table. +pub(crate) type GroupTable = BTreeMap>; + +/// A struct containing tables for each linter. +#[derive(Debug, Default)] +pub(crate) struct LintGroups { + /// Table of clippy groups. + pub clippy: Option, + /// Table of rust groups. + pub rust: Option, + /// Table of rustdoc groups. + pub rustdoc: Option, +} + +impl LintGroups { + /// Get a reference to the group table corresponding to the given [Linter]. + pub(crate) const fn get_groups_for(&self, linter: Linter) -> Option<&GroupTable> { + match linter { + Linter::Clippy => self.clippy.as_ref(), + Linter::Rust => self.rust.as_ref(), + Linter::Rustdoc => self.rustdoc.as_ref(), + } + } + + /// Set the group table corresponding to the given [Linter]. + pub(crate) fn set_groups_for(&mut self, linter: Linter, lints: GroupTable) { + match linter { + Linter::Clippy => self.clippy = Some(lints), + Linter::Rust => self.rust = Some(lints), + Linter::Rustdoc => self.rustdoc = Some(lints), + } + } +} diff --git a/crates/lint-policy-cli/src/main.rs b/crates/lint-policy-cli/src/main.rs new file mode 100644 index 0000000..51e6dae --- /dev/null +++ b/crates/lint-policy-cli/src/main.rs @@ -0,0 +1,122 @@ +//! Generate lints for Cargo.toml. + +#![cfg_attr(docsrs, feature(doc_cfg))] + +use anyhow::Result; +use clap::Parser as _; +use lint_policy::Linter; +use lint_policy::cargo::{LintTable, Manifest}; +use strum::IntoEnumIterator as _; + +mod cli; +mod diff; +mod group; +mod source; + +use cli::Args; +use diff::{Diff, diff}; + +use crate::group::GroupTable; + +/// An empty lint table for unwrapping table references. +static EMPTY_LINTS: LintTable = LintTable::new(); +/// An empty group table for unwrapping table references. +static EMPTY_GROUPS: GroupTable = GroupTable::new(); + +#[cfg_attr(test, expect(clippy::missing_errors_doc, reason = "main function"))] +fn main() -> Result<()> { + let args = Args::parse(); + + let new_lints = args.read_new_source(); + let old_lints = args.read_old_source(); + + match old_lints { + None => { + for linter in Linter::iter() { + // section + #[expect(clippy::print_stdout, reason = "printing out actual output")] + { + let mut manifest = Manifest::default(); + manifest + .workspace + .lints + .set_lints_for(linter, LintTable::default()); + print!("{}", toml::to_string(&manifest)?); + } + + // lints + if let Some(lints) = new_lints.0.get_lints_for(linter) { + let mut value = String::new(); + #[expect(clippy::print_stdout, reason = "printing out actual output")] + for lint in lints { + _ = serde::Serialize::serialize( + &lint.1, + toml::ser::ValueSerializer::new(&mut value), + )?; + println!("{} = {}", lint.0, value); + value.clear(); + } + } + } + } + Some(old_lints) => { + for linter in Linter::iter() { + // section + #[expect(clippy::print_stdout, reason = "printing out actual output")] + { + let mut manifest = Manifest::default(); + manifest + .workspace + .lints + .set_lints_for(linter, LintTable::default()); + print!("{}", toml::to_string(&manifest)?); + } + + // diff + let mut value = String::new(); + let old_lints = old_lints.0.get_lints_for(linter).unwrap_or(&EMPTY_LINTS); + let (new_lints, new_groups) = ( + new_lints.0.get_lints_for(linter).unwrap_or(&EMPTY_LINTS), + new_lints.1.get_groups_for(linter).unwrap_or(&EMPTY_GROUPS), + ); + for diff in diff(old_lints, new_lints, new_groups) { + #[expect(clippy::print_stdout, reason = "printing out actual output")] + match diff { + Diff::Added { name, new } => { + _ = serde::Serialize::serialize( + &new, + toml::ser::ValueSerializer::new(&mut value), + )?; + println!("+ {name} = {value}"); + } + Diff::Removed { name, old } => { + _ = serde::Serialize::serialize( + &old, + toml::ser::ValueSerializer::new(&mut value), + )?; + println!("- {name} = {value}"); + } + Diff::Modified { name, old, new } => { + if !args.ignore_level() { + _ = serde::Serialize::serialize( + &old, + toml::ser::ValueSerializer::new(&mut value), + )?; + print!("~ {name} = {value}"); + value.clear(); + _ = serde::Serialize::serialize( + &new, + toml::ser::ValueSerializer::new(&mut value), + )?; + println!(" => {value}"); + } + } + } + value.clear(); + } + } + } + } + + Ok(()) +} diff --git a/crates/lint-policy-cli/src/source/mod.rs b/crates/lint-policy-cli/src/source/mod.rs new file mode 100644 index 0000000..7304b7a --- /dev/null +++ b/crates/lint-policy-cli/src/source/mod.rs @@ -0,0 +1,57 @@ +//! Lint sources. + +use core::convert::Infallible; +use core::str::FromStr; +use std::path::PathBuf; + +use lint_policy::cargo; + +use crate::group::LintGroups; + +mod toml; +mod toolchain; + +/// A lint source. +#[derive(Debug, Clone)] +pub(crate) enum Source { + /// A toolchain lint source specified by version. + Toolchain(String), + /// A TOML lint source specified by path. + Toml(PathBuf), +} + +impl FromStr for Source { + type Err = Infallible; + + fn from_str(s: &str) -> Result { + if s.starts_with('+') { + Ok(Self::Toolchain(s.to_owned())) + } else { + Ok(Self::Toml(PathBuf::from(s.to_owned()))) + } + } +} + +impl Source { + /// Query the source for the list of included lints, panicking on any error. + /// + /// # Panics + /// If the underlying source implemenation encounters and error. + pub(crate) fn read_lints(&self) -> cargo::Lints { + match self { + Self::Toolchain(toolchain) => toolchain::read_lints(toolchain), + Self::Toml(filepath) => toml::read_lints(filepath), + } + } + + /// Query the source for the list of included lint groups, panicking on any error. + /// + /// # Panics + /// If the underlying source implemenation encounters and error. + pub(crate) fn read_groups(&self) -> LintGroups { + match self { + Self::Toolchain(toolchain) => toolchain::read_groups(toolchain), + Self::Toml(filepath) => toml::read_groups(filepath), + } + } +} diff --git a/crates/lint-policy-cli/src/source/toml.rs b/crates/lint-policy-cli/src/source/toml.rs new file mode 100644 index 0000000..8a57bbc --- /dev/null +++ b/crates/lint-policy-cli/src/source/toml.rs @@ -0,0 +1,41 @@ +//! TOML lint source. + +use std::fs; +use std::path::Path; + +use anyhow::Context as _; +use lint_policy::cargo; + +use crate::source::LintGroups; + +/// Query a TOML file for the list of included lints, panicking on any error. +/// +/// # Panics +/// If an error occurs while reading the file or parsing the content. +pub(crate) fn read_lints(filepath: &Path) -> cargo::Lints { + #[expect( + clippy::expect_used, + reason = "errors here are not deisgned to be recoverable" + )] + private_read_lints(filepath) + .with_context(|| format!("reading lints from {}", filepath.display())) + .expect("toml source error") +} + +/// Query a TOML file for the list of included lints. +/// +/// # Errors +/// IO can fail while reading the file, and TOML parsing can fail. +fn private_read_lints(filepath: &Path) -> anyhow::Result { + let contents = fs::read_to_string(filepath)?; + let manifest: cargo::Manifest = toml::from_str(&contents)?; + Ok(manifest.workspace.lints) +} + +/// Query a TOML file for the list of included groups. +/// +/// There is currently no differentiator between lints and groups so this function +/// just returns [Default]. +pub(crate) fn read_groups(_: &Path) -> LintGroups { + LintGroups::default() +} diff --git a/crates/lint-policy-cli/src/source/toolchain.rs b/crates/lint-policy-cli/src/source/toolchain.rs new file mode 100644 index 0000000..9e9cc2b --- /dev/null +++ b/crates/lint-policy-cli/src/source/toolchain.rs @@ -0,0 +1,230 @@ +//! Toolchain lint source. + +use core::str::{FromStr as _, Utf8Error}; +use std::io; +use std::process::{Command, ExitStatus}; + +use anyhow::Context as _; +use itertools::Itertools as _; +use lint_policy::cargo::{LintSetting, LintTable, Lints}; +use lint_policy::{Level, Linter}; +use strum::{IntoEnumIterator as _, ParseError}; + +use crate::group::GroupTable; +use crate::source::LintGroups; + +/// Query the toolchain version for the list of supported lints, panicking on any error. +/// +/// # Panics +/// If an error occurs while running the toolchain or parsing the output. +pub(crate) fn read_lints(toolchain: &str) -> Lints { + #[expect( + clippy::expect_used, + reason = "errors here are not deisgned to be recoverable" + )] + private_read_lints(toolchain) + .with_context(|| format!("gathering lints from {toolchain:?}")) + .expect("toolchain source error") +} + +/// Query the toolchain version for the list of supported lints, panicking on any error. +/// +/// # Panics +/// If an error occurs while running the toolchain or parsing the output. +pub(crate) fn read_groups(toolchain: &str) -> LintGroups { + #[expect( + clippy::expect_used, + reason = "errors here are not deisgned to be recoverable" + )] + private_read_groups(toolchain) + .with_context(|| format!("gathering lint groups from {toolchain:?}")) + .expect("toolchain source error") +} + +/// Possible errors that can occur while querying a toolchain version. +#[derive(Debug, thiserror::Error)] +pub(crate) enum ToolchainError { + /// Executing a [Command] failed. + #[error("failed to execute command: {0}")] + Command(#[from] io::Error), + /// The toolchain did not exit successfully. + #[error("command exited with code {0}")] + Status(ExitStatus), + /// The output from the toolchain was not UTF-8. + #[error("output is not utf8: {0}")] + NotUtf8(#[from] Utf8Error), +} + +/// Possible errors that can occur while parsing lines of the toolchain output. +#[derive(Debug, thiserror::Error)] +pub(crate) enum LineError { + /// The output does not match the expected format. + #[error("output is malformed: {0}")] + Malformed(String), + /// The lint level is not recognized. + #[error("invalid level: {0}")] + InvalidLevel(String), +} + +/// Query the toolchain version for the list of supported lints. +/// +/// # Errors +/// Either running the [Command] or parsing the output could fail. +fn private_read_lints(toolchain: &str) -> anyhow::Result { + let mut lints = Lints::default(); + let mut errors = Vec::new(); + + for linter in Linter::iter() { + let (l, e) = read_linter_lints(linter, toolchain)?; + lints.set_lints_for(linter, l); + errors.push(e); + } + + if errors.iter().any(|e| !e.is_empty()) { + for errors in &errors { + #[expect(clippy::print_stderr, reason = "printing out actual error")] + for error in errors { + eprintln!("{error}"); + } + } + anyhow::bail!("encountered errors for toolchain"); + } + + Ok(lints) +} + +/// Run the linter and parse its output. +/// +/// # Errors +/// Either running the [Command] or parsing the output could fail. +fn read_linter_lints( + linter: Linter, + toolchain: &str, +) -> Result<(LintTable, Vec), ToolchainError> { + let mut command = match linter { + Linter::Clippy => Command::new("clippy-driver"), + Linter::Rust => Command::new("rustc"), + Linter::Rustdoc => Command::new("rustdoc"), + }; + let output = command.arg(toolchain).args(["-W", "help"]).output()?; + + if !output.status.success() { + return Err(ToolchainError::Status(output.status)); + } + + let stdout = core::str::from_utf8(&output.stdout)?; + + let lint_begin_line = match linter { + Linter::Rust => "Lint checks provided by rustc:", + Linter::Clippy | Linter::Rustdoc => "Lint checks loaded by this crate:", + }; + + let lint_lines = stdout + .lines() + .skip_while(|&line| line != lint_begin_line) + .skip(4) + .take_while(|line| !line.is_empty()); + + let lints = lint_lines.map(|line| { + let (name, level) = line + .trim() + .split_once(' ') + .ok_or_else(|| LineError::Malformed(line.to_owned())) + .and_then(|(name, rest)| { + rest.trim() + .split_once(' ') + .map(|(level, _)| (name, level)) + .ok_or_else(|| LineError::Malformed(line.to_owned())) + })?; + Level::from_str(level) + .map(|level| (strip_lint_name(linter, name), LintSetting::level(level))) + .map_err(|ParseError::VariantNotFound| LineError::InvalidLevel(level.to_owned())) + }); + + Ok(lints.partition_result()) +} + +/// Query the toolchain version for the list of supported lints, panicking on any error. +/// +/// # Errors +/// Either running the [Command] or parsing the output could fail. +fn private_read_groups(toolchain: &str) -> anyhow::Result { + let mut groups = LintGroups::default(); + let mut errors = Vec::new(); + + for linter in Linter::iter() { + let (g, e) = read_linter_groups(linter, toolchain)?; + groups.set_groups_for(linter, g); + errors.push(e); + } + + if errors.iter().any(|e| !e.is_empty()) { + for errors in &errors { + #[expect(clippy::print_stderr, reason = "printing out actual error")] + for error in errors { + eprintln!("{error}"); + } + } + anyhow::bail!("encountered errors for toolchain"); + } + + Ok(groups) +} + +/// Run the linter and parse its output. +/// +/// # Errors +/// Either running the [Command] or parsing the output could fail. +fn read_linter_groups( + linter: Linter, + toolchain: &str, +) -> Result<(GroupTable, Vec), ToolchainError> { + let mut command = match linter { + Linter::Clippy => Command::new("clippy-driver"), + Linter::Rust => Command::new("rustc"), + Linter::Rustdoc => Command::new("rustdoc"), + }; + let output = command.arg(toolchain).args(["-W", "help"]).output()?; + + if !output.status.success() { + return Err(ToolchainError::Status(output.status)); + } + + let stdout = core::str::from_utf8(&output.stdout)?; + + let lint_begin_line = match linter { + Linter::Rust => "Lint groups provided by rustc:", + Linter::Clippy | Linter::Rustdoc => "Lint groups loaded by this crate:", + }; + + let lint_lines = stdout + .lines() + .skip_while(|&line| line != lint_begin_line) + .skip(4) + .take_while(|line| !line.is_empty()); + + let lints = lint_lines.map(|line| { + line.trim() + .split_once(' ') + .ok_or_else(|| LineError::Malformed(line.to_owned())) + .map(|(name, rest)| { + ( + strip_lint_name(linter, name), + rest.split(',') + .map(|s| strip_lint_name(linter, s)) + .collect::>(), + ) + }) + }); + + Ok(lints.partition_result()) +} + +/// Strip the linter's name from the front of the lint name. +fn strip_lint_name(linter: Linter, name: &str) -> String { + let name = name.trim(); + name.strip_prefix(linter.as_ref()) + .and_then(|name| name.strip_prefix("::")) + .unwrap_or(name) + .to_owned() +} diff --git a/crates/lint-policy/Cargo.toml b/crates/lint-policy/Cargo.toml new file mode 100644 index 0000000..714e175 --- /dev/null +++ b/crates/lint-policy/Cargo.toml @@ -0,0 +1,33 @@ +[package] +name = "lint-policy" +version = "0.0.1" +description = "Model used by cargo-lint-policy" +repository = "https://git.skrundz.dev/codegen/lints" +keywords = ["no-std"] +categories = ["development-tools::cargo-plugins"] +include = ["/src"] +publish = true + +edition.workspace = true +rust-version.workspace = true +license-file.workspace = true + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] + +[dependencies] +strum = { workspace = true, features = ["derive"] } + +serde = { workspace = true, features = ["derive"], optional = true } + +[dev-dependencies] +toml = { workspace = true, features = ["display", "parse", "serde"] } + +[features] +default = [] +alloc = ["serde?/alloc"] +serde = ["dep:serde"] + +[lints] +workspace = true diff --git a/crates/lint-policy/README.md b/crates/lint-policy/README.md new file mode 100644 index 0000000..6d3221c --- /dev/null +++ b/crates/lint-policy/README.md @@ -0,0 +1,5 @@ +# lint-policy + +[![crates.io](https://img.shields.io/crates/v/lint-policy.svg)](https://crates.io/crates/lint-policy) + +Model used by lint-policy-cli diff --git a/crates/lint-policy/src/cargo.rs b/crates/lint-policy/src/cargo.rs new file mode 100644 index 0000000..d2bd0f0 --- /dev/null +++ b/crates/lint-policy/src/cargo.rs @@ -0,0 +1,214 @@ +//! Types for serializing and deserializing a workspace TOML file with a lint table. + +extern crate alloc; +use alloc::collections::BTreeMap; +use alloc::string::String; + +use crate::{Level, Linter}; + +/// A lint table. +pub type LintTable = BTreeMap; + +/// Top level TOML manifest table. +#[derive(Debug, Default)] +#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] +#[non_exhaustive] +pub struct Manifest { + /// The workspace table. + pub workspace: Workspace, +} + +/// The TOML workspace table. +#[derive(Debug, Default)] +#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] +#[non_exhaustive] +pub struct Workspace { + /// The lints table. + pub lints: Lints, +} + +/// The TOML lints table. +#[derive(Debug, Default)] +#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] +#[expect(clippy::exhaustive_structs, reason = "Linters are added infrequently")] +pub struct Lints { + /// Table of clippy lints. + pub clippy: Option, + /// Table of rust lints. + pub rust: Option, + /// Table of rustdoc lints. + pub rustdoc: Option, +} + +impl Lints { + /// Get a reference to the lint table corresponding to the given [Linter]. + #[inline] + #[must_use] + pub const fn get_lints_for(&self, linter: Linter) -> Option<&LintTable> { + match linter { + Linter::Clippy => self.clippy.as_ref(), + Linter::Rust => self.rust.as_ref(), + Linter::Rustdoc => self.rustdoc.as_ref(), + } + } + + /// Set the lint table corresponding to the given [Linter]. + #[inline] + pub fn set_lints_for(&mut self, linter: Linter, lints: LintTable) { + match linter { + Linter::Clippy => self.clippy = Some(lints), + Linter::Rust => self.rust = Some(lints), + Linter::Rustdoc => self.rustdoc = Some(lints), + } + } +} + +/// The settings applied to a lint, contains a [Level] and an optional priority. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +#[non_exhaustive] +pub struct LintSetting { + /// The lint [Level]. + pub level: Level, + /// The lint priority. + pub priority: Option, +} + +impl LintSetting { + /// Construct a new [`LintSetting`] from a [Level]. + #[inline] + #[must_use] + pub const fn level(level: Level) -> Self { + Self { + level, + priority: None, + } + } +} + +/// Implementation of [`serde::Serialize`] and [`serde::Deserialize`] for [`LintSetting`]. +#[cfg(feature = "serde")] +mod serde_impl { + use serde::{Deserialize, Deserializer, Serialize, Serializer}; + + use super::{Level, LintSetting}; + + /// An enum to facilitate serializing and deserializing of different formats. + #[derive(Debug, serde::Serialize, serde::Deserialize)] + #[serde(untagged)] + enum LintSettingRepr { + /// The lint setting is ser/de as a plain string. + Level(Level), + /// The lint setting is ser/de as a table. + Table { + /// The lint level. + level: Level, + /// The lint priority. + priority: i8, + }, + } + + impl Serialize for LintSetting { + #[inline] + fn serialize(&self, serializer: S) -> Result + where + S: Serializer, + { + let value = self + .priority + .map_or(LintSettingRepr::Level(self.level), |priority| { + LintSettingRepr::Table { + level: self.level, + priority, + } + }); + + value.serialize(serializer) + } + } + + impl<'de> Deserialize<'de> for LintSetting { + #[inline] + fn deserialize(deserializer: D) -> Result + where + D: Deserializer<'de>, + { + match LintSettingRepr::deserialize(deserializer)? { + LintSettingRepr::Level(level) => Ok(Self { + level, + priority: None, + }), + LintSettingRepr::Table { level, priority } => Ok(Self { + level, + priority: Some(priority), + }), + } + } + + #[inline] + fn deserialize_in_place(deserializer: D, place: &mut Self) -> Result<(), D::Error> + where + D: Deserializer<'de>, + { + *place = Self::deserialize(deserializer)?; + Ok(()) + } + } +} + +#[cfg(test)] +mod tests { + use strum::IntoEnumIterator as _; + + use crate::cargo::{LintSetting, LintTable}; + use crate::{Level, Linter}; + + use super::Manifest; + #[cfg(feature = "serde")] + use super::{Lints, Workspace}; + + #[test] + #[cfg(feature = "serde")] + #[expect(clippy::missing_panics_doc, reason = "unit test")] + fn serde() { + let manifest = Manifest { + workspace: Workspace { + lints: Lints { + clippy: Some(LintTable::default()), + rust: Some(LintTable::default()), + rustdoc: Some(LintTable::default()), + }, + }, + }; + + assert_eq!( + "[workspace.lints.clippy]\n\n[workspace.lints.rust]\n\n[workspace.lints.rustdoc]\n", + toml::to_string(&manifest).expect("serialize manifest"), + ); + } + + #[test] + #[expect(clippy::missing_panics_doc, reason = "unit test")] + fn getset() { + for linter in Linter::iter() { + let mut manifest = Manifest::default(); + + manifest + .workspace + .lints + .set_lints_for(linter, LintTable::default()); + + for l in Linter::iter() { + let lints = manifest.workspace.lints.get_lints_for(l); + assert_eq!(l == linter, lints.is_some()); + } + } + } + + #[test] + #[expect(clippy::missing_panics_doc, reason = "unit test")] + fn lintsetting_level() { + for level in Level::iter() { + assert_eq!(level, LintSetting::level(level).level); + } + } +} diff --git a/crates/lint-policy/src/level.rs b/crates/lint-policy/src/level.rs new file mode 100644 index 0000000..e761b78 --- /dev/null +++ b/crates/lint-policy/src/level.rs @@ -0,0 +1,90 @@ +//! This module holds the definition of available lint levels. + +/// Lint levels that are usable in Cargo.toml. +#[derive( + Debug, + Clone, + Copy, + PartialEq, + Eq, + PartialOrd, + Ord, + Hash, + strum::EnumString, + strum::Display, + strum::AsRefStr, + strum::IntoStaticStr, + strum::EnumIter, + strum::VariantArray, + strum::VariantNames, +)] +#[strum(serialize_all = "lowercase")] +#[expect(clippy::exhaustive_enums, reason = "Levels are not expected to change")] +pub enum Level { + /// Do nothing. + Allow, + /// Produce a warning if you violate the lint. + Warn, + /// Produce an error if you violate the lint. + Deny, + /// Same as `Deny` but can not be overridden. + Forbid, +} + +/// Implementation of [`serde::Serialize`] and [`serde::Deserialize`] for [Level]. +#[cfg(feature = "serde")] +mod serde_impl { + use core::str::FromStr as _; + + use serde::{Deserialize, Deserializer, Serialize, Serializer}; + use strum::{ParseError, VariantNames as _}; + + use super::Level; + + impl Serialize for Level { + #[inline] + fn serialize(&self, serializer: S) -> Result + where + S: Serializer, + { + serializer.serialize_str(self.as_ref()) + } + } + + impl<'de> Deserialize<'de> for Level { + #[inline] + fn deserialize(deserializer: D) -> Result + where + D: Deserializer<'de>, + { + let value = <&str>::deserialize(deserializer)?; + + Self::from_str(value).map_err(|ParseError::VariantNotFound| { + serde::de::Error::unknown_variant(value, Self::VARIANTS) + }) + } + + #[inline] + fn deserialize_in_place(deserializer: D, place: &mut Self) -> Result<(), D::Error> + where + D: Deserializer<'de>, + { + *place = Self::deserialize(deserializer)?; + Ok(()) + } + } +} + +#[cfg(test)] +mod tests { + use super::Level; + + /// Test that ordering goes in the right direction. + #[test] + #[expect(clippy::missing_panics_doc, reason = "unit test")] + fn ordering() { + assert!(Level::Allow < Level::Warn); + assert!(Level::Warn < Level::Deny); + assert!(Level::Deny < Level::Forbid); + } +} diff --git a/crates/lint-policy/src/lib.rs b/crates/lint-policy/src/lib.rs new file mode 100644 index 0000000..d50333d --- /dev/null +++ b/crates/lint-policy/src/lib.rs @@ -0,0 +1,19 @@ +//! Model used by cargo-lint-policy. + +#![no_std] +#![cfg_attr(docsrs, feature(doc_cfg))] + +mod level; +mod linter; + +pub use level::Level; +pub use linter::Linter; + +#[cfg(feature = "alloc")] +#[cfg_attr(docsrs, doc(cfg(feature = "alloc")))] +pub mod cargo; + +// dev-dependencies cannot be optional and `toml` is only used when the `alloc` +// and `serde` features are active +#[cfg(test)] +use toml as _; diff --git a/crates/lint-policy/src/linter.rs b/crates/lint-policy/src/linter.rs new file mode 100644 index 0000000..6861ae2 --- /dev/null +++ b/crates/lint-policy/src/linter.rs @@ -0,0 +1,72 @@ +//! This module holds the definition of available lint providers. + +/// Linters that are configurable in Cargo.toml. +#[derive( + Debug, + Clone, + Copy, + PartialEq, + Eq, + Hash, + strum::EnumString, + strum::Display, + strum::AsRefStr, + strum::IntoStaticStr, + strum::EnumIter, + strum::VariantArray, + strum::VariantNames, +)] +#[strum(serialize_all = "lowercase")] +#[expect(clippy::exhaustive_enums, reason = "Linters are added infrequently")] +pub enum Linter { + /// clippy. + Clippy, + /// rust. + Rust, + /// rustdoc. + Rustdoc, +} + +/// Implementation of [`serde::Serialize`] and [`serde::Deserialize`] for [Linter]. +#[cfg(feature = "serde")] +mod serde_impl { + use core::str::FromStr as _; + + use serde::{Deserialize, Deserializer, Serialize, Serializer}; + use strum::{ParseError, VariantNames as _}; + + use super::Linter; + + impl Serialize for Linter { + #[inline] + fn serialize(&self, serializer: S) -> Result + where + S: Serializer, + { + serializer.serialize_str(self.as_ref()) + } + } + + impl<'de> Deserialize<'de> for Linter { + #[inline] + fn deserialize(deserializer: D) -> Result + where + D: Deserializer<'de>, + { + let value = <&str>::deserialize(deserializer)?; + + Self::from_str(value).map_err(|ParseError::VariantNotFound| { + serde::de::Error::unknown_variant(value, Self::VARIANTS) + }) + } + + #[inline] + fn deserialize_in_place(deserializer: D, place: &mut Self) -> Result<(), D::Error> + where + D: Deserializer<'de>, + { + *place = Self::deserialize(deserializer)?; + Ok(()) + } + } +} diff --git a/crates/private-crate/Cargo.toml b/crates/private-crate/Cargo.toml new file mode 100644 index 0000000..1b7b256 --- /dev/null +++ b/crates/private-crate/Cargo.toml @@ -0,0 +1,24 @@ +[package] +name = "private-crate" +version = "0.0.0" +# description = "" +# repository = "" +# keywords = [] +# categories = [] +# include = ["/src"] +# publish = true + +edition.workspace = true +rust-version.workspace = true +license-file.workspace = true +publish.workspace = true + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] + +[dependencies] +# crate = { workspace = true } + +[lints] +workspace = true diff --git a/crates/private-crate/README.md b/crates/private-crate/README.md new file mode 100644 index 0000000..d7b73e2 --- /dev/null +++ b/crates/private-crate/README.md @@ -0,0 +1,5 @@ +# private-crate + +[![crates.io](https://img.shields.io/crates/v/private-crate.svg)](https://crates.io/crates/private-crate) + +Unpublished crate diff --git a/crates/private-crate/src/lib.rs b/crates/private-crate/src/lib.rs new file mode 100644 index 0000000..86f43af --- /dev/null +++ b/crates/private-crate/src/lib.rs @@ -0,0 +1,5 @@ +//! Sample Private Crate. + +#![no_std] +#![cfg_attr(docsrs, feature(doc_cfg))] +// #[cfg_attr(docsrs, doc(cfg(feature = "std")))] diff --git a/justfile b/justfile new file mode 100644 index 0000000..cc17f4b --- /dev/null +++ b/justfile @@ -0,0 +1,41 @@ +set minimum-version := '1.55.0' +set default-list + +alias update := update-min + +all: + just all-max + just all-min +all-min: update-min build lint test example doc format +all-max: update-max build lint test example doc format + +update-min: + cargo +nightly update -Z minimal-versions + cargo update -p is_terminal_polyfill --precise 1.48.2 + +update-max: + cargo update + +build: + cargo hack --feature-powerset build + +lint: + cargo hack --feature-powerset clippy -- -D warnings + cargo hack --feature-powerset clippy --tests -- -D warnings + +test: + cargo hack --feature-powerset test + cargo +1.85 hack --feature-powerset test + cargo +nightly hack --feature-powerset miri test + +example: + # cargo run --example= --features= + +doc *args: + RUSTDOCFLAGS="--cfg docsrs -D warnings" cargo +nightly doc --all-features {{ args }} + +format: + cargo fmt --check + +install: + cargo install --path crates/lint-policy-cli diff --git a/lints/1.85.toml b/lints/1.85.toml new file mode 100644 index 0000000..c083a7a --- /dev/null +++ b/lints/1.85.toml @@ -0,0 +1,993 @@ +[workspace.lints.clippy] +absolute-paths = "allow" +absurd-extreme-comparisons = "deny" +alloc-instead-of-core = "allow" +allow-attributes = "allow" +allow-attributes-without-reason = "allow" +almost-complete-range = "warn" +almost-swapped = "deny" +approx-constant = "deny" +arbitrary-source-item-ordering = "allow" +arc-with-non-send-sync = "warn" +arithmetic-side-effects = "allow" +as-conversions = "allow" +as-pointer-underscore = "allow" +as-ptr-cast-mut = "allow" +as-underscore = "allow" +assertions-on-constants = "warn" +assertions-on-result-states = "allow" +assign-op-pattern = "warn" +assigning-clones = "allow" +async-yields-async = "deny" +await-holding-invalid-type = "warn" +await-holding-lock = "warn" +await-holding-refcell-ref = "warn" +bad-bit-mask = "deny" +big-endian-bytes = "allow" +bind-instead-of-map = "warn" +blanket-clippy-restriction-lints = "warn" +blocks-in-conditions = "warn" +bool-assert-comparison = "warn" +bool-comparison = "warn" +bool-to-int-with-if = "allow" +borrow-as-ptr = "allow" +borrow-deref-ref = "warn" +borrow-interior-mutable-const = "warn" +borrowed-box = "warn" +box-collection = "warn" +box-default = "warn" +boxed-local = "warn" +branches-sharing-code = "allow" +builtin-type-shadow = "warn" +byte-char-slices = "warn" +bytes-count-to-len = "warn" +bytes-nth = "warn" +cargo-common-metadata = "allow" +case-sensitive-file-extension-comparisons = "allow" +cast-abs-to-unsigned = "warn" +cast-enum-constructor = "warn" +cast-enum-truncation = "warn" +cast-lossless = "allow" +cast-nan-to-int = "warn" +cast-possible-truncation = "allow" +cast-possible-wrap = "allow" +cast-precision-loss = "allow" +cast-ptr-alignment = "allow" +cast-sign-loss = "allow" +cast-slice-different-sizes = "deny" +cast-slice-from-raw-parts = "warn" +cfg-not-test = "allow" +char-lit-as-u8 = "warn" +chars-last-cmp = "warn" +chars-next-cmp = "warn" +checked-conversions = "allow" +clear-with-drain = "allow" +clone-on-copy = "warn" +clone-on-ref-ptr = "allow" +cloned-instead-of-copied = "allow" +cmp-null = "warn" +cmp-owned = "warn" +cognitive-complexity = "allow" +collapsible-else-if = "warn" +collapsible-if = "warn" +collapsible-match = "warn" +collapsible-str-replace = "warn" +collection-is-never-read = "allow" +comparison-chain = "warn" +comparison-to-empty = "warn" +const-is-empty = "warn" +copy-iterator = "allow" +crate-in-macro-def = "warn" +create-dir = "allow" +crosspointer-transmute = "warn" +dbg-macro = "allow" +debug-assert-with-mut-call = "allow" +decimal-literal-representation = "allow" +declare-interior-mutable-const = "warn" +default-constructed-unit-structs = "warn" +default-instead-of-iter-empty = "warn" +default-numeric-fallback = "allow" +default-trait-access = "allow" +default-union-representation = "allow" +deprecated-cfg-attr = "warn" +deprecated-clippy-cfg-attr = "warn" +deprecated-semver = "deny" +deref-addrof = "warn" +deref-by-slicing = "allow" +derivable-impls = "warn" +derive-ord-xor-partial-ord = "deny" +derive-partial-eq-without-eq = "allow" +derived-hash-with-manual-eq = "deny" +disallowed-macros = "warn" +disallowed-methods = "warn" +disallowed-names = "warn" +disallowed-script-idents = "allow" +disallowed-types = "warn" +diverging-sub-expression = "warn" +doc-include-without-cfg = "allow" +doc-lazy-continuation = "warn" +doc-link-with-quotes = "allow" +doc-markdown = "allow" +doc-nested-refdefs = "warn" +double-comparisons = "warn" +double-must-use = "warn" +double-neg = "warn" +double-parens = "warn" +drain-collect = "warn" +drop-non-drop = "warn" +duplicate-mod = "warn" +duplicate-underscore-argument = "warn" +duplicated-attributes = "warn" +duration-subsec = "warn" +eager-transmute = "deny" +else-if-without-else = "allow" +empty-docs = "warn" +empty-drop = "allow" +empty-enum = "allow" +empty-enum-variants-with-brackets = "allow" +empty-line-after-doc-comments = "warn" +empty-line-after-outer-attr = "warn" +empty-loop = "warn" +empty-structs-with-brackets = "allow" +enum-clike-unportable-variant = "deny" +enum-glob-use = "allow" +enum-variant-names = "warn" +eq-op = "deny" +equatable-if-let = "allow" +erasing-op = "deny" +err-expect = "warn" +error-impl-error = "allow" +excessive-nesting = "warn" +excessive-precision = "warn" +exhaustive-enums = "allow" +exhaustive-structs = "allow" +exit = "allow" +expect-fun-call = "warn" +expect-used = "allow" +expl-impl-clone-on-copy = "allow" +explicit-auto-deref = "warn" +explicit-counter-loop = "warn" +explicit-deref-methods = "allow" +explicit-into-iter-loop = "allow" +explicit-iter-loop = "allow" +explicit-write = "warn" +extend-with-drain = "warn" +extra-unused-lifetimes = "warn" +extra-unused-type-parameters = "warn" +fallible-impl-from = "allow" +field-reassign-with-default = "warn" +field-scoped-visibility-modifiers = "allow" +filetype-is-file = "allow" +filter-map-bool-then = "warn" +filter-map-identity = "warn" +filter-map-next = "allow" +filter-next = "warn" +flat-map-identity = "warn" +flat-map-option = "allow" +float-arithmetic = "allow" +float-cmp = "allow" +float-cmp-const = "allow" +float-equality-without-abs = "warn" +fn-params-excessive-bools = "allow" +fn-to-numeric-cast = "warn" +fn-to-numeric-cast-any = "allow" +fn-to-numeric-cast-with-truncation = "warn" +for-kv-map = "warn" +forget-non-drop = "warn" +format-collect = "warn" +format-in-format-args = "warn" +format-push-string = "allow" +four-forward-slashes = "warn" +from-iter-instead-of-collect = "allow" +from-over-into = "warn" +from-raw-with-void-ptr = "warn" +from-str-radix-10 = "warn" +future-not-send = "allow" +get-first = "warn" +get-last-with-len = "warn" +get-unwrap = "allow" +host-endian-bytes = "allow" +identity-op = "warn" +if-let-mutex = "deny" +if-not-else = "allow" +if-same-then-else = "warn" +if-then-some-else-none = "allow" +ifs-same-cond = "deny" +ignored-unit-patterns = "allow" +impl-hash-borrow-with-str-and-bytes = "deny" +impl-trait-in-params = "allow" +implicit-clone = "allow" +implicit-hasher = "allow" +implicit-return = "allow" +implicit-saturating-add = "warn" +implicit-saturating-sub = "warn" +implied-bounds-in-impls = "warn" +impossible-comparisons = "deny" +imprecise-flops = "allow" +incompatible-msrv = "warn" +inconsistent-digit-grouping = "warn" +inconsistent-struct-constructor = "allow" +index-refutable-slice = "allow" +indexing-slicing = "allow" +ineffective-bit-mask = "deny" +ineffective-open-options = "warn" +inefficient-to-string = "allow" +infallible-destructuring-match = "warn" +infinite-iter = "deny" +infinite-loop = "allow" +inherent-to-string = "warn" +inherent-to-string-shadow-display = "deny" +init-numbered-fields = "warn" +inline-always = "allow" +inline-asm-x86-att-syntax = "allow" +inline-asm-x86-intel-syntax = "allow" +inline-fn-without-body = "deny" +inspect-for-each = "warn" +int-plus-one = "warn" +integer-division = "allow" +integer-division-remainder-used = "allow" +into-iter-on-ref = "warn" +into-iter-without-iter = "allow" +invalid-null-ptr-usage = "deny" +invalid-regex = "deny" +invalid-upcast-comparisons = "allow" +inverted-saturating-sub = "deny" +invisible-characters = "deny" +is-digit-ascii-radix = "warn" +items-after-statements = "allow" +items-after-test-module = "warn" +iter-cloned-collect = "warn" +iter-count = "warn" +iter-filter-is-ok = "allow" +iter-filter-is-some = "allow" +iter-kv-map = "warn" +iter-next-loop = "deny" +iter-next-slice = "warn" +iter-not-returning-iterator = "allow" +iter-nth = "warn" +iter-nth-zero = "warn" +iter-on-empty-collections = "allow" +iter-on-single-items = "allow" +iter-out-of-bounds = "warn" +iter-over-hash-type = "allow" +iter-overeager-cloned = "warn" +iter-skip-next = "warn" +iter-skip-zero = "deny" +iter-with-drain = "allow" +iter-without-into-iter = "allow" +iterator-step-by-zero = "deny" +join-absolute-paths = "warn" +just-underscores-and-digits = "warn" +large-const-arrays = "warn" +large-digit-groups = "allow" +large-enum-variant = "warn" +large-futures = "allow" +large-include-file = "allow" +large-stack-arrays = "allow" +large-stack-frames = "allow" +large-types-passed-by-value = "allow" +legacy-numeric-constants = "warn" +len-without-is-empty = "warn" +len-zero = "warn" +let-and-return = "warn" +let-underscore-future = "warn" +let-underscore-lock = "deny" +let-underscore-must-use = "allow" +let-underscore-untyped = "allow" +let-unit-value = "warn" +let-with-type-underscore = "warn" +lines-filter-map-ok = "warn" +linkedlist = "allow" +lint-groups-priority = "deny" +literal-string-with-formatting-args = "allow" +little-endian-bytes = "allow" +lossy-float-literal = "allow" +macro-metavars-in-unsafe = "warn" +macro-use-imports = "allow" +main-recursion = "warn" +manual-assert = "allow" +manual-async-fn = "warn" +manual-bits = "warn" +manual-c-str-literals = "warn" +manual-clamp = "warn" +manual-div-ceil = "warn" +manual-filter = "warn" +manual-filter-map = "warn" +manual-find = "warn" +manual-find-map = "warn" +manual-flatten = "warn" +manual-hash-one = "warn" +manual-ignore-case-cmp = "warn" +manual-inspect = "warn" +manual-instant-elapsed = "allow" +manual-is-ascii-check = "warn" +manual-is-finite = "warn" +manual-is-infinite = "warn" +manual-is-power-of-two = "allow" +manual-is-variant-and = "allow" +manual-let-else = "allow" +manual-main-separator-str = "warn" +manual-map = "warn" +manual-memcpy = "warn" +manual-next-back = "warn" +manual-non-exhaustive = "warn" +manual-ok-or = "allow" +manual-pattern-char-comparison = "warn" +manual-range-contains = "warn" +manual-range-patterns = "warn" +manual-rem-euclid = "warn" +manual-retain = "warn" +manual-rotate = "warn" +manual-saturating-arithmetic = "warn" +manual-slice-size-calculation = "warn" +manual-split-once = "warn" +manual-str-repeat = "warn" +manual-string-new = "allow" +manual-strip = "warn" +manual-swap = "warn" +manual-try-fold = "warn" +manual-unwrap-or = "warn" +manual-unwrap-or-default = "warn" +manual-while-let-some = "warn" +many-single-char-names = "allow" +map-all-any-identity = "warn" +map-clone = "warn" +map-collect-result-unit = "warn" +map-entry = "warn" +map-err-ignore = "allow" +map-flatten = "warn" +map-identity = "warn" +map-unwrap-or = "allow" +map-with-unused-argument-over-ranges = "allow" +match-as-ref = "warn" +match-bool = "allow" +match-like-matches-macro = "warn" +match-on-vec-items = "allow" +match-overlapping-arm = "warn" +match-ref-pats = "warn" +match-result-ok = "warn" +match-same-arms = "allow" +match-single-binding = "warn" +match-str-case-mismatch = "deny" +match-wild-err-arm = "allow" +match-wildcard-for-single-variants = "allow" +maybe-infinite-iter = "allow" +mem-forget = "allow" +mem-replace-option-with-none = "warn" +mem-replace-with-default = "warn" +mem-replace-with-uninit = "deny" +min-ident-chars = "allow" +min-max = "deny" +mismatching-type-param-order = "allow" +misnamed-getters = "warn" +misrefactored-assign-op = "warn" +missing-assert-message = "allow" +missing-asserts-for-indexing = "allow" +missing-const-for-fn = "allow" +missing-const-for-thread-local = "warn" +missing-docs-in-private-items = "allow" +missing-enforced-import-renames = "warn" +missing-errors-doc = "allow" +missing-fields-in-debug = "allow" +missing-inline-in-public-items = "allow" +missing-panics-doc = "allow" +missing-safety-doc = "warn" +missing-spin-loop = "warn" +missing-trait-methods = "allow" +missing-transmute-annotations = "warn" +mistyped-literal-suffixes = "deny" +mixed-attributes-style = "warn" +mixed-case-hex-literals = "warn" +mixed-read-write-in-expression = "allow" +mod-module-files = "allow" +module-inception = "warn" +module-name-repetitions = "allow" +modulo-arithmetic = "allow" +modulo-one = "deny" +multi-assignments = "warn" +multiple-bound-locations = "warn" +multiple-crate-versions = "allow" +multiple-inherent-impl = "allow" +multiple-unsafe-ops-per-block = "allow" +must-use-candidate = "allow" +must-use-unit = "warn" +mut-from-ref = "deny" +mut-mut = "allow" +mut-mutex-lock = "warn" +mut-range-bound = "warn" +mutable-key-type = "warn" +mutex-atomic = "allow" +mutex-integer = "allow" +naive-bytecount = "allow" +needless-arbitrary-self-type = "warn" +needless-as-bytes = "warn" +needless-bitwise-bool = "allow" +needless-bool = "warn" +needless-bool-assign = "warn" +needless-borrow = "warn" +needless-borrowed-reference = "warn" +needless-borrows-for-generic-args = "warn" +needless-character-iteration = "warn" +needless-collect = "allow" +needless-continue = "allow" +needless-doctest-main = "warn" +needless-else = "warn" +needless-for-each = "allow" +needless-if = "warn" +needless-late-init = "warn" +needless-lifetimes = "warn" +needless-match = "warn" +needless-maybe-sized = "warn" +needless-option-as-deref = "warn" +needless-option-take = "warn" +needless-parens-on-range-literals = "warn" +needless-pass-by-ref-mut = "allow" +needless-pass-by-value = "allow" +needless-pub-self = "warn" +needless-question-mark = "warn" +needless-range-loop = "warn" +needless-raw-string-hashes = "allow" +needless-raw-strings = "allow" +needless-return = "warn" +needless-return-with-question-mark = "warn" +needless-splitn = "warn" +needless-update = "warn" +neg-cmp-op-on-partial-ord = "warn" +neg-multiply = "warn" +negative-feature-names = "allow" +never-loop = "deny" +new-ret-no-self = "warn" +new-without-default = "warn" +no-effect = "warn" +no-effect-replace = "warn" +no-effect-underscore-binding = "allow" +no-mangle-with-rust-abi = "allow" +non-ascii-literal = "allow" +non-canonical-clone-impl = "warn" +non-canonical-partial-ord-impl = "warn" +non-minimal-cfg = "warn" +non-octal-unix-permissions = "deny" +non-send-fields-in-send-ty = "allow" +non-zero-suggestions = "allow" +nonminimal-bool = "warn" +nonsensical-open-options = "deny" +nonstandard-macro-braces = "allow" +not-unsafe-ptr-arg-deref = "deny" +obfuscated-if-else = "warn" +octal-escapes = "warn" +ok-expect = "warn" +only-used-in-recursion = "warn" +op-ref = "warn" +option-as-ref-cloned = "allow" +option-as-ref-deref = "warn" +option-env-unwrap = "deny" +option-filter-map = "warn" +option-if-let-else = "allow" +option-map-or-err-ok = "warn" +option-map-or-none = "warn" +option-map-unit-fn = "warn" +option-option = "allow" +or-fun-call = "allow" +or-then-unwrap = "warn" +out-of-bounds-indexing = "deny" +overly-complex-bool-expr = "deny" +panic = "allow" +panic-in-result-fn = "allow" +panicking-overflow-checks = "deny" +panicking-unwrap = "deny" +partial-pub-fields = "allow" +partialeq-ne-impl = "warn" +partialeq-to-none = "warn" +path-buf-push-overwrite = "allow" +path-ends-with-ext = "warn" +pathbuf-init-then-push = "allow" +pattern-type-mismatch = "allow" +permissions-set-readonly-false = "warn" +pointers-in-nomem-asm-block = "warn" +possible-missing-comma = "deny" +precedence = "warn" +print-in-format-impl = "warn" +print-literal = "warn" +print-stderr = "allow" +print-stdout = "allow" +print-with-newline = "warn" +println-empty-string = "warn" +ptr-arg = "warn" +ptr-as-ptr = "allow" +ptr-cast-constness = "allow" +ptr-eq = "warn" +ptr-offset-with-cast = "warn" +pub-underscore-fields = "allow" +pub-use = "allow" +pub-with-shorthand = "allow" +pub-without-shorthand = "allow" +question-mark = "warn" +question-mark-used = "allow" +range-minus-one = "allow" +range-plus-one = "allow" +range-zip-with-len = "warn" +rc-buffer = "allow" +rc-clone-in-vec-init = "warn" +rc-mutex = "allow" +read-line-without-trim = "deny" +read-zero-byte-vec = "allow" +readonly-write-lock = "warn" +recursive-format-impl = "deny" +redundant-allocation = "warn" +redundant-as-str = "warn" +redundant-async-block = "warn" +redundant-at-rest-pattern = "warn" +redundant-clone = "allow" +redundant-closure = "warn" +redundant-closure-call = "warn" +redundant-closure-for-method-calls = "allow" +redundant-comparisons = "deny" +redundant-else = "allow" +redundant-feature-names = "allow" +redundant-field-names = "warn" +redundant-guards = "warn" +redundant-locals = "deny" +redundant-pattern = "warn" +redundant-pattern-matching = "warn" +redundant-pub-crate = "allow" +redundant-slicing = "warn" +redundant-static-lifetimes = "warn" +redundant-type-annotations = "allow" +ref-as-ptr = "allow" +ref-binding-to-reference = "allow" +ref-option = "allow" +ref-option-ref = "allow" +ref-patterns = "allow" +regex-creation-in-loops = "warn" +renamed-function-params = "allow" +repeat-once = "warn" +repeat-vec-with-capacity = "warn" +repr-packed-without-abi = "warn" +reserve-after-initialization = "warn" +rest-pat-in-fully-bound-structs = "allow" +result-filter-map = "warn" +result-large-err = "warn" +result-map-or-into-option = "warn" +result-map-unit-fn = "warn" +result-unit-err = "warn" +return-self-not-must-use = "allow" +reversed-empty-ranges = "deny" +same-functions-in-if-condition = "allow" +same-item-push = "warn" +same-name-method = "allow" +search-is-some = "warn" +seek-from-current = "warn" +seek-to-start-instead-of-rewind = "warn" +self-assignment = "deny" +self-named-constructors = "warn" +self-named-module-files = "allow" +semicolon-if-nothing-returned = "allow" +semicolon-inside-block = "allow" +semicolon-outside-block = "allow" +separated-literal-suffix = "allow" +serde-api-misuse = "deny" +set-contains-or-insert = "allow" +shadow-reuse = "allow" +shadow-same = "allow" +shadow-unrelated = "allow" +short-circuit-statement = "warn" +should-implement-trait = "warn" +should-panic-without-expect = "allow" +significant-drop-in-scrutinee = "allow" +significant-drop-tightening = "allow" +similar-names = "allow" +single-call-fn = "allow" +single-char-add-str = "warn" +single-char-lifetime-names = "allow" +single-char-pattern = "allow" +single-component-path-imports = "warn" +single-element-loop = "warn" +single-match = "warn" +single-match-else = "allow" +single-range-in-vec-init = "warn" +size-of-in-element-count = "deny" +size-of-ref = "warn" +skip-while-next = "warn" +slow-vector-initialization = "warn" +stable-sort-primitive = "allow" +std-instead-of-alloc = "allow" +std-instead-of-core = "allow" +str-split-at-newline = "allow" +str-to-string = "allow" +string-add = "allow" +string-add-assign = "allow" +string-extend-chars = "warn" +string-from-utf8-as-bytes = "warn" +string-lit-as-bytes = "allow" +string-lit-chars-any = "allow" +string-slice = "allow" +string-to-string = "allow" +strlen-on-c-strings = "warn" +struct-excessive-bools = "allow" +struct-field-names = "allow" +suboptimal-flops = "allow" +suspicious-arithmetic-impl = "warn" +suspicious-assignment-formatting = "warn" +suspicious-command-arg-space = "warn" +suspicious-doc-comments = "warn" +suspicious-else-formatting = "warn" +suspicious-map = "warn" +suspicious-op-assign-impl = "warn" +suspicious-open-options = "warn" +suspicious-operation-groupings = "allow" +suspicious-splitn = "deny" +suspicious-to-owned = "warn" +suspicious-unary-op-formatting = "warn" +suspicious-xor-used-as-pow = "allow" +swap-ptr-to-ref = "warn" +tabs-in-doc-comments = "warn" +temporary-assignment = "warn" +test-attr-in-doctest = "warn" +tests-outside-test-module = "allow" +to-digit-is-some = "warn" +to-string-in-format-args = "warn" +to-string-trait-impl = "warn" +todo = "allow" +too-long-first-doc-paragraph = "allow" +too-many-arguments = "warn" +too-many-lines = "allow" +toplevel-ref-arg = "warn" +trailing-empty-array = "allow" +trait-duplication-in-bounds = "allow" +transmute-bytes-to-str = "warn" +transmute-float-to-int = "warn" +transmute-int-to-bool = "warn" +transmute-int-to-char = "warn" +transmute-int-to-float = "warn" +transmute-int-to-non-zero = "warn" +transmute-null-to-fn = "deny" +transmute-num-to-bytes = "warn" +transmute-ptr-to-ptr = "allow" +transmute-ptr-to-ref = "warn" +transmute-undefined-repr = "allow" +transmutes-expressible-as-ptr-casts = "warn" +transmuting-null = "deny" +trim-split-whitespace = "warn" +trivial-regex = "allow" +trivially-copy-pass-by-ref = "allow" +try-err = "allow" +tuple-array-conversions = "allow" +type-complexity = "warn" +type-id-on-box = "warn" +type-repetition-in-bounds = "allow" +unchecked-duration-subtraction = "allow" +unconditional-recursion = "warn" +undocumented-unsafe-blocks = "allow" +unicode-not-nfc = "allow" +unimplemented = "allow" +uninhabited-references = "allow" +uninit-assumed-init = "deny" +uninit-vec = "deny" +uninlined-format-args = "allow" +unit-arg = "warn" +unit-cmp = "deny" +unit-hash = "deny" +unit-return-expecting-ord = "deny" +unnecessary-box-returns = "allow" +unnecessary-cast = "warn" +unnecessary-clippy-cfg = "warn" +unnecessary-fallible-conversions = "warn" +unnecessary-filter-map = "warn" +unnecessary-find-map = "warn" +unnecessary-first-then-check = "warn" +unnecessary-fold = "warn" +unnecessary-get-then-check = "warn" +unnecessary-join = "allow" +unnecessary-lazy-evaluations = "warn" +unnecessary-literal-bound = "allow" +unnecessary-literal-unwrap = "warn" +unnecessary-map-on-constructor = "warn" +unnecessary-map-or = "warn" +unnecessary-min-or-max = "warn" +unnecessary-mut-passed = "warn" +unnecessary-operation = "warn" +unnecessary-owned-empty-strings = "warn" +unnecessary-result-map-or-else = "warn" +unnecessary-safety-comment = "allow" +unnecessary-safety-doc = "allow" +unnecessary-self-imports = "allow" +unnecessary-sort-by = "warn" +unnecessary-struct-initialization = "allow" +unnecessary-to-owned = "warn" +unnecessary-unwrap = "warn" +unnecessary-wraps = "allow" +unneeded-field-pattern = "allow" +unneeded-wildcard-pattern = "warn" +unnested-or-patterns = "allow" +unreachable = "allow" +unreadable-literal = "allow" +unsafe-derive-deserialize = "allow" +unsafe-removed-from-name = "warn" +unseparated-literal-suffix = "allow" +unsound-collection-transmute = "deny" +unused-async = "allow" +unused-enumerate-index = "warn" +unused-format-specs = "warn" +unused-io-amount = "deny" +unused-peekable = "allow" +unused-result-ok = "allow" +unused-rounding = "allow" +unused-self = "allow" +unused-trait-names = "allow" +unused-unit = "warn" +unusual-byte-groupings = "warn" +unwrap-in-result = "allow" +unwrap-or-default = "warn" +unwrap-used = "allow" +upper-case-acronyms = "warn" +use-debug = "allow" +use-self = "allow" +used-underscore-binding = "allow" +used-underscore-items = "allow" +useless-asref = "warn" +useless-attribute = "deny" +useless-conversion = "warn" +useless-format = "warn" +useless-let-if-seq = "allow" +useless-transmute = "warn" +useless-vec = "warn" +vec-box = "warn" +vec-init-then-push = "warn" +vec-resize-to-zero = "deny" +verbose-bit-mask = "allow" +verbose-file-reads = "allow" +waker-clone-wake = "warn" +while-float = "allow" +while-immutable-condition = "deny" +while-let-loop = "warn" +while-let-on-iterator = "warn" +wildcard-dependencies = "allow" +wildcard-enum-match-arm = "allow" +wildcard-imports = "allow" +wildcard-in-or-patterns = "warn" +write-literal = "warn" +write-with-newline = "warn" +writeln-empty-string = "warn" +wrong-self-convention = "warn" +wrong-transmute = "deny" +zero-divided-by-zero = "warn" +zero-prefixed-literal = "warn" +zero-ptr = "warn" +zero-repeat-side-effects = "warn" +zero-sized-map-values = "allow" +zombie-processes = "warn" +zst-offset = "deny" + +[workspace.lints.rust] +abi-unsupported-vector-types = "warn" +absolute-paths-not-starting-with-crate = "allow" +ambiguous-associated-items = "deny" +ambiguous-glob-imports = "warn" +ambiguous-glob-reexports = "warn" +ambiguous-negative-literals = "allow" +ambiguous-wide-pointer-comparisons = "warn" +anonymous-parameters = "warn" +arithmetic-overflow = "deny" +array-into-iter = "warn" +asm-sub-register = "warn" +async-fn-in-trait = "warn" +bad-asm-style = "warn" +bare-trait-objects = "warn" +binary-asm-labels = "deny" +bindings-with-variant-name = "deny" +boxed-slice-into-iter = "warn" +break-with-label-and-loop = "warn" +cenum-impl-drop-cast = "deny" +clashing-extern-declarations = "warn" +closure-returning-async-block = "allow" +coherence-leak-check = "warn" +conflicting-repr-hints = "deny" +confusable-idents = "warn" +const-evaluatable-unchecked = "warn" +const-item-mutation = "warn" +dangling-pointers-from-temporaries = "warn" +dead-code = "warn" +default-overrides-default-fields = "deny" +dependency-on-unit-never-type-fallback = "warn" +deprecated = "warn" +deprecated-in-future = "allow" +deprecated-safe-2024 = "allow" +deprecated-where-clause-location = "warn" +deref-into-dyn-supertrait = "warn" +deref-nullptr = "warn" +drop-bounds = "warn" +dropping-copy-types = "warn" +dropping-references = "warn" +duplicate-macro-attributes = "warn" +dyn-drop = "warn" +edition-2024-expr-fragment-specifier = "allow" +elided-lifetimes-in-associated-constant = "deny" +elided-lifetimes-in-paths = "allow" +elided-named-lifetimes = "warn" +ellipsis-inclusive-range-patterns = "warn" +enum-intrinsics-non-enums = "deny" +explicit-builtin-cfgs-in-flags = "deny" +explicit-outlives-requirements = "allow" +exported-private-dependencies = "warn" +ffi-unwind-calls = "allow" +for-loops-over-fallibles = "warn" +forbidden-lint-groups = "warn" +forgetting-copy-types = "warn" +forgetting-references = "warn" +function-item-references = "warn" +fuzzy-provenance-casts = "allow" +hidden-glob-reexports = "warn" +if-let-rescope = "allow" +ill-formed-attribute-input = "deny" +impl-trait-overcaptures = "allow" +impl-trait-redundant-captures = "allow" +improper-ctypes = "warn" +improper-ctypes-definitions = "warn" +incomplete-features = "warn" +incomplete-include = "deny" +ineffective-unstable-trait-impl = "deny" +inline-no-sanitize = "warn" +internal-features = "warn" +invalid-atomic-ordering = "deny" +invalid-doc-attributes = "deny" +invalid-from-utf8 = "warn" +invalid-from-utf8-unchecked = "deny" +invalid-macro-export-arguments = "warn" +invalid-nan-comparisons = "warn" +invalid-reference-casting = "deny" +invalid-type-param-default = "deny" +invalid-value = "warn" +irrefutable-let-patterns = "warn" +keyword-idents-2018 = "allow" +keyword-idents-2024 = "allow" +large-assignments = "warn" +late-bound-lifetime-arguments = "warn" +legacy-derive-helpers = "warn" +let-underscore-drop = "allow" +let-underscore-lock = "deny" +long-running-const-eval = "deny" +lossy-provenance-casts = "allow" +macro-expanded-macro-exports-accessed-by-absolute-paths = "deny" +macro-use-extern-crate = "allow" +map-unit-fn = "warn" +meta-variable-misuse = "allow" +missing-abi = "allow" +missing-copy-implementations = "allow" +missing-debug-implementations = "allow" +missing-docs = "allow" +missing-fragment-specifier = "deny" +missing-unsafe-on-extern = "allow" +mixed-script-confusables = "warn" +multiple-supertrait-upcastable = "allow" +must-not-suspend = "allow" +mutable-transmutes = "deny" +named-arguments-used-positionally = "warn" +named-asm-labels = "deny" +never-type-fallback-flowing-into-unsafe = "warn" +no-mangle-const-items = "deny" +no-mangle-generic-items = "warn" +non-ascii-idents = "allow" +non-camel-case-types = "warn" +non-contiguous-range-endpoints = "warn" +non-exhaustive-omitted-patterns = "allow" +non-fmt-panics = "warn" +non-local-definitions = "warn" +non-shorthand-field-patterns = "warn" +non-snake-case = "warn" +non-upper-case-globals = "warn" +noop-method-call = "warn" +opaque-hidden-inferred-bound = "warn" +order-dependent-trait-objects = "deny" +out-of-scope-macro-calls = "warn" +overflowing-literals = "deny" +overlapping-range-endpoints = "warn" +path-statements = "warn" +patterns-in-fns-without-body = "deny" +private-bounds = "warn" +private-interfaces = "warn" +proc-macro-derive-resolution-fallback = "deny" +ptr-cast-add-auto-to-object = "warn" +ptr-to-integer-transmute-in-consts = "warn" +pub-use-of-private-extern-crate = "deny" +redundant-imports = "allow" +redundant-lifetimes = "allow" +redundant-semicolons = "warn" +refining-impl-trait-internal = "warn" +refining-impl-trait-reachable = "warn" +renamed-and-removed-lints = "warn" +repr-transparent-external-private-fields = "warn" +rust-2021-incompatible-closure-captures = "allow" +rust-2021-incompatible-or-patterns = "allow" +rust-2021-prefixes-incompatible-syntax = "allow" +rust-2021-prelude-collisions = "allow" +rust-2024-guarded-string-incompatible-syntax = "allow" +rust-2024-incompatible-pat = "allow" +rust-2024-prelude-collisions = "allow" +self-constructor-from-outer-item = "warn" +semicolon-in-expressions-from-macros = "warn" +single-use-lifetimes = "allow" +soft-unstable = "deny" +special-module-name = "warn" +stable-features = "warn" +static-mut-refs = "warn" +suspicious-double-ref-op = "warn" +tail-expr-drop-order = "allow" +test-unstable-lint = "deny" +text-direction-codepoint-in-comment = "deny" +text-direction-codepoint-in-literal = "deny" +trivial-bounds = "warn" +trivial-casts = "allow" +trivial-numeric-casts = "allow" +type-alias-bounds = "warn" +tyvar-behind-raw-pointer = "warn" +uncommon-codepoints = "warn" +unconditional-panic = "deny" +unconditional-recursion = "warn" +uncovered-param-in-projection = "warn" +undefined-naked-function-abi = "warn" +undropped-manually-drops = "deny" +unexpected-cfgs = "warn" +unfulfilled-lint-expectations = "warn" +ungated-async-fn-track-caller = "warn" +uninhabited-static = "warn" +unit-bindings = "allow" +unknown-crate-types = "deny" +unknown-lints = "warn" +unknown-or-malformed-diagnostic-attributes = "warn" +unnameable-test-items = "warn" +unnameable-types = "allow" +unpredictable-function-pointer-comparisons = "warn" +unqualified-local-imports = "allow" +unreachable-code = "warn" +unreachable-patterns = "warn" +unreachable-pub = "allow" +unsafe-attr-outside-unsafe = "allow" +unsafe-code = "allow" +unsafe-op-in-unsafe-fn = "allow" +unstable-features = "allow" +unstable-name-collisions = "warn" +unstable-syntax-pre-expansion = "warn" +unsupported-fn-ptr-calling-conventions = "warn" +unused-allocation = "warn" +unused-assignments = "warn" +unused-associated-type-bounds = "warn" +unused-attributes = "warn" +unused-braces = "warn" +unused-comparisons = "warn" +unused-crate-dependencies = "allow" +unused-doc-comments = "warn" +unused-extern-crates = "allow" +unused-features = "warn" +unused-import-braces = "allow" +unused-imports = "warn" +unused-labels = "warn" +unused-lifetimes = "allow" +unused-macro-rules = "allow" +unused-macros = "warn" +unused-must-use = "warn" +unused-mut = "warn" +unused-parens = "warn" +unused-qualifications = "allow" +unused-results = "allow" +unused-unsafe = "warn" +unused-variables = "warn" +useless-deprecated = "deny" +useless-ptr-null-checks = "warn" +variant-size-differences = "allow" +warnings = "warn" +wasm-c-abi = "deny" +while-true = "warn" + +[workspace.lints.rustdoc] +bare-urls = "warn" +broken-intra-doc-links = "warn" +invalid-codeblock-attributes = "warn" +invalid-html-tags = "warn" +invalid-rust-codeblocks = "warn" +missing-crate-level-docs = "allow" +missing-doc-code-examples = "allow" +private-doc-tests = "allow" +private-intra-doc-links = "warn" +redundant-explicit-links = "warn" +unescaped-backticks = "allow" +unportable-markdown = "warn" diff --git a/lints/1.86.toml b/lints/1.86.toml new file mode 100644 index 0000000..8809df1 --- /dev/null +++ b/lints/1.86.toml @@ -0,0 +1,1008 @@ +[workspace.lints.clippy] +absolute-paths = "allow" +absurd-extreme-comparisons = "deny" +alloc-instead-of-core = "allow" +allow-attributes = "allow" +allow-attributes-without-reason = "allow" +almost-complete-range = "warn" +almost-swapped = "deny" +approx-constant = "deny" +arbitrary-source-item-ordering = "allow" +arc-with-non-send-sync = "warn" +arithmetic-side-effects = "allow" +as-conversions = "allow" +as-pointer-underscore = "allow" +as-ptr-cast-mut = "allow" +as-underscore = "allow" +assertions-on-constants = "warn" +assertions-on-result-states = "allow" +assign-op-pattern = "warn" +assigning-clones = "allow" +async-yields-async = "deny" +await-holding-invalid-type = "warn" +await-holding-lock = "warn" +await-holding-refcell-ref = "warn" +bad-bit-mask = "deny" +big-endian-bytes = "allow" +bind-instead-of-map = "warn" +blanket-clippy-restriction-lints = "warn" +blocks-in-conditions = "warn" +bool-assert-comparison = "warn" +bool-comparison = "warn" +bool-to-int-with-if = "allow" +borrow-as-ptr = "allow" +borrow-deref-ref = "warn" +borrow-interior-mutable-const = "warn" +borrowed-box = "warn" +box-collection = "warn" +box-default = "warn" +boxed-local = "warn" +branches-sharing-code = "allow" +builtin-type-shadow = "warn" +byte-char-slices = "warn" +bytes-count-to-len = "warn" +bytes-nth = "warn" +cargo-common-metadata = "allow" +case-sensitive-file-extension-comparisons = "allow" +cast-abs-to-unsigned = "warn" +cast-enum-constructor = "warn" +cast-enum-truncation = "warn" +cast-lossless = "allow" +cast-nan-to-int = "warn" +cast-possible-truncation = "allow" +cast-possible-wrap = "allow" +cast-precision-loss = "allow" +cast-ptr-alignment = "allow" +cast-sign-loss = "allow" +cast-slice-different-sizes = "deny" +cast-slice-from-raw-parts = "warn" +cfg-not-test = "allow" +char-lit-as-u8 = "warn" +chars-last-cmp = "warn" +chars-next-cmp = "warn" +checked-conversions = "allow" +clear-with-drain = "allow" +clone-on-copy = "warn" +clone-on-ref-ptr = "allow" +cloned-instead-of-copied = "allow" +cmp-null = "warn" +cmp-owned = "warn" +cognitive-complexity = "allow" +collapsible-else-if = "warn" +collapsible-if = "warn" +collapsible-match = "warn" +collapsible-str-replace = "warn" +collection-is-never-read = "allow" +comparison-chain = "warn" +comparison-to-empty = "warn" +const-is-empty = "warn" +copy-iterator = "allow" +crate-in-macro-def = "warn" +create-dir = "allow" +crosspointer-transmute = "warn" +dbg-macro = "allow" +debug-assert-with-mut-call = "allow" +decimal-literal-representation = "allow" +declare-interior-mutable-const = "warn" +default-constructed-unit-structs = "warn" +default-instead-of-iter-empty = "warn" +default-numeric-fallback = "allow" +default-trait-access = "allow" +default-union-representation = "allow" +deprecated-cfg-attr = "warn" +deprecated-clippy-cfg-attr = "warn" +deprecated-semver = "deny" +deref-addrof = "warn" +deref-by-slicing = "allow" +derivable-impls = "warn" +derive-ord-xor-partial-ord = "deny" +derive-partial-eq-without-eq = "allow" +derived-hash-with-manual-eq = "deny" +disallowed-macros = "warn" +disallowed-methods = "warn" +disallowed-names = "warn" +disallowed-script-idents = "allow" +disallowed-types = "warn" +diverging-sub-expression = "warn" +doc-include-without-cfg = "allow" +doc-lazy-continuation = "warn" +doc-link-with-quotes = "allow" +doc-markdown = "allow" +doc-nested-refdefs = "warn" +doc-overindented-list-items = "warn" +double-comparisons = "warn" +double-ended-iterator-last = "warn" +double-must-use = "warn" +double-parens = "warn" +drain-collect = "warn" +drop-non-drop = "warn" +duplicate-mod = "warn" +duplicate-underscore-argument = "warn" +duplicated-attributes = "warn" +duration-subsec = "warn" +eager-transmute = "deny" +else-if-without-else = "allow" +empty-docs = "warn" +empty-drop = "allow" +empty-enum = "allow" +empty-enum-variants-with-brackets = "allow" +empty-line-after-doc-comments = "warn" +empty-line-after-outer-attr = "warn" +empty-loop = "warn" +empty-structs-with-brackets = "allow" +enum-clike-unportable-variant = "deny" +enum-glob-use = "allow" +enum-variant-names = "warn" +eq-op = "deny" +equatable-if-let = "allow" +erasing-op = "deny" +err-expect = "warn" +error-impl-error = "allow" +excessive-nesting = "warn" +excessive-precision = "warn" +exhaustive-enums = "allow" +exhaustive-structs = "allow" +exit = "allow" +expect-fun-call = "warn" +expect-used = "allow" +expl-impl-clone-on-copy = "allow" +explicit-auto-deref = "warn" +explicit-counter-loop = "warn" +explicit-deref-methods = "allow" +explicit-into-iter-loop = "allow" +explicit-iter-loop = "allow" +explicit-write = "warn" +extend-with-drain = "warn" +extra-unused-lifetimes = "warn" +extra-unused-type-parameters = "warn" +fallible-impl-from = "allow" +field-reassign-with-default = "warn" +field-scoped-visibility-modifiers = "allow" +filetype-is-file = "allow" +filter-map-bool-then = "warn" +filter-map-identity = "warn" +filter-map-next = "allow" +filter-next = "warn" +flat-map-identity = "warn" +flat-map-option = "allow" +float-arithmetic = "allow" +float-cmp = "allow" +float-cmp-const = "allow" +float-equality-without-abs = "warn" +fn-params-excessive-bools = "allow" +fn-to-numeric-cast = "warn" +fn-to-numeric-cast-any = "allow" +fn-to-numeric-cast-with-truncation = "warn" +for-kv-map = "warn" +forget-non-drop = "warn" +format-collect = "allow" +format-in-format-args = "warn" +format-push-string = "allow" +four-forward-slashes = "warn" +from-iter-instead-of-collect = "allow" +from-over-into = "warn" +from-raw-with-void-ptr = "warn" +from-str-radix-10 = "warn" +future-not-send = "allow" +get-first = "warn" +get-last-with-len = "warn" +get-unwrap = "allow" +host-endian-bytes = "allow" +identity-op = "warn" +if-let-mutex = "deny" +if-not-else = "allow" +if-same-then-else = "warn" +if-then-some-else-none = "allow" +ifs-same-cond = "deny" +ignored-unit-patterns = "allow" +impl-hash-borrow-with-str-and-bytes = "deny" +impl-trait-in-params = "allow" +implicit-clone = "allow" +implicit-hasher = "allow" +implicit-return = "allow" +implicit-saturating-add = "warn" +implicit-saturating-sub = "warn" +implied-bounds-in-impls = "warn" +impossible-comparisons = "deny" +imprecise-flops = "allow" +incompatible-msrv = "warn" +inconsistent-digit-grouping = "warn" +inconsistent-struct-constructor = "allow" +index-refutable-slice = "allow" +indexing-slicing = "allow" +ineffective-bit-mask = "deny" +ineffective-open-options = "warn" +inefficient-to-string = "allow" +infallible-destructuring-match = "warn" +infinite-iter = "deny" +infinite-loop = "allow" +inherent-to-string = "warn" +inherent-to-string-shadow-display = "deny" +init-numbered-fields = "warn" +inline-always = "allow" +inline-asm-x86-att-syntax = "allow" +inline-asm-x86-intel-syntax = "allow" +inline-fn-without-body = "deny" +inspect-for-each = "warn" +int-plus-one = "warn" +integer-division = "allow" +integer-division-remainder-used = "allow" +into-iter-on-ref = "warn" +into-iter-without-iter = "allow" +invalid-null-ptr-usage = "deny" +invalid-regex = "deny" +invalid-upcast-comparisons = "allow" +inverted-saturating-sub = "deny" +invisible-characters = "deny" +is-digit-ascii-radix = "warn" +items-after-statements = "allow" +items-after-test-module = "warn" +iter-cloned-collect = "warn" +iter-count = "warn" +iter-filter-is-ok = "allow" +iter-filter-is-some = "allow" +iter-kv-map = "warn" +iter-next-loop = "deny" +iter-next-slice = "warn" +iter-not-returning-iterator = "allow" +iter-nth = "warn" +iter-nth-zero = "warn" +iter-on-empty-collections = "allow" +iter-on-single-items = "allow" +iter-out-of-bounds = "warn" +iter-over-hash-type = "allow" +iter-overeager-cloned = "warn" +iter-skip-next = "warn" +iter-skip-zero = "deny" +iter-with-drain = "allow" +iter-without-into-iter = "allow" +iterator-step-by-zero = "deny" +join-absolute-paths = "warn" +just-underscores-and-digits = "warn" +large-const-arrays = "warn" +large-digit-groups = "allow" +large-enum-variant = "warn" +large-futures = "allow" +large-include-file = "allow" +large-stack-arrays = "allow" +large-stack-frames = "allow" +large-types-passed-by-value = "allow" +legacy-numeric-constants = "warn" +len-without-is-empty = "warn" +len-zero = "warn" +let-and-return = "warn" +let-underscore-future = "warn" +let-underscore-lock = "deny" +let-underscore-must-use = "allow" +let-underscore-untyped = "allow" +let-unit-value = "warn" +let-with-type-underscore = "warn" +lines-filter-map-ok = "warn" +linkedlist = "allow" +lint-groups-priority = "deny" +literal-string-with-formatting-args = "allow" +little-endian-bytes = "allow" +lossy-float-literal = "allow" +macro-metavars-in-unsafe = "warn" +macro-use-imports = "allow" +main-recursion = "warn" +manual-assert = "allow" +manual-async-fn = "warn" +manual-bits = "warn" +manual-c-str-literals = "warn" +manual-clamp = "warn" +manual-div-ceil = "warn" +manual-filter = "warn" +manual-filter-map = "warn" +manual-find = "warn" +manual-find-map = "warn" +manual-flatten = "warn" +manual-hash-one = "warn" +manual-ignore-case-cmp = "warn" +manual-inspect = "warn" +manual-instant-elapsed = "allow" +manual-is-ascii-check = "warn" +manual-is-finite = "warn" +manual-is-infinite = "warn" +manual-is-power-of-two = "allow" +manual-is-variant-and = "allow" +manual-let-else = "allow" +manual-main-separator-str = "warn" +manual-map = "warn" +manual-memcpy = "warn" +manual-next-back = "warn" +manual-non-exhaustive = "warn" +manual-ok-err = "warn" +manual-ok-or = "allow" +manual-option-as-slice = "warn" +manual-pattern-char-comparison = "warn" +manual-range-contains = "warn" +manual-range-patterns = "warn" +manual-rem-euclid = "warn" +manual-repeat-n = "warn" +manual-retain = "warn" +manual-rotate = "warn" +manual-saturating-arithmetic = "warn" +manual-slice-fill = "warn" +manual-slice-size-calculation = "warn" +manual-split-once = "warn" +manual-str-repeat = "warn" +manual-string-new = "allow" +manual-strip = "warn" +manual-swap = "warn" +manual-try-fold = "warn" +manual-unwrap-or = "warn" +manual-unwrap-or-default = "warn" +manual-while-let-some = "warn" +many-single-char-names = "allow" +map-all-any-identity = "warn" +map-clone = "warn" +map-collect-result-unit = "warn" +map-entry = "warn" +map-err-ignore = "allow" +map-flatten = "warn" +map-identity = "warn" +map-unwrap-or = "allow" +map-with-unused-argument-over-ranges = "allow" +match-as-ref = "warn" +match-bool = "allow" +match-like-matches-macro = "warn" +match-on-vec-items = "allow" +match-overlapping-arm = "warn" +match-ref-pats = "warn" +match-result-ok = "warn" +match-same-arms = "allow" +match-single-binding = "warn" +match-str-case-mismatch = "deny" +match-wild-err-arm = "allow" +match-wildcard-for-single-variants = "allow" +maybe-infinite-iter = "allow" +mem-forget = "allow" +mem-replace-option-with-none = "warn" +mem-replace-with-default = "warn" +mem-replace-with-uninit = "deny" +min-ident-chars = "allow" +min-max = "deny" +mismatching-type-param-order = "allow" +misnamed-getters = "warn" +misrefactored-assign-op = "warn" +missing-assert-message = "allow" +missing-asserts-for-indexing = "allow" +missing-const-for-fn = "allow" +missing-const-for-thread-local = "warn" +missing-docs-in-private-items = "allow" +missing-enforced-import-renames = "warn" +missing-errors-doc = "allow" +missing-fields-in-debug = "allow" +missing-inline-in-public-items = "allow" +missing-panics-doc = "allow" +missing-safety-doc = "warn" +missing-spin-loop = "warn" +missing-trait-methods = "allow" +missing-transmute-annotations = "warn" +mistyped-literal-suffixes = "deny" +mixed-attributes-style = "warn" +mixed-case-hex-literals = "warn" +mixed-read-write-in-expression = "allow" +mod-module-files = "allow" +module-inception = "warn" +module-name-repetitions = "allow" +modulo-arithmetic = "allow" +modulo-one = "deny" +multi-assignments = "warn" +multiple-bound-locations = "warn" +multiple-crate-versions = "allow" +multiple-inherent-impl = "allow" +multiple-unsafe-ops-per-block = "allow" +must-use-candidate = "allow" +must-use-unit = "warn" +mut-from-ref = "deny" +mut-mut = "allow" +mut-mutex-lock = "warn" +mut-range-bound = "warn" +mutable-key-type = "warn" +mutex-atomic = "allow" +mutex-integer = "allow" +naive-bytecount = "allow" +needless-arbitrary-self-type = "warn" +needless-as-bytes = "warn" +needless-bitwise-bool = "allow" +needless-bool = "warn" +needless-bool-assign = "warn" +needless-borrow = "warn" +needless-borrowed-reference = "warn" +needless-borrows-for-generic-args = "warn" +needless-character-iteration = "warn" +needless-collect = "allow" +needless-continue = "allow" +needless-doctest-main = "warn" +needless-else = "warn" +needless-for-each = "allow" +needless-if = "warn" +needless-late-init = "warn" +needless-lifetimes = "warn" +needless-match = "warn" +needless-maybe-sized = "warn" +needless-option-as-deref = "warn" +needless-option-take = "warn" +needless-parens-on-range-literals = "warn" +needless-pass-by-ref-mut = "allow" +needless-pass-by-value = "allow" +needless-pub-self = "warn" +needless-question-mark = "warn" +needless-range-loop = "warn" +needless-raw-string-hashes = "allow" +needless-raw-strings = "allow" +needless-return = "warn" +needless-return-with-question-mark = "warn" +needless-splitn = "warn" +needless-update = "warn" +neg-cmp-op-on-partial-ord = "warn" +neg-multiply = "warn" +negative-feature-names = "allow" +never-loop = "deny" +new-ret-no-self = "warn" +new-without-default = "warn" +no-effect = "warn" +no-effect-replace = "warn" +no-effect-underscore-binding = "allow" +no-mangle-with-rust-abi = "allow" +non-ascii-literal = "allow" +non-canonical-clone-impl = "warn" +non-canonical-partial-ord-impl = "warn" +non-minimal-cfg = "warn" +non-octal-unix-permissions = "deny" +non-send-fields-in-send-ty = "allow" +non-std-lazy-statics = "allow" +non-zero-suggestions = "allow" +nonminimal-bool = "warn" +nonsensical-open-options = "deny" +nonstandard-macro-braces = "allow" +not-unsafe-ptr-arg-deref = "deny" +obfuscated-if-else = "warn" +octal-escapes = "warn" +ok-expect = "warn" +only-used-in-recursion = "warn" +op-ref = "warn" +option-as-ref-cloned = "allow" +option-as-ref-deref = "warn" +option-env-unwrap = "deny" +option-filter-map = "warn" +option-if-let-else = "allow" +option-map-or-err-ok = "warn" +option-map-or-none = "warn" +option-map-unit-fn = "warn" +option-option = "allow" +or-fun-call = "allow" +or-then-unwrap = "warn" +out-of-bounds-indexing = "deny" +overly-complex-bool-expr = "deny" +panic = "allow" +panic-in-result-fn = "allow" +panicking-overflow-checks = "deny" +panicking-unwrap = "deny" +partial-pub-fields = "allow" +partialeq-ne-impl = "warn" +partialeq-to-none = "warn" +path-buf-push-overwrite = "allow" +path-ends-with-ext = "warn" +pathbuf-init-then-push = "allow" +pattern-type-mismatch = "allow" +permissions-set-readonly-false = "warn" +pointers-in-nomem-asm-block = "warn" +possible-missing-comma = "deny" +precedence = "warn" +precedence-bits = "allow" +print-in-format-impl = "warn" +print-literal = "warn" +print-stderr = "allow" +print-stdout = "allow" +print-with-newline = "warn" +println-empty-string = "warn" +ptr-arg = "warn" +ptr-as-ptr = "allow" +ptr-cast-constness = "allow" +ptr-eq = "warn" +ptr-offset-with-cast = "warn" +pub-underscore-fields = "allow" +pub-use = "allow" +pub-with-shorthand = "allow" +pub-without-shorthand = "allow" +question-mark = "warn" +question-mark-used = "allow" +range-minus-one = "allow" +range-plus-one = "allow" +range-zip-with-len = "warn" +rc-buffer = "allow" +rc-clone-in-vec-init = "warn" +rc-mutex = "allow" +read-line-without-trim = "deny" +read-zero-byte-vec = "allow" +readonly-write-lock = "warn" +recursive-format-impl = "deny" +redundant-allocation = "warn" +redundant-as-str = "warn" +redundant-async-block = "warn" +redundant-at-rest-pattern = "warn" +redundant-clone = "allow" +redundant-closure = "warn" +redundant-closure-call = "warn" +redundant-closure-for-method-calls = "allow" +redundant-comparisons = "deny" +redundant-else = "allow" +redundant-feature-names = "allow" +redundant-field-names = "warn" +redundant-guards = "warn" +redundant-locals = "warn" +redundant-pattern = "warn" +redundant-pattern-matching = "warn" +redundant-pub-crate = "allow" +redundant-slicing = "warn" +redundant-static-lifetimes = "warn" +redundant-type-annotations = "allow" +ref-as-ptr = "allow" +ref-binding-to-reference = "allow" +ref-option = "allow" +ref-option-ref = "allow" +ref-patterns = "allow" +regex-creation-in-loops = "warn" +renamed-function-params = "allow" +repeat-once = "warn" +repeat-vec-with-capacity = "warn" +repr-packed-without-abi = "warn" +reserve-after-initialization = "warn" +rest-pat-in-fully-bound-structs = "allow" +result-filter-map = "warn" +result-large-err = "warn" +result-map-or-into-option = "warn" +result-map-unit-fn = "warn" +result-unit-err = "warn" +return-and-then = "allow" +return-self-not-must-use = "allow" +reversed-empty-ranges = "deny" +same-functions-in-if-condition = "allow" +same-item-push = "warn" +same-name-method = "allow" +search-is-some = "warn" +seek-from-current = "warn" +seek-to-start-instead-of-rewind = "warn" +self-assignment = "deny" +self-named-constructors = "warn" +self-named-module-files = "allow" +semicolon-if-nothing-returned = "allow" +semicolon-inside-block = "allow" +semicolon-outside-block = "allow" +separated-literal-suffix = "allow" +serde-api-misuse = "deny" +set-contains-or-insert = "allow" +shadow-reuse = "allow" +shadow-same = "allow" +shadow-unrelated = "allow" +short-circuit-statement = "warn" +should-implement-trait = "warn" +should-panic-without-expect = "allow" +significant-drop-in-scrutinee = "allow" +significant-drop-tightening = "allow" +similar-names = "allow" +single-call-fn = "allow" +single-char-add-str = "warn" +single-char-lifetime-names = "allow" +single-char-pattern = "allow" +single-component-path-imports = "warn" +single-element-loop = "warn" +single-match = "warn" +single-match-else = "allow" +single-range-in-vec-init = "warn" +size-of-in-element-count = "deny" +size-of-ref = "warn" +skip-while-next = "warn" +sliced-string-as-bytes = "warn" +slow-vector-initialization = "warn" +stable-sort-primitive = "allow" +std-instead-of-alloc = "allow" +std-instead-of-core = "allow" +str-split-at-newline = "allow" +str-to-string = "allow" +string-add = "allow" +string-add-assign = "allow" +string-extend-chars = "warn" +string-from-utf8-as-bytes = "warn" +string-lit-as-bytes = "allow" +string-lit-chars-any = "allow" +string-slice = "allow" +string-to-string = "allow" +strlen-on-c-strings = "warn" +struct-excessive-bools = "allow" +struct-field-names = "allow" +suboptimal-flops = "allow" +suspicious-arithmetic-impl = "warn" +suspicious-assignment-formatting = "warn" +suspicious-command-arg-space = "warn" +suspicious-doc-comments = "warn" +suspicious-else-formatting = "warn" +suspicious-map = "warn" +suspicious-op-assign-impl = "warn" +suspicious-open-options = "warn" +suspicious-operation-groupings = "allow" +suspicious-splitn = "deny" +suspicious-to-owned = "warn" +suspicious-unary-op-formatting = "warn" +suspicious-xor-used-as-pow = "allow" +swap-ptr-to-ref = "warn" +tabs-in-doc-comments = "warn" +temporary-assignment = "warn" +test-attr-in-doctest = "warn" +tests-outside-test-module = "allow" +to-digit-is-some = "warn" +to-string-in-format-args = "warn" +to-string-trait-impl = "warn" +todo = "allow" +too-long-first-doc-paragraph = "allow" +too-many-arguments = "warn" +too-many-lines = "allow" +toplevel-ref-arg = "warn" +trailing-empty-array = "allow" +trait-duplication-in-bounds = "allow" +transmute-bytes-to-str = "warn" +transmute-float-to-int = "warn" +transmute-int-to-bool = "warn" +transmute-int-to-char = "warn" +transmute-int-to-float = "warn" +transmute-int-to-non-zero = "warn" +transmute-null-to-fn = "deny" +transmute-num-to-bytes = "warn" +transmute-ptr-to-ptr = "allow" +transmute-ptr-to-ref = "warn" +transmute-undefined-repr = "allow" +transmutes-expressible-as-ptr-casts = "warn" +transmuting-null = "deny" +trim-split-whitespace = "warn" +trivial-regex = "allow" +trivially-copy-pass-by-ref = "allow" +try-err = "allow" +tuple-array-conversions = "allow" +type-complexity = "warn" +type-id-on-box = "warn" +type-repetition-in-bounds = "allow" +unchecked-duration-subtraction = "allow" +unconditional-recursion = "warn" +undocumented-unsafe-blocks = "allow" +unicode-not-nfc = "allow" +unimplemented = "allow" +uninhabited-references = "allow" +uninit-assumed-init = "deny" +uninit-vec = "deny" +uninlined-format-args = "allow" +unit-arg = "warn" +unit-cmp = "deny" +unit-hash = "deny" +unit-return-expecting-ord = "deny" +unnecessary-box-returns = "allow" +unnecessary-cast = "warn" +unnecessary-clippy-cfg = "warn" +unnecessary-fallible-conversions = "warn" +unnecessary-filter-map = "warn" +unnecessary-find-map = "warn" +unnecessary-first-then-check = "warn" +unnecessary-fold = "warn" +unnecessary-get-then-check = "warn" +unnecessary-join = "allow" +unnecessary-lazy-evaluations = "warn" +unnecessary-literal-bound = "allow" +unnecessary-literal-unwrap = "warn" +unnecessary-map-on-constructor = "warn" +unnecessary-map-or = "warn" +unnecessary-min-or-max = "warn" +unnecessary-mut-passed = "warn" +unnecessary-operation = "warn" +unnecessary-owned-empty-strings = "warn" +unnecessary-result-map-or-else = "warn" +unnecessary-safety-comment = "allow" +unnecessary-safety-doc = "allow" +unnecessary-self-imports = "allow" +unnecessary-semicolon = "allow" +unnecessary-sort-by = "warn" +unnecessary-struct-initialization = "allow" +unnecessary-to-owned = "warn" +unnecessary-unwrap = "warn" +unnecessary-wraps = "allow" +unneeded-field-pattern = "allow" +unneeded-struct-pattern = "warn" +unneeded-wildcard-pattern = "warn" +unnested-or-patterns = "allow" +unreachable = "allow" +unreadable-literal = "allow" +unsafe-derive-deserialize = "allow" +unsafe-removed-from-name = "warn" +unseparated-literal-suffix = "allow" +unsound-collection-transmute = "deny" +unused-async = "allow" +unused-enumerate-index = "warn" +unused-format-specs = "warn" +unused-io-amount = "deny" +unused-peekable = "allow" +unused-result-ok = "allow" +unused-rounding = "allow" +unused-self = "allow" +unused-trait-names = "allow" +unused-unit = "warn" +unusual-byte-groupings = "warn" +unwrap-in-result = "allow" +unwrap-or-default = "warn" +unwrap-used = "allow" +upper-case-acronyms = "warn" +use-debug = "allow" +use-self = "allow" +used-underscore-binding = "allow" +used-underscore-items = "allow" +useless-asref = "warn" +useless-attribute = "deny" +useless-conversion = "warn" +useless-format = "warn" +useless-let-if-seq = "allow" +useless-nonzero-new-unchecked = "warn" +useless-transmute = "warn" +useless-vec = "warn" +vec-box = "warn" +vec-init-then-push = "warn" +vec-resize-to-zero = "deny" +verbose-bit-mask = "allow" +verbose-file-reads = "allow" +waker-clone-wake = "warn" +while-float = "allow" +while-immutable-condition = "deny" +while-let-loop = "warn" +while-let-on-iterator = "warn" +wildcard-dependencies = "allow" +wildcard-enum-match-arm = "allow" +wildcard-imports = "allow" +wildcard-in-or-patterns = "warn" +write-literal = "warn" +write-with-newline = "warn" +writeln-empty-string = "warn" +wrong-self-convention = "warn" +wrong-transmute = "deny" +zero-divided-by-zero = "warn" +zero-prefixed-literal = "warn" +zero-ptr = "warn" +zero-repeat-side-effects = "warn" +zero-sized-map-values = "allow" +zombie-processes = "warn" +zst-offset = "deny" + +[workspace.lints.rust] +abi-unsupported-vector-types = "warn" +absolute-paths-not-starting-with-crate = "allow" +ambiguous-associated-items = "deny" +ambiguous-glob-imports = "warn" +ambiguous-glob-reexports = "warn" +ambiguous-negative-literals = "allow" +ambiguous-wide-pointer-comparisons = "warn" +anonymous-parameters = "warn" +arithmetic-overflow = "deny" +array-into-iter = "warn" +asm-sub-register = "warn" +async-fn-in-trait = "warn" +bad-asm-style = "warn" +bare-trait-objects = "warn" +binary-asm-labels = "deny" +bindings-with-variant-name = "deny" +boxed-slice-into-iter = "warn" +break-with-label-and-loop = "warn" +clashing-extern-declarations = "warn" +closure-returning-async-block = "allow" +coherence-leak-check = "warn" +conflicting-repr-hints = "deny" +confusable-idents = "warn" +const-evaluatable-unchecked = "warn" +const-item-mutation = "warn" +dangling-pointers-from-temporaries = "warn" +dead-code = "warn" +default-overrides-default-fields = "deny" +dependency-on-unit-never-type-fallback = "warn" +deprecated = "warn" +deprecated-in-future = "allow" +deprecated-safe-2024 = "allow" +deprecated-where-clause-location = "warn" +deref-into-dyn-supertrait = "allow" +deref-nullptr = "warn" +double-negations = "warn" +drop-bounds = "warn" +dropping-copy-types = "warn" +dropping-references = "warn" +duplicate-macro-attributes = "warn" +dyn-drop = "warn" +edition-2024-expr-fragment-specifier = "allow" +elided-lifetimes-in-associated-constant = "deny" +elided-lifetimes-in-paths = "allow" +elided-named-lifetimes = "warn" +ellipsis-inclusive-range-patterns = "warn" +enum-intrinsics-non-enums = "deny" +explicit-builtin-cfgs-in-flags = "deny" +explicit-outlives-requirements = "allow" +exported-private-dependencies = "warn" +ffi-unwind-calls = "allow" +for-loops-over-fallibles = "warn" +forbidden-lint-groups = "warn" +forgetting-copy-types = "warn" +forgetting-references = "warn" +function-item-references = "warn" +fuzzy-provenance-casts = "allow" +hidden-glob-reexports = "warn" +if-let-rescope = "allow" +ill-formed-attribute-input = "deny" +impl-trait-overcaptures = "allow" +impl-trait-redundant-captures = "allow" +improper-ctypes = "warn" +improper-ctypes-definitions = "warn" +incomplete-features = "warn" +incomplete-include = "deny" +ineffective-unstable-trait-impl = "deny" +inline-no-sanitize = "warn" +internal-features = "warn" +invalid-atomic-ordering = "deny" +invalid-doc-attributes = "deny" +invalid-from-utf8 = "warn" +invalid-from-utf8-unchecked = "deny" +invalid-macro-export-arguments = "warn" +invalid-nan-comparisons = "warn" +invalid-reference-casting = "deny" +invalid-type-param-default = "deny" +invalid-value = "warn" +irrefutable-let-patterns = "warn" +keyword-idents-2018 = "allow" +keyword-idents-2024 = "allow" +large-assignments = "warn" +late-bound-lifetime-arguments = "warn" +legacy-derive-helpers = "warn" +let-underscore-drop = "allow" +let-underscore-lock = "deny" +linker-messages = "allow" +long-running-const-eval = "deny" +lossy-provenance-casts = "allow" +macro-expanded-macro-exports-accessed-by-absolute-paths = "deny" +macro-use-extern-crate = "allow" +map-unit-fn = "warn" +meta-variable-misuse = "allow" +missing-abi = "warn" +missing-copy-implementations = "allow" +missing-debug-implementations = "allow" +missing-docs = "allow" +missing-fragment-specifier = "deny" +missing-unsafe-on-extern = "allow" +mixed-script-confusables = "warn" +multiple-supertrait-upcastable = "allow" +must-not-suspend = "allow" +mutable-transmutes = "deny" +named-arguments-used-positionally = "warn" +named-asm-labels = "deny" +never-type-fallback-flowing-into-unsafe = "warn" +no-mangle-const-items = "deny" +no-mangle-generic-items = "warn" +non-ascii-idents = "allow" +non-camel-case-types = "warn" +non-contiguous-range-endpoints = "warn" +non-exhaustive-omitted-patterns = "allow" +non-fmt-panics = "warn" +non-local-definitions = "warn" +non-shorthand-field-patterns = "warn" +non-snake-case = "warn" +non-upper-case-globals = "warn" +noop-method-call = "warn" +opaque-hidden-inferred-bound = "warn" +order-dependent-trait-objects = "deny" +out-of-scope-macro-calls = "warn" +overflowing-literals = "deny" +overlapping-range-endpoints = "warn" +path-statements = "warn" +patterns-in-fns-without-body = "deny" +private-bounds = "warn" +private-interfaces = "warn" +proc-macro-derive-resolution-fallback = "deny" +ptr-cast-add-auto-to-object = "warn" +ptr-to-integer-transmute-in-consts = "warn" +pub-use-of-private-extern-crate = "deny" +redundant-imports = "allow" +redundant-lifetimes = "allow" +redundant-semicolons = "warn" +refining-impl-trait-internal = "warn" +refining-impl-trait-reachable = "warn" +renamed-and-removed-lints = "warn" +repr-transparent-external-private-fields = "warn" +rust-2021-incompatible-closure-captures = "allow" +rust-2021-incompatible-or-patterns = "allow" +rust-2021-prefixes-incompatible-syntax = "allow" +rust-2021-prelude-collisions = "allow" +rust-2024-guarded-string-incompatible-syntax = "allow" +rust-2024-incompatible-pat = "allow" +rust-2024-prelude-collisions = "allow" +self-constructor-from-outer-item = "warn" +semicolon-in-expressions-from-macros = "warn" +single-use-lifetimes = "allow" +soft-unstable = "deny" +special-module-name = "warn" +stable-features = "warn" +static-mut-refs = "warn" +supertrait-item-shadowing-definition = "allow" +supertrait-item-shadowing-usage = "allow" +suspicious-double-ref-op = "warn" +tail-expr-drop-order = "allow" +test-unstable-lint = "deny" +text-direction-codepoint-in-comment = "deny" +text-direction-codepoint-in-literal = "deny" +trivial-bounds = "warn" +trivial-casts = "allow" +trivial-numeric-casts = "allow" +type-alias-bounds = "warn" +tyvar-behind-raw-pointer = "warn" +uncommon-codepoints = "warn" +unconditional-panic = "deny" +unconditional-recursion = "warn" +uncovered-param-in-projection = "warn" +undefined-naked-function-abi = "warn" +undropped-manually-drops = "deny" +unexpected-cfgs = "warn" +unfulfilled-lint-expectations = "warn" +ungated-async-fn-track-caller = "warn" +uninhabited-static = "warn" +unit-bindings = "allow" +unknown-crate-types = "deny" +unknown-lints = "warn" +unknown-or-malformed-diagnostic-attributes = "warn" +unnameable-test-items = "warn" +unnameable-types = "allow" +unpredictable-function-pointer-comparisons = "warn" +unqualified-local-imports = "allow" +unreachable-code = "warn" +unreachable-patterns = "warn" +unreachable-pub = "allow" +unsafe-attr-outside-unsafe = "allow" +unsafe-code = "allow" +unsafe-op-in-unsafe-fn = "allow" +unstable-features = "allow" +unstable-name-collisions = "warn" +unstable-syntax-pre-expansion = "warn" +unsupported-fn-ptr-calling-conventions = "warn" +unused-allocation = "warn" +unused-assignments = "warn" +unused-associated-type-bounds = "warn" +unused-attributes = "warn" +unused-braces = "warn" +unused-comparisons = "warn" +unused-crate-dependencies = "allow" +unused-doc-comments = "warn" +unused-extern-crates = "allow" +unused-features = "warn" +unused-import-braces = "allow" +unused-imports = "warn" +unused-labels = "warn" +unused-lifetimes = "allow" +unused-macro-rules = "allow" +unused-macros = "warn" +unused-must-use = "warn" +unused-mut = "warn" +unused-parens = "warn" +unused-qualifications = "allow" +unused-results = "allow" +unused-unsafe = "warn" +unused-variables = "warn" +useless-deprecated = "deny" +useless-ptr-null-checks = "warn" +uses-power-alignment = "warn" +variant-size-differences = "allow" +warnings = "warn" +while-true = "warn" + +[workspace.lints.rustdoc] +bare-urls = "warn" +broken-intra-doc-links = "warn" +invalid-codeblock-attributes = "warn" +invalid-html-tags = "warn" +invalid-rust-codeblocks = "warn" +missing-crate-level-docs = "allow" +missing-doc-code-examples = "allow" +private-doc-tests = "allow" +private-intra-doc-links = "warn" +redundant-explicit-links = "warn" +unescaped-backticks = "allow" +unportable-markdown = "warn" diff --git a/lints/1.87.toml b/lints/1.87.toml new file mode 100644 index 0000000..cc4a1b8 --- /dev/null +++ b/lints/1.87.toml @@ -0,0 +1,1015 @@ +[workspace.lints.clippy] +absolute-paths = "allow" +absurd-extreme-comparisons = "deny" +alloc-instead-of-core = "allow" +allow-attributes = "allow" +allow-attributes-without-reason = "allow" +almost-complete-range = "warn" +almost-swapped = "deny" +approx-constant = "deny" +arbitrary-source-item-ordering = "allow" +arc-with-non-send-sync = "warn" +arithmetic-side-effects = "allow" +as-conversions = "allow" +as-pointer-underscore = "allow" +as-ptr-cast-mut = "allow" +as-underscore = "allow" +assertions-on-constants = "warn" +assertions-on-result-states = "allow" +assign-op-pattern = "warn" +assigning-clones = "allow" +async-yields-async = "deny" +await-holding-invalid-type = "warn" +await-holding-lock = "warn" +await-holding-refcell-ref = "warn" +bad-bit-mask = "deny" +big-endian-bytes = "allow" +bind-instead-of-map = "warn" +blanket-clippy-restriction-lints = "warn" +blocks-in-conditions = "warn" +bool-assert-comparison = "warn" +bool-comparison = "warn" +bool-to-int-with-if = "allow" +borrow-as-ptr = "allow" +borrow-deref-ref = "warn" +borrow-interior-mutable-const = "warn" +borrowed-box = "warn" +box-collection = "warn" +box-default = "warn" +boxed-local = "warn" +branches-sharing-code = "allow" +builtin-type-shadow = "warn" +byte-char-slices = "warn" +bytes-count-to-len = "warn" +bytes-nth = "warn" +cargo-common-metadata = "allow" +case-sensitive-file-extension-comparisons = "allow" +cast-abs-to-unsigned = "warn" +cast-enum-constructor = "warn" +cast-enum-truncation = "warn" +cast-lossless = "allow" +cast-nan-to-int = "warn" +cast-possible-truncation = "allow" +cast-possible-wrap = "allow" +cast-precision-loss = "allow" +cast-ptr-alignment = "allow" +cast-sign-loss = "allow" +cast-slice-different-sizes = "deny" +cast-slice-from-raw-parts = "warn" +cfg-not-test = "allow" +char-lit-as-u8 = "warn" +chars-last-cmp = "warn" +chars-next-cmp = "warn" +checked-conversions = "allow" +clear-with-drain = "allow" +clone-on-copy = "warn" +clone-on-ref-ptr = "allow" +cloned-instead-of-copied = "allow" +cmp-null = "warn" +cmp-owned = "warn" +cognitive-complexity = "allow" +collapsible-else-if = "warn" +collapsible-if = "warn" +collapsible-match = "warn" +collapsible-str-replace = "warn" +collection-is-never-read = "allow" +comparison-chain = "allow" +comparison-to-empty = "warn" +const-is-empty = "warn" +copy-iterator = "allow" +crate-in-macro-def = "warn" +create-dir = "allow" +crosspointer-transmute = "warn" +dbg-macro = "allow" +debug-assert-with-mut-call = "allow" +decimal-literal-representation = "allow" +declare-interior-mutable-const = "warn" +default-constructed-unit-structs = "warn" +default-instead-of-iter-empty = "warn" +default-numeric-fallback = "allow" +default-trait-access = "allow" +default-union-representation = "allow" +deprecated-cfg-attr = "warn" +deprecated-clippy-cfg-attr = "warn" +deprecated-semver = "deny" +deref-addrof = "warn" +deref-by-slicing = "allow" +derivable-impls = "warn" +derive-ord-xor-partial-ord = "deny" +derive-partial-eq-without-eq = "allow" +derived-hash-with-manual-eq = "deny" +disallowed-macros = "warn" +disallowed-methods = "warn" +disallowed-names = "warn" +disallowed-script-idents = "allow" +disallowed-types = "warn" +diverging-sub-expression = "warn" +doc-comment-double-space-linebreaks = "allow" +doc-include-without-cfg = "allow" +doc-lazy-continuation = "warn" +doc-link-code = "allow" +doc-link-with-quotes = "allow" +doc-markdown = "allow" +doc-nested-refdefs = "warn" +doc-overindented-list-items = "warn" +double-comparisons = "warn" +double-ended-iterator-last = "warn" +double-must-use = "warn" +double-parens = "warn" +drain-collect = "warn" +drop-non-drop = "warn" +duplicate-mod = "warn" +duplicate-underscore-argument = "warn" +duplicated-attributes = "warn" +duration-subsec = "warn" +eager-transmute = "deny" +elidable-lifetime-names = "allow" +else-if-without-else = "allow" +empty-docs = "warn" +empty-drop = "allow" +empty-enum = "allow" +empty-enum-variants-with-brackets = "allow" +empty-line-after-doc-comments = "warn" +empty-line-after-outer-attr = "warn" +empty-loop = "warn" +empty-structs-with-brackets = "allow" +enum-clike-unportable-variant = "deny" +enum-glob-use = "allow" +enum-variant-names = "warn" +eq-op = "deny" +equatable-if-let = "allow" +erasing-op = "deny" +err-expect = "warn" +error-impl-error = "allow" +excessive-nesting = "warn" +excessive-precision = "warn" +exhaustive-enums = "allow" +exhaustive-structs = "allow" +exit = "allow" +expect-fun-call = "warn" +expect-used = "allow" +expl-impl-clone-on-copy = "allow" +explicit-auto-deref = "warn" +explicit-counter-loop = "warn" +explicit-deref-methods = "allow" +explicit-into-iter-loop = "allow" +explicit-iter-loop = "allow" +explicit-write = "warn" +extend-with-drain = "warn" +extra-unused-lifetimes = "warn" +extra-unused-type-parameters = "warn" +fallible-impl-from = "allow" +field-reassign-with-default = "warn" +field-scoped-visibility-modifiers = "allow" +filetype-is-file = "allow" +filter-map-bool-then = "warn" +filter-map-identity = "warn" +filter-map-next = "allow" +filter-next = "warn" +flat-map-identity = "warn" +flat-map-option = "allow" +float-arithmetic = "allow" +float-cmp = "allow" +float-cmp-const = "allow" +float-equality-without-abs = "warn" +fn-params-excessive-bools = "allow" +fn-to-numeric-cast = "warn" +fn-to-numeric-cast-any = "allow" +fn-to-numeric-cast-with-truncation = "warn" +for-kv-map = "warn" +forget-non-drop = "warn" +format-collect = "allow" +format-in-format-args = "warn" +format-push-string = "allow" +four-forward-slashes = "warn" +from-iter-instead-of-collect = "allow" +from-over-into = "warn" +from-raw-with-void-ptr = "warn" +from-str-radix-10 = "warn" +future-not-send = "allow" +get-first = "warn" +get-last-with-len = "warn" +get-unwrap = "allow" +host-endian-bytes = "allow" +identity-op = "warn" +if-let-mutex = "deny" +if-not-else = "allow" +if-same-then-else = "warn" +if-then-some-else-none = "allow" +ifs-same-cond = "deny" +ignored-unit-patterns = "allow" +impl-hash-borrow-with-str-and-bytes = "deny" +impl-trait-in-params = "allow" +implicit-clone = "allow" +implicit-hasher = "allow" +implicit-return = "allow" +implicit-saturating-add = "warn" +implicit-saturating-sub = "warn" +implied-bounds-in-impls = "warn" +impossible-comparisons = "deny" +imprecise-flops = "allow" +incompatible-msrv = "warn" +inconsistent-digit-grouping = "warn" +inconsistent-struct-constructor = "allow" +index-refutable-slice = "allow" +indexing-slicing = "allow" +ineffective-bit-mask = "deny" +ineffective-open-options = "warn" +inefficient-to-string = "allow" +infallible-destructuring-match = "warn" +infinite-iter = "deny" +infinite-loop = "allow" +inherent-to-string = "warn" +inherent-to-string-shadow-display = "deny" +init-numbered-fields = "warn" +inline-always = "allow" +inline-asm-x86-att-syntax = "allow" +inline-asm-x86-intel-syntax = "allow" +inline-fn-without-body = "deny" +inspect-for-each = "warn" +int-plus-one = "warn" +integer-division = "allow" +integer-division-remainder-used = "allow" +into-iter-on-ref = "warn" +into-iter-without-iter = "allow" +invalid-null-ptr-usage = "deny" +invalid-regex = "deny" +invalid-upcast-comparisons = "allow" +inverted-saturating-sub = "deny" +invisible-characters = "deny" +io-other-error = "warn" +is-digit-ascii-radix = "warn" +items-after-statements = "allow" +items-after-test-module = "warn" +iter-cloned-collect = "warn" +iter-count = "warn" +iter-filter-is-ok = "allow" +iter-filter-is-some = "allow" +iter-kv-map = "warn" +iter-next-loop = "deny" +iter-next-slice = "warn" +iter-not-returning-iterator = "allow" +iter-nth = "warn" +iter-nth-zero = "warn" +iter-on-empty-collections = "allow" +iter-on-single-items = "allow" +iter-out-of-bounds = "warn" +iter-over-hash-type = "allow" +iter-overeager-cloned = "warn" +iter-skip-next = "warn" +iter-skip-zero = "deny" +iter-with-drain = "allow" +iter-without-into-iter = "allow" +iterator-step-by-zero = "deny" +join-absolute-paths = "warn" +just-underscores-and-digits = "warn" +large-const-arrays = "warn" +large-digit-groups = "allow" +large-enum-variant = "warn" +large-futures = "allow" +large-include-file = "allow" +large-stack-arrays = "allow" +large-stack-frames = "allow" +large-types-passed-by-value = "allow" +legacy-numeric-constants = "warn" +len-without-is-empty = "warn" +len-zero = "warn" +let-and-return = "warn" +let-underscore-future = "warn" +let-underscore-lock = "deny" +let-underscore-must-use = "allow" +let-underscore-untyped = "allow" +let-unit-value = "warn" +let-with-type-underscore = "warn" +lines-filter-map-ok = "warn" +linkedlist = "allow" +lint-groups-priority = "deny" +literal-string-with-formatting-args = "allow" +little-endian-bytes = "allow" +lossy-float-literal = "allow" +macro-metavars-in-unsafe = "warn" +macro-use-imports = "allow" +main-recursion = "warn" +manual-assert = "allow" +manual-async-fn = "warn" +manual-bits = "warn" +manual-c-str-literals = "warn" +manual-clamp = "warn" +manual-contains = "warn" +manual-div-ceil = "warn" +manual-filter = "warn" +manual-filter-map = "warn" +manual-find = "warn" +manual-find-map = "warn" +manual-flatten = "warn" +manual-hash-one = "warn" +manual-ignore-case-cmp = "warn" +manual-inspect = "warn" +manual-instant-elapsed = "allow" +manual-is-ascii-check = "warn" +manual-is-finite = "warn" +manual-is-infinite = "warn" +manual-is-power-of-two = "allow" +manual-is-variant-and = "allow" +manual-let-else = "allow" +manual-main-separator-str = "warn" +manual-map = "warn" +manual-memcpy = "warn" +manual-midpoint = "allow" +manual-next-back = "warn" +manual-non-exhaustive = "warn" +manual-ok-err = "warn" +manual-ok-or = "warn" +manual-option-as-slice = "warn" +manual-pattern-char-comparison = "warn" +manual-range-contains = "warn" +manual-range-patterns = "warn" +manual-rem-euclid = "warn" +manual-repeat-n = "warn" +manual-retain = "warn" +manual-rotate = "warn" +manual-saturating-arithmetic = "warn" +manual-slice-fill = "warn" +manual-slice-size-calculation = "warn" +manual-split-once = "warn" +manual-str-repeat = "warn" +manual-string-new = "allow" +manual-strip = "warn" +manual-swap = "warn" +manual-try-fold = "warn" +manual-unwrap-or = "warn" +manual-unwrap-or-default = "warn" +manual-while-let-some = "warn" +many-single-char-names = "allow" +map-all-any-identity = "warn" +map-clone = "warn" +map-collect-result-unit = "warn" +map-entry = "warn" +map-err-ignore = "allow" +map-flatten = "warn" +map-identity = "warn" +map-unwrap-or = "allow" +map-with-unused-argument-over-ranges = "allow" +match-as-ref = "warn" +match-bool = "allow" +match-like-matches-macro = "warn" +match-on-vec-items = "allow" +match-overlapping-arm = "warn" +match-ref-pats = "warn" +match-result-ok = "warn" +match-same-arms = "allow" +match-single-binding = "warn" +match-str-case-mismatch = "deny" +match-wild-err-arm = "allow" +match-wildcard-for-single-variants = "allow" +maybe-infinite-iter = "allow" +mem-forget = "allow" +mem-replace-option-with-none = "warn" +mem-replace-option-with-some = "warn" +mem-replace-with-default = "warn" +mem-replace-with-uninit = "deny" +min-ident-chars = "allow" +min-max = "deny" +mismatching-type-param-order = "allow" +misnamed-getters = "warn" +misrefactored-assign-op = "warn" +missing-assert-message = "allow" +missing-asserts-for-indexing = "allow" +missing-const-for-fn = "allow" +missing-const-for-thread-local = "warn" +missing-docs-in-private-items = "allow" +missing-enforced-import-renames = "warn" +missing-errors-doc = "allow" +missing-fields-in-debug = "allow" +missing-inline-in-public-items = "allow" +missing-panics-doc = "allow" +missing-safety-doc = "warn" +missing-spin-loop = "warn" +missing-trait-methods = "allow" +missing-transmute-annotations = "warn" +mistyped-literal-suffixes = "deny" +mixed-attributes-style = "warn" +mixed-case-hex-literals = "warn" +mixed-read-write-in-expression = "allow" +mod-module-files = "allow" +module-inception = "warn" +module-name-repetitions = "allow" +modulo-arithmetic = "allow" +modulo-one = "deny" +multi-assignments = "warn" +multiple-bound-locations = "warn" +multiple-crate-versions = "allow" +multiple-inherent-impl = "allow" +multiple-unsafe-ops-per-block = "allow" +must-use-candidate = "allow" +must-use-unit = "warn" +mut-from-ref = "deny" +mut-mut = "allow" +mut-mutex-lock = "warn" +mut-range-bound = "warn" +mutable-key-type = "warn" +mutex-atomic = "allow" +mutex-integer = "allow" +naive-bytecount = "allow" +needless-arbitrary-self-type = "warn" +needless-as-bytes = "warn" +needless-bitwise-bool = "allow" +needless-bool = "warn" +needless-bool-assign = "warn" +needless-borrow = "warn" +needless-borrowed-reference = "warn" +needless-borrows-for-generic-args = "warn" +needless-character-iteration = "warn" +needless-collect = "allow" +needless-continue = "allow" +needless-doctest-main = "warn" +needless-else = "warn" +needless-for-each = "allow" +needless-if = "warn" +needless-late-init = "warn" +needless-lifetimes = "warn" +needless-match = "warn" +needless-maybe-sized = "warn" +needless-option-as-deref = "warn" +needless-option-take = "warn" +needless-parens-on-range-literals = "warn" +needless-pass-by-ref-mut = "allow" +needless-pass-by-value = "allow" +needless-pub-self = "warn" +needless-question-mark = "warn" +needless-range-loop = "warn" +needless-raw-string-hashes = "allow" +needless-raw-strings = "allow" +needless-return = "warn" +needless-return-with-question-mark = "warn" +needless-splitn = "warn" +needless-update = "warn" +neg-cmp-op-on-partial-ord = "warn" +neg-multiply = "warn" +negative-feature-names = "allow" +never-loop = "deny" +new-ret-no-self = "warn" +new-without-default = "warn" +no-effect = "warn" +no-effect-replace = "warn" +no-effect-underscore-binding = "allow" +no-mangle-with-rust-abi = "allow" +non-ascii-literal = "allow" +non-canonical-clone-impl = "warn" +non-canonical-partial-ord-impl = "warn" +non-minimal-cfg = "warn" +non-octal-unix-permissions = "deny" +non-send-fields-in-send-ty = "allow" +non-std-lazy-statics = "allow" +non-zero-suggestions = "allow" +nonminimal-bool = "warn" +nonsensical-open-options = "deny" +nonstandard-macro-braces = "allow" +not-unsafe-ptr-arg-deref = "deny" +obfuscated-if-else = "warn" +octal-escapes = "warn" +ok-expect = "warn" +only-used-in-recursion = "warn" +op-ref = "warn" +option-as-ref-cloned = "allow" +option-as-ref-deref = "warn" +option-env-unwrap = "deny" +option-filter-map = "warn" +option-if-let-else = "allow" +option-map-or-none = "warn" +option-map-unit-fn = "warn" +option-option = "allow" +or-fun-call = "allow" +or-then-unwrap = "warn" +out-of-bounds-indexing = "deny" +overly-complex-bool-expr = "deny" +owned-cow = "warn" +panic = "allow" +panic-in-result-fn = "allow" +panicking-overflow-checks = "deny" +panicking-unwrap = "deny" +partial-pub-fields = "allow" +partialeq-ne-impl = "warn" +partialeq-to-none = "warn" +path-buf-push-overwrite = "allow" +path-ends-with-ext = "warn" +pathbuf-init-then-push = "allow" +pattern-type-mismatch = "allow" +permissions-set-readonly-false = "warn" +pointers-in-nomem-asm-block = "warn" +possible-missing-comma = "deny" +precedence = "warn" +precedence-bits = "allow" +print-in-format-impl = "warn" +print-literal = "warn" +print-stderr = "allow" +print-stdout = "allow" +print-with-newline = "warn" +println-empty-string = "warn" +ptr-arg = "warn" +ptr-as-ptr = "allow" +ptr-cast-constness = "allow" +ptr-eq = "warn" +ptr-offset-with-cast = "warn" +pub-underscore-fields = "allow" +pub-use = "allow" +pub-with-shorthand = "allow" +pub-without-shorthand = "allow" +question-mark = "warn" +question-mark-used = "allow" +range-minus-one = "allow" +range-plus-one = "allow" +range-zip-with-len = "warn" +rc-buffer = "allow" +rc-clone-in-vec-init = "warn" +rc-mutex = "allow" +read-line-without-trim = "deny" +read-zero-byte-vec = "allow" +readonly-write-lock = "warn" +recursive-format-impl = "deny" +redundant-allocation = "warn" +redundant-as-str = "warn" +redundant-async-block = "warn" +redundant-at-rest-pattern = "warn" +redundant-clone = "allow" +redundant-closure = "warn" +redundant-closure-call = "warn" +redundant-closure-for-method-calls = "allow" +redundant-comparisons = "deny" +redundant-else = "allow" +redundant-feature-names = "allow" +redundant-field-names = "warn" +redundant-guards = "warn" +redundant-locals = "warn" +redundant-pattern = "warn" +redundant-pattern-matching = "warn" +redundant-pub-crate = "allow" +redundant-slicing = "warn" +redundant-static-lifetimes = "warn" +redundant-type-annotations = "allow" +ref-as-ptr = "allow" +ref-binding-to-reference = "allow" +ref-option = "allow" +ref-option-ref = "allow" +ref-patterns = "allow" +regex-creation-in-loops = "warn" +renamed-function-params = "allow" +repeat-once = "warn" +repeat-vec-with-capacity = "warn" +repr-packed-without-abi = "warn" +reserve-after-initialization = "warn" +rest-pat-in-fully-bound-structs = "allow" +result-filter-map = "warn" +result-large-err = "warn" +result-map-or-into-option = "warn" +result-map-unit-fn = "warn" +result-unit-err = "warn" +return-and-then = "allow" +return-self-not-must-use = "allow" +reversed-empty-ranges = "deny" +same-functions-in-if-condition = "allow" +same-item-push = "warn" +same-name-method = "allow" +search-is-some = "warn" +seek-from-current = "warn" +seek-to-start-instead-of-rewind = "warn" +self-assignment = "deny" +self-named-constructors = "warn" +self-named-module-files = "allow" +semicolon-if-nothing-returned = "allow" +semicolon-inside-block = "allow" +semicolon-outside-block = "allow" +separated-literal-suffix = "allow" +serde-api-misuse = "deny" +set-contains-or-insert = "allow" +shadow-reuse = "allow" +shadow-same = "allow" +shadow-unrelated = "allow" +short-circuit-statement = "warn" +should-implement-trait = "warn" +should-panic-without-expect = "allow" +significant-drop-in-scrutinee = "allow" +significant-drop-tightening = "allow" +similar-names = "allow" +single-call-fn = "allow" +single-char-add-str = "warn" +single-char-lifetime-names = "allow" +single-char-pattern = "allow" +single-component-path-imports = "warn" +single-element-loop = "warn" +single-match = "warn" +single-match-else = "allow" +single-option-map = "allow" +single-range-in-vec-init = "warn" +size-of-in-element-count = "deny" +size-of-ref = "warn" +skip-while-next = "warn" +sliced-string-as-bytes = "warn" +slow-vector-initialization = "warn" +stable-sort-primitive = "allow" +std-instead-of-alloc = "allow" +std-instead-of-core = "allow" +str-split-at-newline = "allow" +str-to-string = "allow" +string-add = "allow" +string-add-assign = "allow" +string-extend-chars = "warn" +string-from-utf8-as-bytes = "warn" +string-lit-as-bytes = "allow" +string-lit-chars-any = "allow" +string-slice = "allow" +string-to-string = "allow" +strlen-on-c-strings = "warn" +struct-excessive-bools = "allow" +struct-field-names = "allow" +suboptimal-flops = "allow" +suspicious-arithmetic-impl = "warn" +suspicious-assignment-formatting = "warn" +suspicious-command-arg-space = "warn" +suspicious-doc-comments = "warn" +suspicious-else-formatting = "warn" +suspicious-map = "warn" +suspicious-op-assign-impl = "warn" +suspicious-open-options = "warn" +suspicious-operation-groupings = "allow" +suspicious-splitn = "deny" +suspicious-to-owned = "warn" +suspicious-unary-op-formatting = "warn" +suspicious-xor-used-as-pow = "allow" +swap-ptr-to-ref = "warn" +tabs-in-doc-comments = "warn" +temporary-assignment = "warn" +test-attr-in-doctest = "warn" +tests-outside-test-module = "allow" +to-digit-is-some = "warn" +to-string-in-format-args = "warn" +to-string-trait-impl = "warn" +todo = "allow" +too-long-first-doc-paragraph = "allow" +too-many-arguments = "warn" +too-many-lines = "allow" +toplevel-ref-arg = "warn" +trailing-empty-array = "allow" +trait-duplication-in-bounds = "allow" +transmute-bytes-to-str = "warn" +transmute-float-to-int = "warn" +transmute-int-to-bool = "warn" +transmute-int-to-char = "warn" +transmute-int-to-float = "warn" +transmute-int-to-non-zero = "warn" +transmute-null-to-fn = "deny" +transmute-num-to-bytes = "warn" +transmute-ptr-to-ptr = "allow" +transmute-ptr-to-ref = "warn" +transmute-undefined-repr = "allow" +transmutes-expressible-as-ptr-casts = "warn" +transmuting-null = "deny" +trim-split-whitespace = "warn" +trivial-regex = "allow" +trivially-copy-pass-by-ref = "allow" +try-err = "allow" +tuple-array-conversions = "allow" +type-complexity = "warn" +type-id-on-box = "warn" +type-repetition-in-bounds = "allow" +unbuffered-bytes = "warn" +unchecked-duration-subtraction = "allow" +unconditional-recursion = "warn" +undocumented-unsafe-blocks = "allow" +unicode-not-nfc = "allow" +unimplemented = "allow" +uninhabited-references = "allow" +uninit-assumed-init = "deny" +uninit-vec = "deny" +uninlined-format-args = "allow" +unit-arg = "warn" +unit-cmp = "deny" +unit-hash = "deny" +unit-return-expecting-ord = "deny" +unnecessary-box-returns = "allow" +unnecessary-cast = "warn" +unnecessary-clippy-cfg = "warn" +unnecessary-debug-formatting = "allow" +unnecessary-fallible-conversions = "warn" +unnecessary-filter-map = "warn" +unnecessary-find-map = "warn" +unnecessary-first-then-check = "warn" +unnecessary-fold = "warn" +unnecessary-get-then-check = "warn" +unnecessary-join = "allow" +unnecessary-lazy-evaluations = "warn" +unnecessary-literal-bound = "allow" +unnecessary-literal-unwrap = "warn" +unnecessary-map-on-constructor = "warn" +unnecessary-map-or = "warn" +unnecessary-min-or-max = "warn" +unnecessary-mut-passed = "warn" +unnecessary-operation = "warn" +unnecessary-owned-empty-strings = "warn" +unnecessary-result-map-or-else = "warn" +unnecessary-safety-comment = "allow" +unnecessary-safety-doc = "allow" +unnecessary-self-imports = "allow" +unnecessary-semicolon = "allow" +unnecessary-sort-by = "warn" +unnecessary-struct-initialization = "allow" +unnecessary-to-owned = "warn" +unnecessary-unwrap = "warn" +unnecessary-wraps = "allow" +unneeded-field-pattern = "allow" +unneeded-struct-pattern = "warn" +unneeded-wildcard-pattern = "warn" +unnested-or-patterns = "allow" +unreachable = "allow" +unreadable-literal = "allow" +unsafe-derive-deserialize = "allow" +unsafe-removed-from-name = "warn" +unseparated-literal-suffix = "allow" +unsound-collection-transmute = "deny" +unused-async = "allow" +unused-enumerate-index = "warn" +unused-format-specs = "warn" +unused-io-amount = "deny" +unused-peekable = "allow" +unused-result-ok = "allow" +unused-rounding = "allow" +unused-self = "allow" +unused-trait-names = "allow" +unused-unit = "warn" +unusual-byte-groupings = "warn" +unwrap-in-result = "allow" +unwrap-or-default = "warn" +unwrap-used = "allow" +upper-case-acronyms = "warn" +use-debug = "allow" +use-self = "allow" +used-underscore-binding = "allow" +used-underscore-items = "allow" +useless-asref = "warn" +useless-attribute = "deny" +useless-conversion = "warn" +useless-format = "warn" +useless-let-if-seq = "allow" +useless-nonzero-new-unchecked = "warn" +useless-transmute = "warn" +useless-vec = "warn" +vec-box = "warn" +vec-init-then-push = "warn" +vec-resize-to-zero = "deny" +verbose-bit-mask = "allow" +verbose-file-reads = "allow" +waker-clone-wake = "warn" +while-float = "allow" +while-immutable-condition = "deny" +while-let-loop = "warn" +while-let-on-iterator = "warn" +wildcard-dependencies = "allow" +wildcard-enum-match-arm = "allow" +wildcard-imports = "allow" +wildcard-in-or-patterns = "warn" +write-literal = "warn" +write-with-newline = "warn" +writeln-empty-string = "warn" +wrong-self-convention = "warn" +wrong-transmute = "deny" +zero-divided-by-zero = "warn" +zero-prefixed-literal = "warn" +zero-ptr = "warn" +zero-repeat-side-effects = "warn" +zero-sized-map-values = "allow" +zombie-processes = "warn" +zst-offset = "deny" +[workspace.lints.rust] +abi-unsupported-vector-types = "warn" +absolute-paths-not-starting-with-crate = "allow" +ambiguous-associated-items = "deny" +ambiguous-glob-imports = "warn" +ambiguous-glob-reexports = "warn" +ambiguous-negative-literals = "allow" +ambiguous-wide-pointer-comparisons = "warn" +anonymous-parameters = "warn" +arithmetic-overflow = "deny" +array-into-iter = "warn" +asm-sub-register = "warn" +async-fn-in-trait = "warn" +bad-asm-style = "warn" +bare-trait-objects = "warn" +binary-asm-labels = "deny" +bindings-with-variant-name = "deny" +boxed-slice-into-iter = "warn" +break-with-label-and-loop = "warn" +clashing-extern-declarations = "warn" +closure-returning-async-block = "allow" +coherence-leak-check = "warn" +conflicting-repr-hints = "deny" +confusable-idents = "warn" +const-evaluatable-unchecked = "warn" +const-item-mutation = "warn" +dangling-pointers-from-temporaries = "warn" +dead-code = "warn" +default-overrides-default-fields = "deny" +dependency-on-unit-never-type-fallback = "warn" +deprecated = "warn" +deprecated-in-future = "allow" +deprecated-safe-2024 = "allow" +deprecated-where-clause-location = "warn" +deref-into-dyn-supertrait = "allow" +deref-nullptr = "warn" +double-negations = "warn" +drop-bounds = "warn" +dropping-copy-types = "warn" +dropping-references = "warn" +duplicate-macro-attributes = "warn" +dyn-drop = "warn" +edition-2024-expr-fragment-specifier = "allow" +elided-lifetimes-in-associated-constant = "deny" +elided-lifetimes-in-paths = "allow" +elided-named-lifetimes = "warn" +ellipsis-inclusive-range-patterns = "warn" +enum-intrinsics-non-enums = "deny" +explicit-builtin-cfgs-in-flags = "deny" +explicit-outlives-requirements = "allow" +exported-private-dependencies = "warn" +ffi-unwind-calls = "allow" +for-loops-over-fallibles = "warn" +forbidden-lint-groups = "warn" +forgetting-copy-types = "warn" +forgetting-references = "warn" +function-item-references = "warn" +fuzzy-provenance-casts = "allow" +hidden-glob-reexports = "warn" +if-let-rescope = "allow" +ill-formed-attribute-input = "deny" +impl-trait-overcaptures = "allow" +impl-trait-redundant-captures = "allow" +improper-ctypes = "warn" +improper-ctypes-definitions = "warn" +incomplete-features = "warn" +incomplete-include = "deny" +ineffective-unstable-trait-impl = "deny" +inline-no-sanitize = "warn" +internal-features = "warn" +invalid-atomic-ordering = "deny" +invalid-doc-attributes = "deny" +invalid-from-utf8 = "warn" +invalid-from-utf8-unchecked = "deny" +invalid-macro-export-arguments = "warn" +invalid-nan-comparisons = "warn" +invalid-reference-casting = "deny" +invalid-type-param-default = "deny" +invalid-value = "warn" +irrefutable-let-patterns = "warn" +keyword-idents-2018 = "allow" +keyword-idents-2024 = "allow" +large-assignments = "warn" +late-bound-lifetime-arguments = "warn" +legacy-derive-helpers = "warn" +let-underscore-drop = "allow" +let-underscore-lock = "deny" +linker-messages = "allow" +long-running-const-eval = "deny" +lossy-provenance-casts = "allow" +macro-expanded-macro-exports-accessed-by-absolute-paths = "deny" +macro-use-extern-crate = "allow" +map-unit-fn = "warn" +meta-variable-misuse = "allow" +missing-abi = "warn" +missing-copy-implementations = "allow" +missing-debug-implementations = "allow" +missing-docs = "allow" +missing-fragment-specifier = "deny" +missing-unsafe-on-extern = "allow" +mixed-script-confusables = "warn" +multiple-supertrait-upcastable = "allow" +must-not-suspend = "allow" +mutable-transmutes = "deny" +named-arguments-used-positionally = "warn" +named-asm-labels = "deny" +never-type-fallback-flowing-into-unsafe = "warn" +no-mangle-const-items = "deny" +no-mangle-generic-items = "warn" +non-ascii-idents = "allow" +non-camel-case-types = "warn" +non-contiguous-range-endpoints = "warn" +non-exhaustive-omitted-patterns = "allow" +non-fmt-panics = "warn" +non-local-definitions = "warn" +non-shorthand-field-patterns = "warn" +non-snake-case = "warn" +non-upper-case-globals = "warn" +noop-method-call = "warn" +opaque-hidden-inferred-bound = "warn" +out-of-scope-macro-calls = "warn" +overflowing-literals = "deny" +overlapping-range-endpoints = "warn" +path-statements = "warn" +patterns-in-fns-without-body = "deny" +private-bounds = "warn" +private-interfaces = "warn" +proc-macro-derive-resolution-fallback = "deny" +ptr-to-integer-transmute-in-consts = "warn" +pub-use-of-private-extern-crate = "deny" +redundant-imports = "allow" +redundant-lifetimes = "allow" +redundant-semicolons = "warn" +refining-impl-trait-internal = "warn" +refining-impl-trait-reachable = "warn" +renamed-and-removed-lints = "warn" +repr-transparent-external-private-fields = "warn" +rust-2021-incompatible-closure-captures = "allow" +rust-2021-incompatible-or-patterns = "allow" +rust-2021-prefixes-incompatible-syntax = "allow" +rust-2021-prelude-collisions = "allow" +rust-2024-guarded-string-incompatible-syntax = "allow" +rust-2024-incompatible-pat = "allow" +rust-2024-prelude-collisions = "allow" +self-constructor-from-outer-item = "warn" +semicolon-in-expressions-from-macros = "warn" +single-use-lifetimes = "allow" +soft-unstable = "deny" +special-module-name = "warn" +stable-features = "warn" +static-mut-refs = "warn" +supertrait-item-shadowing-definition = "allow" +supertrait-item-shadowing-usage = "allow" +suspicious-double-ref-op = "warn" +tail-expr-drop-order = "allow" +test-unstable-lint = "deny" +text-direction-codepoint-in-comment = "deny" +text-direction-codepoint-in-literal = "deny" +trivial-bounds = "warn" +trivial-casts = "allow" +trivial-numeric-casts = "allow" +type-alias-bounds = "warn" +tyvar-behind-raw-pointer = "warn" +uncommon-codepoints = "warn" +unconditional-panic = "deny" +unconditional-recursion = "warn" +uncovered-param-in-projection = "warn" +undefined-naked-function-abi = "warn" +undropped-manually-drops = "deny" +unexpected-cfgs = "warn" +unfulfilled-lint-expectations = "warn" +ungated-async-fn-track-caller = "warn" +uninhabited-static = "warn" +unit-bindings = "allow" +unknown-crate-types = "deny" +unknown-lints = "warn" +unknown-or-malformed-diagnostic-attributes = "warn" +unnameable-test-items = "warn" +unnameable-types = "allow" +unpredictable-function-pointer-comparisons = "warn" +unqualified-local-imports = "allow" +unreachable-code = "warn" +unreachable-patterns = "warn" +unreachable-pub = "allow" +unsafe-attr-outside-unsafe = "allow" +unsafe-code = "allow" +unsafe-op-in-unsafe-fn = "allow" +unstable-features = "allow" +unstable-name-collisions = "warn" +unstable-syntax-pre-expansion = "warn" +unsupported-fn-ptr-calling-conventions = "warn" +unused-allocation = "warn" +unused-assignments = "warn" +unused-associated-type-bounds = "warn" +unused-attributes = "warn" +unused-braces = "warn" +unused-comparisons = "warn" +unused-crate-dependencies = "allow" +unused-doc-comments = "warn" +unused-extern-crates = "allow" +unused-features = "warn" +unused-import-braces = "allow" +unused-imports = "warn" +unused-labels = "warn" +unused-lifetimes = "allow" +unused-macro-rules = "allow" +unused-macros = "warn" +unused-must-use = "warn" +unused-mut = "warn" +unused-parens = "warn" +unused-qualifications = "allow" +unused-results = "allow" +unused-unsafe = "warn" +unused-variables = "warn" +useless-deprecated = "deny" +useless-ptr-null-checks = "warn" +uses-power-alignment = "warn" +variant-size-differences = "allow" +warnings = "warn" +wasm-c-abi = "warn" +while-true = "warn" +[workspace.lints.rustdoc] +bare-urls = "warn" +broken-intra-doc-links = "warn" +invalid-codeblock-attributes = "warn" +invalid-html-tags = "warn" +invalid-rust-codeblocks = "warn" +missing-crate-level-docs = "allow" +missing-doc-code-examples = "allow" +private-doc-tests = "allow" +private-intra-doc-links = "warn" +redundant-explicit-links = "warn" +unescaped-backticks = "allow" +unportable-markdown = "warn" diff --git a/lints/1.88.toml b/lints/1.88.toml new file mode 100644 index 0000000..4600e73 --- /dev/null +++ b/lints/1.88.toml @@ -0,0 +1,1017 @@ +[workspace.lints.clippy] +absolute-paths = "allow" +absurd-extreme-comparisons = "deny" +alloc-instead-of-core = "allow" +allow-attributes = "allow" +allow-attributes-without-reason = "allow" +almost-complete-range = "warn" +almost-swapped = "deny" +approx-constant = "deny" +arbitrary-source-item-ordering = "allow" +arc-with-non-send-sync = "warn" +arithmetic-side-effects = "allow" +as-conversions = "allow" +as-pointer-underscore = "allow" +as-ptr-cast-mut = "allow" +as-underscore = "allow" +assertions-on-constants = "warn" +assertions-on-result-states = "allow" +assign-op-pattern = "warn" +assigning-clones = "allow" +async-yields-async = "deny" +await-holding-invalid-type = "warn" +await-holding-lock = "warn" +await-holding-refcell-ref = "warn" +bad-bit-mask = "deny" +big-endian-bytes = "allow" +bind-instead-of-map = "warn" +blanket-clippy-restriction-lints = "warn" +blocks-in-conditions = "warn" +bool-assert-comparison = "warn" +bool-comparison = "warn" +bool-to-int-with-if = "allow" +borrow-as-ptr = "allow" +borrow-deref-ref = "warn" +borrow-interior-mutable-const = "warn" +borrowed-box = "warn" +box-collection = "warn" +box-default = "warn" +boxed-local = "warn" +branches-sharing-code = "allow" +builtin-type-shadow = "warn" +byte-char-slices = "warn" +bytes-count-to-len = "warn" +bytes-nth = "warn" +cargo-common-metadata = "allow" +case-sensitive-file-extension-comparisons = "allow" +cast-abs-to-unsigned = "warn" +cast-enum-constructor = "warn" +cast-enum-truncation = "warn" +cast-lossless = "allow" +cast-nan-to-int = "warn" +cast-possible-truncation = "allow" +cast-possible-wrap = "allow" +cast-precision-loss = "allow" +cast-ptr-alignment = "allow" +cast-sign-loss = "allow" +cast-slice-different-sizes = "deny" +cast-slice-from-raw-parts = "warn" +cfg-not-test = "allow" +char-indices-as-byte-indices = "deny" +char-lit-as-u8 = "warn" +chars-last-cmp = "warn" +chars-next-cmp = "warn" +checked-conversions = "allow" +clear-with-drain = "allow" +clone-on-copy = "warn" +clone-on-ref-ptr = "allow" +cloned-instead-of-copied = "allow" +cmp-null = "warn" +cmp-owned = "warn" +cognitive-complexity = "allow" +collapsible-else-if = "warn" +collapsible-if = "warn" +collapsible-match = "warn" +collapsible-str-replace = "warn" +collection-is-never-read = "allow" +comparison-chain = "allow" +comparison-to-empty = "warn" +const-is-empty = "warn" +copy-iterator = "allow" +crate-in-macro-def = "warn" +create-dir = "allow" +crosspointer-transmute = "warn" +dbg-macro = "allow" +debug-assert-with-mut-call = "allow" +decimal-literal-representation = "allow" +declare-interior-mutable-const = "warn" +default-constructed-unit-structs = "warn" +default-instead-of-iter-empty = "warn" +default-numeric-fallback = "allow" +default-trait-access = "allow" +default-union-representation = "allow" +deprecated-cfg-attr = "warn" +deprecated-clippy-cfg-attr = "warn" +deprecated-semver = "deny" +deref-addrof = "warn" +deref-by-slicing = "allow" +derivable-impls = "warn" +derive-ord-xor-partial-ord = "deny" +derive-partial-eq-without-eq = "allow" +derived-hash-with-manual-eq = "deny" +disallowed-macros = "warn" +disallowed-methods = "warn" +disallowed-names = "warn" +disallowed-script-idents = "allow" +disallowed-types = "warn" +diverging-sub-expression = "warn" +doc-comment-double-space-linebreaks = "allow" +doc-include-without-cfg = "allow" +doc-lazy-continuation = "warn" +doc-link-code = "allow" +doc-link-with-quotes = "allow" +doc-markdown = "allow" +doc-nested-refdefs = "warn" +doc-overindented-list-items = "warn" +double-comparisons = "warn" +double-ended-iterator-last = "warn" +double-must-use = "warn" +double-parens = "warn" +drain-collect = "warn" +drop-non-drop = "warn" +duplicate-mod = "warn" +duplicate-underscore-argument = "warn" +duplicated-attributes = "warn" +duration-subsec = "warn" +eager-transmute = "deny" +elidable-lifetime-names = "allow" +else-if-without-else = "allow" +empty-docs = "warn" +empty-drop = "allow" +empty-enum = "allow" +empty-enum-variants-with-brackets = "allow" +empty-line-after-doc-comments = "warn" +empty-line-after-outer-attr = "warn" +empty-loop = "warn" +empty-structs-with-brackets = "allow" +enum-clike-unportable-variant = "deny" +enum-glob-use = "allow" +enum-variant-names = "warn" +eq-op = "deny" +equatable-if-let = "allow" +erasing-op = "deny" +err-expect = "warn" +error-impl-error = "allow" +excessive-nesting = "warn" +excessive-precision = "warn" +exhaustive-enums = "allow" +exhaustive-structs = "allow" +exit = "allow" +expect-fun-call = "warn" +expect-used = "allow" +expl-impl-clone-on-copy = "allow" +explicit-auto-deref = "warn" +explicit-counter-loop = "warn" +explicit-deref-methods = "allow" +explicit-into-iter-loop = "allow" +explicit-iter-loop = "allow" +explicit-write = "warn" +extend-with-drain = "warn" +extra-unused-lifetimes = "warn" +extra-unused-type-parameters = "warn" +fallible-impl-from = "allow" +field-reassign-with-default = "warn" +field-scoped-visibility-modifiers = "allow" +filetype-is-file = "allow" +filter-map-bool-then = "warn" +filter-map-identity = "warn" +filter-map-next = "allow" +filter-next = "warn" +flat-map-identity = "warn" +flat-map-option = "allow" +float-arithmetic = "allow" +float-cmp = "allow" +float-cmp-const = "allow" +float-equality-without-abs = "warn" +fn-params-excessive-bools = "allow" +fn-to-numeric-cast = "warn" +fn-to-numeric-cast-any = "allow" +fn-to-numeric-cast-with-truncation = "warn" +for-kv-map = "warn" +forget-non-drop = "warn" +format-collect = "allow" +format-in-format-args = "warn" +format-push-string = "allow" +four-forward-slashes = "warn" +from-iter-instead-of-collect = "allow" +from-over-into = "warn" +from-raw-with-void-ptr = "warn" +from-str-radix-10 = "warn" +future-not-send = "allow" +get-first = "warn" +get-last-with-len = "warn" +get-unwrap = "allow" +host-endian-bytes = "allow" +identity-op = "warn" +if-let-mutex = "deny" +if-not-else = "allow" +if-same-then-else = "warn" +if-then-some-else-none = "allow" +ifs-same-cond = "deny" +ignore-without-reason = "allow" +ignored-unit-patterns = "allow" +impl-hash-borrow-with-str-and-bytes = "deny" +impl-trait-in-params = "allow" +implicit-clone = "allow" +implicit-hasher = "allow" +implicit-return = "allow" +implicit-saturating-add = "warn" +implicit-saturating-sub = "warn" +implied-bounds-in-impls = "warn" +impossible-comparisons = "deny" +imprecise-flops = "allow" +incompatible-msrv = "warn" +inconsistent-digit-grouping = "warn" +inconsistent-struct-constructor = "allow" +index-refutable-slice = "allow" +indexing-slicing = "allow" +ineffective-bit-mask = "deny" +ineffective-open-options = "warn" +inefficient-to-string = "allow" +infallible-destructuring-match = "warn" +infinite-iter = "deny" +infinite-loop = "allow" +inherent-to-string = "warn" +inherent-to-string-shadow-display = "deny" +init-numbered-fields = "warn" +inline-always = "allow" +inline-asm-x86-att-syntax = "allow" +inline-asm-x86-intel-syntax = "allow" +inline-fn-without-body = "deny" +inspect-for-each = "warn" +int-plus-one = "warn" +integer-division = "allow" +integer-division-remainder-used = "allow" +into-iter-on-ref = "warn" +into-iter-without-iter = "allow" +invalid-regex = "deny" +invalid-upcast-comparisons = "allow" +inverted-saturating-sub = "deny" +invisible-characters = "deny" +io-other-error = "warn" +is-digit-ascii-radix = "warn" +items-after-statements = "allow" +items-after-test-module = "warn" +iter-cloned-collect = "warn" +iter-count = "warn" +iter-filter-is-ok = "allow" +iter-filter-is-some = "allow" +iter-kv-map = "warn" +iter-next-loop = "deny" +iter-next-slice = "warn" +iter-not-returning-iterator = "allow" +iter-nth = "warn" +iter-nth-zero = "warn" +iter-on-empty-collections = "allow" +iter-on-single-items = "allow" +iter-out-of-bounds = "warn" +iter-over-hash-type = "allow" +iter-overeager-cloned = "warn" +iter-skip-next = "warn" +iter-skip-zero = "deny" +iter-with-drain = "allow" +iter-without-into-iter = "allow" +iterator-step-by-zero = "deny" +join-absolute-paths = "warn" +just-underscores-and-digits = "warn" +large-const-arrays = "warn" +large-digit-groups = "allow" +large-enum-variant = "warn" +large-futures = "allow" +large-include-file = "allow" +large-stack-arrays = "allow" +large-stack-frames = "allow" +large-types-passed-by-value = "allow" +legacy-numeric-constants = "warn" +len-without-is-empty = "warn" +len-zero = "warn" +let-and-return = "warn" +let-underscore-future = "warn" +let-underscore-lock = "deny" +let-underscore-must-use = "allow" +let-underscore-untyped = "allow" +let-unit-value = "warn" +let-with-type-underscore = "warn" +lines-filter-map-ok = "warn" +linkedlist = "allow" +lint-groups-priority = "deny" +literal-string-with-formatting-args = "allow" +little-endian-bytes = "allow" +lossy-float-literal = "allow" +macro-metavars-in-unsafe = "warn" +macro-use-imports = "allow" +main-recursion = "warn" +manual-abs-diff = "warn" +manual-assert = "allow" +manual-async-fn = "warn" +manual-bits = "warn" +manual-c-str-literals = "warn" +manual-clamp = "warn" +manual-contains = "warn" +manual-dangling-ptr = "warn" +manual-div-ceil = "warn" +manual-filter = "warn" +manual-filter-map = "warn" +manual-find = "warn" +manual-find-map = "warn" +manual-flatten = "warn" +manual-hash-one = "warn" +manual-ignore-case-cmp = "warn" +manual-inspect = "warn" +manual-instant-elapsed = "allow" +manual-is-ascii-check = "warn" +manual-is-finite = "warn" +manual-is-infinite = "warn" +manual-is-power-of-two = "allow" +manual-is-variant-and = "allow" +manual-let-else = "allow" +manual-main-separator-str = "warn" +manual-map = "warn" +manual-memcpy = "warn" +manual-midpoint = "allow" +manual-next-back = "warn" +manual-non-exhaustive = "warn" +manual-ok-err = "warn" +manual-ok-or = "warn" +manual-option-as-slice = "warn" +manual-pattern-char-comparison = "warn" +manual-range-contains = "warn" +manual-range-patterns = "warn" +manual-rem-euclid = "warn" +manual-repeat-n = "warn" +manual-retain = "warn" +manual-rotate = "warn" +manual-saturating-arithmetic = "warn" +manual-slice-fill = "warn" +manual-slice-size-calculation = "warn" +manual-split-once = "warn" +manual-str-repeat = "warn" +manual-string-new = "allow" +manual-strip = "warn" +manual-swap = "warn" +manual-try-fold = "warn" +manual-unwrap-or = "warn" +manual-unwrap-or-default = "warn" +manual-while-let-some = "warn" +many-single-char-names = "allow" +map-all-any-identity = "warn" +map-clone = "warn" +map-collect-result-unit = "warn" +map-entry = "warn" +map-err-ignore = "allow" +map-flatten = "warn" +map-identity = "warn" +map-unwrap-or = "allow" +map-with-unused-argument-over-ranges = "allow" +match-as-ref = "warn" +match-bool = "allow" +match-like-matches-macro = "warn" +match-overlapping-arm = "warn" +match-ref-pats = "warn" +match-result-ok = "warn" +match-same-arms = "allow" +match-single-binding = "warn" +match-str-case-mismatch = "deny" +match-wild-err-arm = "allow" +match-wildcard-for-single-variants = "allow" +maybe-infinite-iter = "allow" +mem-forget = "allow" +mem-replace-option-with-none = "warn" +mem-replace-option-with-some = "warn" +mem-replace-with-default = "warn" +mem-replace-with-uninit = "deny" +min-ident-chars = "allow" +min-max = "deny" +mismatching-type-param-order = "allow" +misnamed-getters = "warn" +misrefactored-assign-op = "warn" +missing-assert-message = "allow" +missing-asserts-for-indexing = "allow" +missing-const-for-fn = "allow" +missing-const-for-thread-local = "warn" +missing-docs-in-private-items = "allow" +missing-enforced-import-renames = "warn" +missing-errors-doc = "allow" +missing-fields-in-debug = "allow" +missing-inline-in-public-items = "allow" +missing-panics-doc = "allow" +missing-safety-doc = "warn" +missing-spin-loop = "warn" +missing-trait-methods = "allow" +missing-transmute-annotations = "warn" +mistyped-literal-suffixes = "deny" +mixed-attributes-style = "warn" +mixed-case-hex-literals = "warn" +mixed-read-write-in-expression = "allow" +mod-module-files = "allow" +module-inception = "warn" +module-name-repetitions = "allow" +modulo-arithmetic = "allow" +modulo-one = "deny" +multi-assignments = "warn" +multiple-bound-locations = "warn" +multiple-crate-versions = "allow" +multiple-inherent-impl = "allow" +multiple-unsafe-ops-per-block = "allow" +must-use-candidate = "allow" +must-use-unit = "warn" +mut-from-ref = "deny" +mut-mut = "allow" +mut-mutex-lock = "warn" +mut-range-bound = "warn" +mutable-key-type = "warn" +mutex-atomic = "allow" +mutex-integer = "allow" +naive-bytecount = "allow" +needless-arbitrary-self-type = "warn" +needless-as-bytes = "warn" +needless-bitwise-bool = "allow" +needless-bool = "warn" +needless-bool-assign = "warn" +needless-borrow = "warn" +needless-borrowed-reference = "warn" +needless-borrows-for-generic-args = "warn" +needless-character-iteration = "warn" +needless-collect = "allow" +needless-continue = "allow" +needless-doctest-main = "warn" +needless-else = "warn" +needless-for-each = "allow" +needless-if = "warn" +needless-late-init = "warn" +needless-lifetimes = "warn" +needless-match = "warn" +needless-maybe-sized = "warn" +needless-option-as-deref = "warn" +needless-option-take = "warn" +needless-parens-on-range-literals = "warn" +needless-pass-by-ref-mut = "allow" +needless-pass-by-value = "allow" +needless-pub-self = "warn" +needless-question-mark = "warn" +needless-range-loop = "warn" +needless-raw-string-hashes = "allow" +needless-raw-strings = "allow" +needless-return = "warn" +needless-return-with-question-mark = "warn" +needless-splitn = "warn" +needless-update = "warn" +neg-cmp-op-on-partial-ord = "warn" +neg-multiply = "warn" +negative-feature-names = "allow" +never-loop = "deny" +new-ret-no-self = "warn" +new-without-default = "warn" +no-effect = "warn" +no-effect-replace = "warn" +no-effect-underscore-binding = "allow" +no-mangle-with-rust-abi = "allow" +non-ascii-literal = "allow" +non-canonical-clone-impl = "warn" +non-canonical-partial-ord-impl = "warn" +non-minimal-cfg = "warn" +non-octal-unix-permissions = "deny" +non-send-fields-in-send-ty = "allow" +non-std-lazy-statics = "allow" +non-zero-suggestions = "allow" +nonminimal-bool = "warn" +nonsensical-open-options = "deny" +nonstandard-macro-braces = "allow" +not-unsafe-ptr-arg-deref = "deny" +obfuscated-if-else = "warn" +octal-escapes = "warn" +ok-expect = "warn" +only-used-in-recursion = "warn" +op-ref = "warn" +option-as-ref-cloned = "allow" +option-as-ref-deref = "warn" +option-env-unwrap = "deny" +option-filter-map = "warn" +option-if-let-else = "allow" +option-map-or-none = "warn" +option-map-unit-fn = "warn" +option-option = "allow" +or-fun-call = "allow" +or-then-unwrap = "warn" +out-of-bounds-indexing = "deny" +overly-complex-bool-expr = "deny" +owned-cow = "warn" +panic = "allow" +panic-in-result-fn = "allow" +panicking-overflow-checks = "deny" +panicking-unwrap = "deny" +partial-pub-fields = "allow" +partialeq-ne-impl = "warn" +partialeq-to-none = "warn" +path-buf-push-overwrite = "allow" +path-ends-with-ext = "warn" +pathbuf-init-then-push = "allow" +pattern-type-mismatch = "allow" +permissions-set-readonly-false = "warn" +pointers-in-nomem-asm-block = "warn" +possible-missing-comma = "deny" +precedence = "warn" +precedence-bits = "allow" +print-in-format-impl = "warn" +print-literal = "warn" +print-stderr = "allow" +print-stdout = "allow" +print-with-newline = "warn" +println-empty-string = "warn" +ptr-arg = "warn" +ptr-as-ptr = "allow" +ptr-cast-constness = "allow" +ptr-eq = "warn" +ptr-offset-with-cast = "warn" +pub-underscore-fields = "allow" +pub-use = "allow" +pub-with-shorthand = "allow" +pub-without-shorthand = "allow" +question-mark = "warn" +question-mark-used = "allow" +range-minus-one = "allow" +range-plus-one = "allow" +range-zip-with-len = "warn" +rc-buffer = "allow" +rc-clone-in-vec-init = "warn" +rc-mutex = "allow" +read-line-without-trim = "deny" +read-zero-byte-vec = "allow" +readonly-write-lock = "warn" +recursive-format-impl = "deny" +redundant-allocation = "warn" +redundant-as-str = "warn" +redundant-async-block = "warn" +redundant-at-rest-pattern = "warn" +redundant-clone = "allow" +redundant-closure = "warn" +redundant-closure-call = "warn" +redundant-closure-for-method-calls = "allow" +redundant-comparisons = "deny" +redundant-else = "allow" +redundant-feature-names = "allow" +redundant-field-names = "warn" +redundant-guards = "warn" +redundant-locals = "warn" +redundant-pattern = "warn" +redundant-pattern-matching = "warn" +redundant-pub-crate = "allow" +redundant-slicing = "warn" +redundant-static-lifetimes = "warn" +redundant-test-prefix = "allow" +redundant-type-annotations = "allow" +ref-as-ptr = "allow" +ref-binding-to-reference = "allow" +ref-option = "allow" +ref-option-ref = "allow" +ref-patterns = "allow" +regex-creation-in-loops = "warn" +renamed-function-params = "allow" +repeat-once = "warn" +repeat-vec-with-capacity = "warn" +repr-packed-without-abi = "warn" +reserve-after-initialization = "warn" +rest-pat-in-fully-bound-structs = "allow" +result-filter-map = "warn" +result-large-err = "warn" +result-map-or-into-option = "warn" +result-map-unit-fn = "warn" +result-unit-err = "warn" +return-and-then = "allow" +return-self-not-must-use = "allow" +reversed-empty-ranges = "deny" +same-functions-in-if-condition = "allow" +same-item-push = "warn" +same-name-method = "allow" +search-is-some = "warn" +seek-from-current = "warn" +seek-to-start-instead-of-rewind = "warn" +self-assignment = "deny" +self-named-constructors = "warn" +self-named-module-files = "allow" +semicolon-if-nothing-returned = "allow" +semicolon-inside-block = "allow" +semicolon-outside-block = "allow" +separated-literal-suffix = "allow" +serde-api-misuse = "deny" +set-contains-or-insert = "allow" +shadow-reuse = "allow" +shadow-same = "allow" +shadow-unrelated = "allow" +short-circuit-statement = "warn" +should-implement-trait = "warn" +should-panic-without-expect = "allow" +significant-drop-in-scrutinee = "allow" +significant-drop-tightening = "allow" +similar-names = "allow" +single-call-fn = "allow" +single-char-add-str = "warn" +single-char-lifetime-names = "allow" +single-char-pattern = "allow" +single-component-path-imports = "warn" +single-element-loop = "warn" +single-match = "warn" +single-match-else = "allow" +single-option-map = "allow" +single-range-in-vec-init = "warn" +size-of-in-element-count = "deny" +size-of-ref = "warn" +skip-while-next = "warn" +sliced-string-as-bytes = "warn" +slow-vector-initialization = "warn" +stable-sort-primitive = "allow" +std-instead-of-alloc = "allow" +std-instead-of-core = "allow" +str-split-at-newline = "allow" +str-to-string = "allow" +string-add = "allow" +string-add-assign = "allow" +string-extend-chars = "warn" +string-from-utf8-as-bytes = "warn" +string-lit-as-bytes = "allow" +string-lit-chars-any = "allow" +string-slice = "allow" +string-to-string = "allow" +strlen-on-c-strings = "warn" +struct-excessive-bools = "allow" +struct-field-names = "allow" +suboptimal-flops = "allow" +suspicious-arithmetic-impl = "warn" +suspicious-assignment-formatting = "warn" +suspicious-command-arg-space = "warn" +suspicious-doc-comments = "warn" +suspicious-else-formatting = "warn" +suspicious-map = "warn" +suspicious-op-assign-impl = "warn" +suspicious-open-options = "warn" +suspicious-operation-groupings = "allow" +suspicious-splitn = "deny" +suspicious-to-owned = "warn" +suspicious-unary-op-formatting = "warn" +suspicious-xor-used-as-pow = "allow" +swap-ptr-to-ref = "warn" +swap-with-temporary = "warn" +tabs-in-doc-comments = "warn" +temporary-assignment = "warn" +test-attr-in-doctest = "warn" +tests-outside-test-module = "allow" +to-digit-is-some = "warn" +to-string-in-format-args = "warn" +to-string-trait-impl = "warn" +todo = "allow" +too-long-first-doc-paragraph = "allow" +too-many-arguments = "warn" +too-many-lines = "allow" +toplevel-ref-arg = "warn" +trailing-empty-array = "allow" +trait-duplication-in-bounds = "allow" +transmute-bytes-to-str = "warn" +transmute-int-to-bool = "warn" +transmute-int-to-non-zero = "warn" +transmute-null-to-fn = "deny" +transmute-ptr-to-ptr = "allow" +transmute-ptr-to-ref = "warn" +transmute-undefined-repr = "allow" +transmutes-expressible-as-ptr-casts = "warn" +transmuting-null = "deny" +trim-split-whitespace = "warn" +trivial-regex = "allow" +trivially-copy-pass-by-ref = "allow" +try-err = "allow" +tuple-array-conversions = "allow" +type-complexity = "warn" +type-id-on-box = "warn" +type-repetition-in-bounds = "allow" +unbuffered-bytes = "warn" +unchecked-duration-subtraction = "allow" +unconditional-recursion = "warn" +undocumented-unsafe-blocks = "allow" +unicode-not-nfc = "allow" +unimplemented = "allow" +uninhabited-references = "allow" +uninit-assumed-init = "deny" +uninit-vec = "deny" +uninlined-format-args = "warn" +unit-arg = "warn" +unit-cmp = "deny" +unit-hash = "deny" +unit-return-expecting-ord = "deny" +unnecessary-box-returns = "allow" +unnecessary-cast = "warn" +unnecessary-clippy-cfg = "warn" +unnecessary-debug-formatting = "allow" +unnecessary-fallible-conversions = "warn" +unnecessary-filter-map = "warn" +unnecessary-find-map = "warn" +unnecessary-first-then-check = "warn" +unnecessary-fold = "warn" +unnecessary-get-then-check = "warn" +unnecessary-join = "allow" +unnecessary-lazy-evaluations = "warn" +unnecessary-literal-bound = "allow" +unnecessary-literal-unwrap = "warn" +unnecessary-map-on-constructor = "warn" +unnecessary-map-or = "warn" +unnecessary-min-or-max = "warn" +unnecessary-mut-passed = "warn" +unnecessary-operation = "warn" +unnecessary-owned-empty-strings = "warn" +unnecessary-result-map-or-else = "warn" +unnecessary-safety-comment = "allow" +unnecessary-safety-doc = "allow" +unnecessary-self-imports = "allow" +unnecessary-semicolon = "allow" +unnecessary-sort-by = "warn" +unnecessary-struct-initialization = "allow" +unnecessary-to-owned = "warn" +unnecessary-unwrap = "warn" +unnecessary-wraps = "allow" +unneeded-field-pattern = "allow" +unneeded-struct-pattern = "warn" +unneeded-wildcard-pattern = "warn" +unnested-or-patterns = "allow" +unreachable = "allow" +unreadable-literal = "allow" +unsafe-derive-deserialize = "allow" +unsafe-removed-from-name = "warn" +unseparated-literal-suffix = "allow" +unsound-collection-transmute = "deny" +unused-async = "allow" +unused-enumerate-index = "warn" +unused-format-specs = "warn" +unused-io-amount = "deny" +unused-peekable = "allow" +unused-result-ok = "allow" +unused-rounding = "allow" +unused-self = "allow" +unused-trait-names = "allow" +unused-unit = "warn" +unusual-byte-groupings = "warn" +unwrap-in-result = "allow" +unwrap-or-default = "warn" +unwrap-used = "allow" +upper-case-acronyms = "warn" +use-debug = "allow" +use-self = "allow" +used-underscore-binding = "allow" +used-underscore-items = "allow" +useless-asref = "warn" +useless-attribute = "deny" +useless-conversion = "warn" +useless-format = "warn" +useless-let-if-seq = "allow" +useless-nonzero-new-unchecked = "warn" +useless-transmute = "warn" +useless-vec = "warn" +vec-box = "warn" +vec-init-then-push = "warn" +vec-resize-to-zero = "deny" +verbose-bit-mask = "allow" +verbose-file-reads = "allow" +waker-clone-wake = "warn" +while-float = "allow" +while-immutable-condition = "deny" +while-let-loop = "warn" +while-let-on-iterator = "warn" +wildcard-dependencies = "allow" +wildcard-enum-match-arm = "allow" +wildcard-imports = "allow" +wildcard-in-or-patterns = "warn" +write-literal = "warn" +write-with-newline = "warn" +writeln-empty-string = "warn" +wrong-self-convention = "warn" +wrong-transmute = "deny" +zero-divided-by-zero = "warn" +zero-prefixed-literal = "warn" +zero-ptr = "warn" +zero-repeat-side-effects = "warn" +zero-sized-map-values = "allow" +zombie-processes = "warn" +zst-offset = "deny" + +[workspace.lints.rust] +absolute-paths-not-starting-with-crate = "allow" +ambiguous-associated-items = "deny" +ambiguous-glob-imports = "warn" +ambiguous-glob-reexports = "warn" +ambiguous-negative-literals = "allow" +ambiguous-wide-pointer-comparisons = "warn" +anonymous-parameters = "warn" +arithmetic-overflow = "deny" +array-into-iter = "warn" +asm-sub-register = "warn" +async-fn-in-trait = "warn" +bad-asm-style = "warn" +bare-trait-objects = "warn" +binary-asm-labels = "deny" +bindings-with-variant-name = "deny" +boxed-slice-into-iter = "warn" +break-with-label-and-loop = "warn" +clashing-extern-declarations = "warn" +closure-returning-async-block = "allow" +coherence-leak-check = "warn" +conflicting-repr-hints = "deny" +confusable-idents = "warn" +const-evaluatable-unchecked = "warn" +const-item-mutation = "warn" +dangerous-implicit-autorefs = "warn" +dangling-pointers-from-temporaries = "warn" +dead-code = "warn" +default-overrides-default-fields = "deny" +dependency-on-unit-never-type-fallback = "warn" +deprecated = "warn" +deprecated-in-future = "allow" +deprecated-safe-2024 = "allow" +deprecated-where-clause-location = "warn" +deref-into-dyn-supertrait = "allow" +deref-nullptr = "warn" +double-negations = "warn" +drop-bounds = "warn" +dropping-copy-types = "warn" +dropping-references = "warn" +duplicate-macro-attributes = "warn" +dyn-drop = "warn" +edition-2024-expr-fragment-specifier = "allow" +elided-lifetimes-in-associated-constant = "deny" +elided-lifetimes-in-paths = "allow" +elided-named-lifetimes = "warn" +ellipsis-inclusive-range-patterns = "warn" +enum-intrinsics-non-enums = "deny" +explicit-builtin-cfgs-in-flags = "deny" +explicit-outlives-requirements = "allow" +exported-private-dependencies = "warn" +ffi-unwind-calls = "allow" +for-loops-over-fallibles = "warn" +forbidden-lint-groups = "warn" +forgetting-copy-types = "warn" +forgetting-references = "warn" +function-item-references = "warn" +fuzzy-provenance-casts = "allow" +hidden-glob-reexports = "warn" +if-let-rescope = "allow" +ill-formed-attribute-input = "deny" +impl-trait-overcaptures = "allow" +impl-trait-redundant-captures = "allow" +improper-ctypes = "warn" +improper-ctypes-definitions = "warn" +incomplete-features = "warn" +incomplete-include = "deny" +ineffective-unstable-trait-impl = "deny" +inline-no-sanitize = "warn" +internal-features = "warn" +invalid-atomic-ordering = "deny" +invalid-doc-attributes = "deny" +invalid-from-utf8 = "warn" +invalid-from-utf8-unchecked = "deny" +invalid-macro-export-arguments = "warn" +invalid-nan-comparisons = "warn" +invalid-null-arguments = "deny" +invalid-reference-casting = "deny" +invalid-type-param-default = "deny" +invalid-value = "warn" +irrefutable-let-patterns = "warn" +keyword-idents-2018 = "allow" +keyword-idents-2024 = "allow" +large-assignments = "warn" +late-bound-lifetime-arguments = "warn" +legacy-derive-helpers = "warn" +let-underscore-drop = "allow" +let-underscore-lock = "deny" +linker-messages = "allow" +long-running-const-eval = "deny" +lossy-provenance-casts = "allow" +macro-expanded-macro-exports-accessed-by-absolute-paths = "deny" +macro-use-extern-crate = "allow" +map-unit-fn = "warn" +meta-variable-misuse = "allow" +missing-abi = "warn" +missing-copy-implementations = "allow" +missing-debug-implementations = "allow" +missing-docs = "allow" +missing-fragment-specifier = "deny" +missing-unsafe-on-extern = "allow" +mixed-script-confusables = "warn" +multiple-supertrait-upcastable = "allow" +must-not-suspend = "allow" +mutable-transmutes = "deny" +named-arguments-used-positionally = "warn" +named-asm-labels = "deny" +never-type-fallback-flowing-into-unsafe = "warn" +no-mangle-const-items = "deny" +no-mangle-generic-items = "warn" +non-ascii-idents = "allow" +non-camel-case-types = "warn" +non-contiguous-range-endpoints = "warn" +non-exhaustive-omitted-patterns = "allow" +non-fmt-panics = "warn" +non-local-definitions = "warn" +non-shorthand-field-patterns = "warn" +non-snake-case = "warn" +non-upper-case-globals = "warn" +noop-method-call = "warn" +opaque-hidden-inferred-bound = "warn" +out-of-scope-macro-calls = "warn" +overflowing-literals = "deny" +overlapping-range-endpoints = "warn" +path-statements = "warn" +patterns-in-fns-without-body = "deny" +private-bounds = "warn" +private-interfaces = "warn" +proc-macro-derive-resolution-fallback = "deny" +ptr-to-integer-transmute-in-consts = "warn" +pub-use-of-private-extern-crate = "deny" +redundant-imports = "allow" +redundant-lifetimes = "allow" +redundant-semicolons = "warn" +refining-impl-trait-internal = "warn" +refining-impl-trait-reachable = "warn" +renamed-and-removed-lints = "warn" +repr-transparent-external-private-fields = "warn" +rust-2021-incompatible-closure-captures = "allow" +rust-2021-incompatible-or-patterns = "allow" +rust-2021-prefixes-incompatible-syntax = "allow" +rust-2021-prelude-collisions = "allow" +rust-2024-guarded-string-incompatible-syntax = "allow" +rust-2024-incompatible-pat = "allow" +rust-2024-prelude-collisions = "allow" +self-constructor-from-outer-item = "warn" +semicolon-in-expressions-from-macros = "warn" +single-use-lifetimes = "allow" +soft-unstable = "deny" +special-module-name = "warn" +stable-features = "warn" +static-mut-refs = "warn" +supertrait-item-shadowing-definition = "allow" +supertrait-item-shadowing-usage = "allow" +suspicious-double-ref-op = "warn" +tail-expr-drop-order = "allow" +test-unstable-lint = "deny" +text-direction-codepoint-in-comment = "deny" +text-direction-codepoint-in-literal = "deny" +trivial-bounds = "warn" +trivial-casts = "allow" +trivial-numeric-casts = "allow" +type-alias-bounds = "warn" +tyvar-behind-raw-pointer = "warn" +uncommon-codepoints = "warn" +unconditional-panic = "deny" +unconditional-recursion = "warn" +uncovered-param-in-projection = "warn" +undropped-manually-drops = "deny" +unexpected-cfgs = "warn" +unfulfilled-lint-expectations = "warn" +ungated-async-fn-track-caller = "warn" +uninhabited-static = "warn" +unit-bindings = "allow" +unknown-crate-types = "deny" +unknown-lints = "warn" +unknown-or-malformed-diagnostic-attributes = "warn" +unnameable-test-items = "warn" +unnameable-types = "allow" +unnecessary-transmutes = "warn" +unpredictable-function-pointer-comparisons = "warn" +unqualified-local-imports = "allow" +unreachable-code = "warn" +unreachable-patterns = "warn" +unreachable-pub = "allow" +unsafe-attr-outside-unsafe = "allow" +unsafe-code = "allow" +unsafe-op-in-unsafe-fn = "allow" +unstable-features = "allow" +unstable-name-collisions = "warn" +unstable-syntax-pre-expansion = "warn" +unsupported-fn-ptr-calling-conventions = "warn" +unused-allocation = "warn" +unused-assignments = "warn" +unused-associated-type-bounds = "warn" +unused-attributes = "warn" +unused-braces = "warn" +unused-comparisons = "warn" +unused-crate-dependencies = "allow" +unused-doc-comments = "warn" +unused-extern-crates = "allow" +unused-features = "warn" +unused-import-braces = "allow" +unused-imports = "warn" +unused-labels = "warn" +unused-lifetimes = "allow" +unused-macro-rules = "allow" +unused-macros = "warn" +unused-must-use = "warn" +unused-mut = "warn" +unused-parens = "warn" +unused-qualifications = "allow" +unused-results = "allow" +unused-unsafe = "warn" +unused-variables = "warn" +useless-deprecated = "deny" +useless-ptr-null-checks = "warn" +uses-power-alignment = "warn" +variant-size-differences = "allow" +warnings = "warn" +wasm-c-abi = "warn" +while-true = "warn" + +[workspace.lints.rustdoc] +bare-urls = "warn" +broken-intra-doc-links = "warn" +invalid-codeblock-attributes = "warn" +invalid-html-tags = "warn" +invalid-rust-codeblocks = "warn" +missing-crate-level-docs = "allow" +missing-doc-code-examples = "allow" +private-doc-tests = "allow" +private-intra-doc-links = "warn" +redundant-explicit-links = "warn" +unescaped-backticks = "allow" diff --git a/lints/1.89.toml b/lints/1.89.toml new file mode 100644 index 0000000..f877719 --- /dev/null +++ b/lints/1.89.toml @@ -0,0 +1,1025 @@ +[workspace.lints.clippy] +absolute-paths = "allow" +absurd-extreme-comparisons = "deny" +alloc-instead-of-core = "allow" +allow-attributes = "allow" +allow-attributes-without-reason = "allow" +almost-complete-range = "warn" +almost-swapped = "deny" +approx-constant = "deny" +arbitrary-source-item-ordering = "allow" +arc-with-non-send-sync = "warn" +arithmetic-side-effects = "allow" +as-conversions = "allow" +as-pointer-underscore = "allow" +as-ptr-cast-mut = "allow" +as-underscore = "allow" +assertions-on-constants = "warn" +assertions-on-result-states = "allow" +assign-op-pattern = "warn" +assigning-clones = "allow" +async-yields-async = "deny" +await-holding-invalid-type = "warn" +await-holding-lock = "warn" +await-holding-refcell-ref = "warn" +bad-bit-mask = "deny" +big-endian-bytes = "allow" +bind-instead-of-map = "warn" +blanket-clippy-restriction-lints = "warn" +blocks-in-conditions = "warn" +bool-assert-comparison = "warn" +bool-comparison = "warn" +bool-to-int-with-if = "allow" +borrow-as-ptr = "allow" +borrow-deref-ref = "warn" +borrow-interior-mutable-const = "warn" +borrowed-box = "warn" +box-collection = "warn" +box-default = "warn" +boxed-local = "warn" +branches-sharing-code = "allow" +builtin-type-shadow = "warn" +byte-char-slices = "warn" +bytes-count-to-len = "warn" +bytes-nth = "warn" +cargo-common-metadata = "allow" +case-sensitive-file-extension-comparisons = "allow" +cast-abs-to-unsigned = "warn" +cast-enum-constructor = "warn" +cast-enum-truncation = "warn" +cast-lossless = "allow" +cast-nan-to-int = "warn" +cast-possible-truncation = "allow" +cast-possible-wrap = "allow" +cast-precision-loss = "allow" +cast-ptr-alignment = "allow" +cast-sign-loss = "allow" +cast-slice-different-sizes = "deny" +cast-slice-from-raw-parts = "warn" +cfg-not-test = "allow" +char-indices-as-byte-indices = "deny" +char-lit-as-u8 = "warn" +chars-last-cmp = "warn" +chars-next-cmp = "warn" +checked-conversions = "allow" +clear-with-drain = "allow" +clone-on-copy = "warn" +clone-on-ref-ptr = "allow" +cloned-instead-of-copied = "allow" +cloned-ref-to-slice-refs = "warn" +cmp-null = "warn" +cmp-owned = "warn" +coerce-container-to-any = "allow" +cognitive-complexity = "allow" +collapsible-else-if = "warn" +collapsible-if = "warn" +collapsible-match = "warn" +collapsible-str-replace = "warn" +collection-is-never-read = "allow" +comparison-chain = "allow" +comparison-to-empty = "warn" +confusing-method-to-numeric-cast = "warn" +const-is-empty = "warn" +copy-iterator = "allow" +crate-in-macro-def = "warn" +create-dir = "allow" +crosspointer-transmute = "warn" +dbg-macro = "allow" +debug-assert-with-mut-call = "allow" +decimal-literal-representation = "allow" +declare-interior-mutable-const = "warn" +default-constructed-unit-structs = "warn" +default-instead-of-iter-empty = "warn" +default-numeric-fallback = "allow" +default-trait-access = "allow" +default-union-representation = "allow" +deprecated-cfg-attr = "warn" +deprecated-clippy-cfg-attr = "warn" +deprecated-semver = "deny" +deref-addrof = "warn" +deref-by-slicing = "allow" +derivable-impls = "warn" +derive-ord-xor-partial-ord = "deny" +derive-partial-eq-without-eq = "allow" +derived-hash-with-manual-eq = "deny" +disallowed-macros = "warn" +disallowed-methods = "warn" +disallowed-names = "warn" +disallowed-script-idents = "allow" +disallowed-types = "warn" +diverging-sub-expression = "warn" +doc-comment-double-space-linebreaks = "allow" +doc-include-without-cfg = "allow" +doc-lazy-continuation = "warn" +doc-link-code = "allow" +doc-link-with-quotes = "allow" +doc-markdown = "allow" +doc-nested-refdefs = "warn" +doc-overindented-list-items = "warn" +doc-suspicious-footnotes = "warn" +double-comparisons = "warn" +double-ended-iterator-last = "warn" +double-must-use = "warn" +double-parens = "warn" +drain-collect = "warn" +drop-non-drop = "warn" +duplicate-mod = "warn" +duplicate-underscore-argument = "warn" +duplicated-attributes = "warn" +duration-subsec = "warn" +eager-transmute = "deny" +elidable-lifetime-names = "allow" +else-if-without-else = "allow" +empty-docs = "warn" +empty-drop = "allow" +empty-enum = "allow" +empty-enum-variants-with-brackets = "allow" +empty-line-after-doc-comments = "warn" +empty-line-after-outer-attr = "warn" +empty-loop = "warn" +empty-structs-with-brackets = "allow" +enum-clike-unportable-variant = "deny" +enum-glob-use = "allow" +enum-variant-names = "warn" +eq-op = "deny" +equatable-if-let = "allow" +erasing-op = "deny" +err-expect = "warn" +error-impl-error = "allow" +excessive-nesting = "warn" +excessive-precision = "warn" +exhaustive-enums = "allow" +exhaustive-structs = "allow" +exit = "allow" +expect-fun-call = "warn" +expect-used = "allow" +expl-impl-clone-on-copy = "allow" +explicit-auto-deref = "warn" +explicit-counter-loop = "warn" +explicit-deref-methods = "allow" +explicit-into-iter-loop = "allow" +explicit-iter-loop = "allow" +explicit-write = "warn" +extend-with-drain = "warn" +extra-unused-lifetimes = "warn" +extra-unused-type-parameters = "warn" +fallible-impl-from = "allow" +field-reassign-with-default = "warn" +field-scoped-visibility-modifiers = "allow" +filetype-is-file = "allow" +filter-map-bool-then = "warn" +filter-map-identity = "warn" +filter-map-next = "allow" +filter-next = "warn" +flat-map-identity = "warn" +flat-map-option = "allow" +float-arithmetic = "allow" +float-cmp = "allow" +float-cmp-const = "allow" +float-equality-without-abs = "warn" +fn-params-excessive-bools = "allow" +fn-to-numeric-cast = "warn" +fn-to-numeric-cast-any = "allow" +fn-to-numeric-cast-with-truncation = "warn" +for-kv-map = "warn" +forget-non-drop = "warn" +format-collect = "allow" +format-in-format-args = "warn" +format-push-string = "allow" +four-forward-slashes = "warn" +from-iter-instead-of-collect = "allow" +from-over-into = "warn" +from-raw-with-void-ptr = "warn" +from-str-radix-10 = "warn" +future-not-send = "allow" +get-first = "warn" +get-last-with-len = "warn" +get-unwrap = "allow" +host-endian-bytes = "allow" +identity-op = "warn" +if-let-mutex = "deny" +if-not-else = "allow" +if-same-then-else = "warn" +if-then-some-else-none = "allow" +ifs-same-cond = "deny" +ignore-without-reason = "allow" +ignored-unit-patterns = "allow" +impl-hash-borrow-with-str-and-bytes = "deny" +impl-trait-in-params = "allow" +implicit-clone = "allow" +implicit-hasher = "allow" +implicit-return = "allow" +implicit-saturating-add = "warn" +implicit-saturating-sub = "warn" +implied-bounds-in-impls = "warn" +impossible-comparisons = "deny" +imprecise-flops = "allow" +incompatible-msrv = "warn" +inconsistent-digit-grouping = "warn" +inconsistent-struct-constructor = "allow" +index-refutable-slice = "allow" +indexing-slicing = "allow" +ineffective-bit-mask = "deny" +ineffective-open-options = "warn" +inefficient-to-string = "allow" +infallible-destructuring-match = "warn" +infallible-try-from = "warn" +infinite-iter = "deny" +infinite-loop = "allow" +inherent-to-string = "warn" +inherent-to-string-shadow-display = "deny" +init-numbered-fields = "warn" +inline-always = "allow" +inline-asm-x86-att-syntax = "allow" +inline-asm-x86-intel-syntax = "allow" +inline-fn-without-body = "deny" +inspect-for-each = "warn" +int-plus-one = "warn" +integer-division = "allow" +integer-division-remainder-used = "allow" +into-iter-on-ref = "warn" +into-iter-without-iter = "allow" +invalid-regex = "deny" +invalid-upcast-comparisons = "allow" +inverted-saturating-sub = "deny" +invisible-characters = "deny" +io-other-error = "warn" +ip-constant = "allow" +is-digit-ascii-radix = "warn" +items-after-statements = "allow" +items-after-test-module = "warn" +iter-cloned-collect = "warn" +iter-count = "warn" +iter-filter-is-ok = "allow" +iter-filter-is-some = "allow" +iter-kv-map = "warn" +iter-next-loop = "deny" +iter-next-slice = "warn" +iter-not-returning-iterator = "allow" +iter-nth = "warn" +iter-nth-zero = "warn" +iter-on-empty-collections = "allow" +iter-on-single-items = "allow" +iter-out-of-bounds = "warn" +iter-over-hash-type = "allow" +iter-overeager-cloned = "warn" +iter-skip-next = "warn" +iter-skip-zero = "deny" +iter-with-drain = "allow" +iter-without-into-iter = "allow" +iterator-step-by-zero = "deny" +join-absolute-paths = "warn" +just-underscores-and-digits = "warn" +large-const-arrays = "warn" +large-digit-groups = "allow" +large-enum-variant = "warn" +large-futures = "allow" +large-include-file = "allow" +large-stack-arrays = "allow" +large-stack-frames = "allow" +large-types-passed-by-value = "allow" +legacy-numeric-constants = "warn" +len-without-is-empty = "warn" +len-zero = "warn" +let-and-return = "warn" +let-underscore-future = "warn" +let-underscore-lock = "deny" +let-underscore-must-use = "allow" +let-underscore-untyped = "allow" +let-unit-value = "warn" +let-with-type-underscore = "warn" +lines-filter-map-ok = "warn" +linkedlist = "allow" +lint-groups-priority = "deny" +literal-string-with-formatting-args = "allow" +little-endian-bytes = "allow" +lossy-float-literal = "allow" +macro-metavars-in-unsafe = "warn" +macro-use-imports = "allow" +main-recursion = "warn" +manual-abs-diff = "warn" +manual-assert = "allow" +manual-async-fn = "warn" +manual-bits = "warn" +manual-c-str-literals = "warn" +manual-clamp = "warn" +manual-contains = "warn" +manual-dangling-ptr = "warn" +manual-div-ceil = "warn" +manual-filter = "warn" +manual-filter-map = "warn" +manual-find = "warn" +manual-find-map = "warn" +manual-flatten = "warn" +manual-hash-one = "warn" +manual-ignore-case-cmp = "warn" +manual-inspect = "warn" +manual-instant-elapsed = "allow" +manual-is-ascii-check = "warn" +manual-is-finite = "warn" +manual-is-infinite = "warn" +manual-is-power-of-two = "allow" +manual-is-variant-and = "allow" +manual-let-else = "allow" +manual-main-separator-str = "warn" +manual-map = "warn" +manual-memcpy = "warn" +manual-midpoint = "allow" +manual-next-back = "warn" +manual-non-exhaustive = "warn" +manual-ok-err = "warn" +manual-ok-or = "warn" +manual-option-as-slice = "warn" +manual-pattern-char-comparison = "warn" +manual-range-contains = "warn" +manual-range-patterns = "warn" +manual-rem-euclid = "warn" +manual-repeat-n = "warn" +manual-retain = "warn" +manual-rotate = "warn" +manual-saturating-arithmetic = "warn" +manual-slice-fill = "warn" +manual-slice-size-calculation = "warn" +manual-split-once = "warn" +manual-str-repeat = "warn" +manual-string-new = "allow" +manual-strip = "warn" +manual-swap = "warn" +manual-try-fold = "warn" +manual-unwrap-or = "warn" +manual-unwrap-or-default = "warn" +manual-while-let-some = "warn" +many-single-char-names = "allow" +map-all-any-identity = "warn" +map-clone = "warn" +map-collect-result-unit = "warn" +map-entry = "warn" +map-err-ignore = "allow" +map-flatten = "warn" +map-identity = "warn" +map-unwrap-or = "allow" +map-with-unused-argument-over-ranges = "allow" +match-as-ref = "warn" +match-bool = "allow" +match-like-matches-macro = "warn" +match-overlapping-arm = "warn" +match-ref-pats = "warn" +match-result-ok = "warn" +match-same-arms = "allow" +match-single-binding = "warn" +match-str-case-mismatch = "deny" +match-wild-err-arm = "allow" +match-wildcard-for-single-variants = "allow" +maybe-infinite-iter = "allow" +mem-forget = "allow" +mem-replace-option-with-none = "warn" +mem-replace-option-with-some = "warn" +mem-replace-with-default = "warn" +mem-replace-with-uninit = "deny" +min-ident-chars = "allow" +min-max = "deny" +mismatching-type-param-order = "allow" +misnamed-getters = "warn" +misrefactored-assign-op = "warn" +missing-assert-message = "allow" +missing-asserts-for-indexing = "allow" +missing-const-for-fn = "allow" +missing-const-for-thread-local = "warn" +missing-docs-in-private-items = "allow" +missing-enforced-import-renames = "warn" +missing-errors-doc = "allow" +missing-fields-in-debug = "allow" +missing-inline-in-public-items = "allow" +missing-panics-doc = "allow" +missing-safety-doc = "warn" +missing-spin-loop = "warn" +missing-trait-methods = "allow" +missing-transmute-annotations = "warn" +mistyped-literal-suffixes = "deny" +mixed-attributes-style = "warn" +mixed-case-hex-literals = "warn" +mixed-read-write-in-expression = "allow" +mod-module-files = "allow" +module-inception = "warn" +module-name-repetitions = "allow" +modulo-arithmetic = "allow" +modulo-one = "deny" +multi-assignments = "warn" +multiple-bound-locations = "warn" +multiple-crate-versions = "allow" +multiple-inherent-impl = "allow" +multiple-unsafe-ops-per-block = "allow" +must-use-candidate = "allow" +must-use-unit = "warn" +mut-from-ref = "deny" +mut-mut = "allow" +mut-mutex-lock = "warn" +mut-range-bound = "warn" +mutable-key-type = "warn" +mutex-atomic = "allow" +mutex-integer = "allow" +naive-bytecount = "allow" +needless-arbitrary-self-type = "warn" +needless-as-bytes = "warn" +needless-bitwise-bool = "allow" +needless-bool = "warn" +needless-bool-assign = "warn" +needless-borrow = "warn" +needless-borrowed-reference = "warn" +needless-borrows-for-generic-args = "warn" +needless-character-iteration = "warn" +needless-collect = "allow" +needless-continue = "allow" +needless-doctest-main = "warn" +needless-else = "warn" +needless-for-each = "allow" +needless-if = "warn" +needless-late-init = "warn" +needless-lifetimes = "warn" +needless-match = "warn" +needless-maybe-sized = "warn" +needless-option-as-deref = "warn" +needless-option-take = "warn" +needless-parens-on-range-literals = "warn" +needless-pass-by-ref-mut = "allow" +needless-pass-by-value = "allow" +needless-pub-self = "warn" +needless-question-mark = "warn" +needless-range-loop = "warn" +needless-raw-string-hashes = "allow" +needless-raw-strings = "allow" +needless-return = "warn" +needless-return-with-question-mark = "warn" +needless-splitn = "warn" +needless-update = "warn" +neg-cmp-op-on-partial-ord = "warn" +neg-multiply = "warn" +negative-feature-names = "allow" +never-loop = "deny" +new-ret-no-self = "warn" +new-without-default = "warn" +no-effect = "warn" +no-effect-replace = "warn" +no-effect-underscore-binding = "allow" +no-mangle-with-rust-abi = "allow" +non-ascii-literal = "allow" +non-canonical-clone-impl = "warn" +non-canonical-partial-ord-impl = "warn" +non-minimal-cfg = "warn" +non-octal-unix-permissions = "deny" +non-send-fields-in-send-ty = "allow" +non-std-lazy-statics = "allow" +non-zero-suggestions = "allow" +nonminimal-bool = "warn" +nonsensical-open-options = "deny" +nonstandard-macro-braces = "allow" +not-unsafe-ptr-arg-deref = "deny" +obfuscated-if-else = "warn" +octal-escapes = "warn" +ok-expect = "warn" +only-used-in-recursion = "warn" +op-ref = "warn" +option-as-ref-cloned = "allow" +option-as-ref-deref = "warn" +option-env-unwrap = "deny" +option-filter-map = "warn" +option-if-let-else = "allow" +option-map-or-none = "warn" +option-map-unit-fn = "warn" +option-option = "allow" +or-fun-call = "allow" +or-then-unwrap = "warn" +out-of-bounds-indexing = "deny" +overly-complex-bool-expr = "deny" +owned-cow = "warn" +panic = "allow" +panic-in-result-fn = "allow" +panicking-overflow-checks = "deny" +panicking-unwrap = "deny" +partial-pub-fields = "allow" +partialeq-ne-impl = "warn" +partialeq-to-none = "warn" +path-buf-push-overwrite = "allow" +path-ends-with-ext = "warn" +pathbuf-init-then-push = "allow" +pattern-type-mismatch = "allow" +permissions-set-readonly-false = "warn" +pointer-format = "allow" +pointers-in-nomem-asm-block = "warn" +possible-missing-comma = "deny" +precedence = "warn" +precedence-bits = "allow" +print-in-format-impl = "warn" +print-literal = "warn" +print-stderr = "allow" +print-stdout = "allow" +print-with-newline = "warn" +println-empty-string = "warn" +ptr-arg = "warn" +ptr-as-ptr = "allow" +ptr-cast-constness = "allow" +ptr-eq = "warn" +ptr-offset-with-cast = "warn" +pub-underscore-fields = "allow" +pub-use = "allow" +pub-with-shorthand = "allow" +pub-without-shorthand = "allow" +question-mark = "warn" +question-mark-used = "allow" +range-minus-one = "allow" +range-plus-one = "allow" +range-zip-with-len = "warn" +rc-buffer = "allow" +rc-clone-in-vec-init = "warn" +rc-mutex = "allow" +read-line-without-trim = "deny" +read-zero-byte-vec = "allow" +readonly-write-lock = "warn" +recursive-format-impl = "deny" +redundant-allocation = "warn" +redundant-as-str = "warn" +redundant-async-block = "warn" +redundant-at-rest-pattern = "warn" +redundant-clone = "allow" +redundant-closure = "warn" +redundant-closure-call = "warn" +redundant-closure-for-method-calls = "allow" +redundant-comparisons = "deny" +redundant-else = "allow" +redundant-feature-names = "allow" +redundant-field-names = "warn" +redundant-guards = "warn" +redundant-locals = "warn" +redundant-pattern = "warn" +redundant-pattern-matching = "warn" +redundant-pub-crate = "allow" +redundant-slicing = "warn" +redundant-static-lifetimes = "warn" +redundant-test-prefix = "allow" +redundant-type-annotations = "allow" +ref-as-ptr = "allow" +ref-binding-to-reference = "allow" +ref-option = "allow" +ref-option-ref = "allow" +ref-patterns = "allow" +regex-creation-in-loops = "warn" +renamed-function-params = "allow" +repeat-once = "warn" +repeat-vec-with-capacity = "warn" +repr-packed-without-abi = "warn" +reserve-after-initialization = "warn" +rest-pat-in-fully-bound-structs = "allow" +result-filter-map = "warn" +result-large-err = "warn" +result-map-or-into-option = "warn" +result-map-unit-fn = "warn" +result-unit-err = "warn" +return-and-then = "allow" +return-self-not-must-use = "allow" +reversed-empty-ranges = "deny" +same-functions-in-if-condition = "allow" +same-item-push = "warn" +same-name-method = "allow" +search-is-some = "warn" +seek-from-current = "warn" +seek-to-start-instead-of-rewind = "warn" +self-assignment = "deny" +self-named-constructors = "warn" +self-named-module-files = "allow" +semicolon-if-nothing-returned = "allow" +semicolon-inside-block = "allow" +semicolon-outside-block = "allow" +separated-literal-suffix = "allow" +serde-api-misuse = "deny" +set-contains-or-insert = "allow" +shadow-reuse = "allow" +shadow-same = "allow" +shadow-unrelated = "allow" +short-circuit-statement = "warn" +should-implement-trait = "warn" +should-panic-without-expect = "allow" +significant-drop-in-scrutinee = "allow" +significant-drop-tightening = "allow" +similar-names = "allow" +single-call-fn = "allow" +single-char-add-str = "warn" +single-char-lifetime-names = "allow" +single-char-pattern = "allow" +single-component-path-imports = "warn" +single-element-loop = "warn" +single-match = "warn" +single-match-else = "allow" +single-option-map = "allow" +single-range-in-vec-init = "warn" +size-of-in-element-count = "deny" +size-of-ref = "warn" +skip-while-next = "warn" +sliced-string-as-bytes = "warn" +slow-vector-initialization = "warn" +stable-sort-primitive = "allow" +std-instead-of-alloc = "allow" +std-instead-of-core = "allow" +str-split-at-newline = "allow" +str-to-string = "allow" +string-add = "allow" +string-add-assign = "allow" +string-extend-chars = "warn" +string-from-utf8-as-bytes = "warn" +string-lit-as-bytes = "allow" +string-lit-chars-any = "allow" +string-slice = "allow" +string-to-string = "allow" +strlen-on-c-strings = "warn" +struct-excessive-bools = "allow" +struct-field-names = "allow" +suboptimal-flops = "allow" +suspicious-arithmetic-impl = "warn" +suspicious-assignment-formatting = "warn" +suspicious-command-arg-space = "warn" +suspicious-doc-comments = "warn" +suspicious-else-formatting = "warn" +suspicious-map = "warn" +suspicious-op-assign-impl = "warn" +suspicious-open-options = "warn" +suspicious-operation-groupings = "allow" +suspicious-splitn = "deny" +suspicious-to-owned = "warn" +suspicious-unary-op-formatting = "warn" +suspicious-xor-used-as-pow = "allow" +swap-ptr-to-ref = "warn" +swap-with-temporary = "warn" +tabs-in-doc-comments = "warn" +temporary-assignment = "warn" +test-attr-in-doctest = "warn" +tests-outside-test-module = "allow" +to-digit-is-some = "warn" +to-string-in-format-args = "warn" +to-string-trait-impl = "warn" +todo = "allow" +too-long-first-doc-paragraph = "allow" +too-many-arguments = "warn" +too-many-lines = "allow" +toplevel-ref-arg = "warn" +trailing-empty-array = "allow" +trait-duplication-in-bounds = "allow" +transmute-bytes-to-str = "warn" +transmute-int-to-bool = "warn" +transmute-int-to-non-zero = "warn" +transmute-null-to-fn = "deny" +transmute-ptr-to-ptr = "allow" +transmute-ptr-to-ref = "warn" +transmute-undefined-repr = "allow" +transmutes-expressible-as-ptr-casts = "warn" +transmuting-null = "deny" +trim-split-whitespace = "warn" +trivial-regex = "allow" +trivially-copy-pass-by-ref = "allow" +try-err = "allow" +tuple-array-conversions = "allow" +type-complexity = "warn" +type-id-on-box = "warn" +type-repetition-in-bounds = "allow" +unbuffered-bytes = "warn" +unchecked-duration-subtraction = "allow" +unconditional-recursion = "warn" +undocumented-unsafe-blocks = "allow" +unicode-not-nfc = "allow" +unimplemented = "allow" +uninhabited-references = "allow" +uninit-assumed-init = "deny" +uninit-vec = "deny" +uninlined-format-args = "allow" +unit-arg = "warn" +unit-cmp = "deny" +unit-hash = "deny" +unit-return-expecting-ord = "deny" +unnecessary-box-returns = "allow" +unnecessary-cast = "warn" +unnecessary-clippy-cfg = "warn" +unnecessary-debug-formatting = "allow" +unnecessary-fallible-conversions = "warn" +unnecessary-filter-map = "warn" +unnecessary-find-map = "warn" +unnecessary-first-then-check = "warn" +unnecessary-fold = "warn" +unnecessary-get-then-check = "warn" +unnecessary-join = "allow" +unnecessary-lazy-evaluations = "warn" +unnecessary-literal-bound = "allow" +unnecessary-literal-unwrap = "warn" +unnecessary-map-on-constructor = "warn" +unnecessary-map-or = "warn" +unnecessary-min-or-max = "warn" +unnecessary-mut-passed = "warn" +unnecessary-operation = "warn" +unnecessary-owned-empty-strings = "warn" +unnecessary-result-map-or-else = "warn" +unnecessary-safety-comment = "allow" +unnecessary-safety-doc = "allow" +unnecessary-self-imports = "allow" +unnecessary-semicolon = "allow" +unnecessary-sort-by = "warn" +unnecessary-struct-initialization = "allow" +unnecessary-to-owned = "warn" +unnecessary-unwrap = "warn" +unnecessary-wraps = "allow" +unneeded-field-pattern = "allow" +unneeded-struct-pattern = "warn" +unneeded-wildcard-pattern = "warn" +unnested-or-patterns = "allow" +unreachable = "allow" +unreadable-literal = "allow" +unsafe-derive-deserialize = "allow" +unsafe-removed-from-name = "warn" +unseparated-literal-suffix = "allow" +unsound-collection-transmute = "deny" +unused-async = "allow" +unused-enumerate-index = "warn" +unused-format-specs = "warn" +unused-io-amount = "deny" +unused-peekable = "allow" +unused-result-ok = "allow" +unused-rounding = "allow" +unused-self = "allow" +unused-trait-names = "allow" +unused-unit = "warn" +unusual-byte-groupings = "warn" +unwrap-in-result = "allow" +unwrap-or-default = "warn" +unwrap-used = "allow" +upper-case-acronyms = "warn" +use-debug = "allow" +use-self = "allow" +used-underscore-binding = "allow" +used-underscore-items = "allow" +useless-asref = "warn" +useless-attribute = "deny" +useless-concat = "warn" +useless-conversion = "warn" +useless-format = "warn" +useless-let-if-seq = "allow" +useless-nonzero-new-unchecked = "warn" +useless-transmute = "warn" +useless-vec = "warn" +vec-box = "warn" +vec-init-then-push = "warn" +vec-resize-to-zero = "deny" +verbose-bit-mask = "allow" +verbose-file-reads = "allow" +waker-clone-wake = "warn" +while-float = "allow" +while-immutable-condition = "deny" +while-let-loop = "warn" +while-let-on-iterator = "warn" +wildcard-dependencies = "allow" +wildcard-enum-match-arm = "allow" +wildcard-imports = "allow" +wildcard-in-or-patterns = "warn" +write-literal = "warn" +write-with-newline = "warn" +writeln-empty-string = "warn" +wrong-self-convention = "warn" +wrong-transmute = "deny" +zero-divided-by-zero = "warn" +zero-prefixed-literal = "warn" +zero-ptr = "warn" +zero-repeat-side-effects = "warn" +zero-sized-map-values = "allow" +zombie-processes = "warn" +zst-offset = "deny" + +[workspace.lints.rust] +aarch64-softfloat-neon = "warn" +absolute-paths-not-starting-with-crate = "allow" +ambiguous-associated-items = "deny" +ambiguous-glob-imports = "warn" +ambiguous-glob-reexports = "warn" +ambiguous-negative-literals = "allow" +ambiguous-wide-pointer-comparisons = "warn" +anonymous-parameters = "warn" +arithmetic-overflow = "deny" +array-into-iter = "warn" +asm-sub-register = "warn" +async-fn-in-trait = "warn" +bad-asm-style = "warn" +bare-trait-objects = "warn" +binary-asm-labels = "deny" +bindings-with-variant-name = "deny" +boxed-slice-into-iter = "warn" +break-with-label-and-loop = "warn" +clashing-extern-declarations = "warn" +closure-returning-async-block = "allow" +coherence-leak-check = "warn" +conflicting-repr-hints = "deny" +confusable-idents = "warn" +const-evaluatable-unchecked = "warn" +const-item-mutation = "warn" +dangerous-implicit-autorefs = "deny" +dangling-pointers-from-temporaries = "warn" +dead-code = "warn" +default-overrides-default-fields = "deny" +dependency-on-unit-never-type-fallback = "warn" +deprecated = "warn" +deprecated-in-future = "allow" +deprecated-safe-2024 = "allow" +deprecated-where-clause-location = "warn" +deref-into-dyn-supertrait = "allow" +deref-nullptr = "warn" +double-negations = "warn" +drop-bounds = "warn" +dropping-copy-types = "warn" +dropping-references = "warn" +duplicate-macro-attributes = "warn" +dyn-drop = "warn" +edition-2024-expr-fragment-specifier = "allow" +elided-lifetimes-in-associated-constant = "deny" +elided-lifetimes-in-paths = "allow" +ellipsis-inclusive-range-patterns = "warn" +enum-intrinsics-non-enums = "deny" +explicit-builtin-cfgs-in-flags = "deny" +explicit-outlives-requirements = "allow" +exported-private-dependencies = "warn" +ffi-unwind-calls = "allow" +for-loops-over-fallibles = "warn" +forbidden-lint-groups = "warn" +forgetting-copy-types = "warn" +forgetting-references = "warn" +function-item-references = "warn" +fuzzy-provenance-casts = "allow" +hidden-glob-reexports = "warn" +if-let-rescope = "allow" +ill-formed-attribute-input = "deny" +impl-trait-overcaptures = "allow" +impl-trait-redundant-captures = "allow" +improper-ctypes = "warn" +improper-ctypes-definitions = "warn" +incomplete-features = "warn" +incomplete-include = "deny" +ineffective-unstable-trait-impl = "deny" +inline-no-sanitize = "warn" +internal-features = "warn" +invalid-atomic-ordering = "deny" +invalid-doc-attributes = "deny" +invalid-from-utf8 = "warn" +invalid-from-utf8-unchecked = "deny" +invalid-macro-export-arguments = "warn" +invalid-nan-comparisons = "warn" +invalid-null-arguments = "deny" +invalid-reference-casting = "deny" +invalid-type-param-default = "deny" +invalid-value = "warn" +irrefutable-let-patterns = "warn" +keyword-idents-2018 = "allow" +keyword-idents-2024 = "allow" +large-assignments = "warn" +late-bound-lifetime-arguments = "warn" +legacy-derive-helpers = "warn" +let-underscore-drop = "allow" +let-underscore-lock = "deny" +linker-messages = "allow" +long-running-const-eval = "deny" +lossy-provenance-casts = "allow" +macro-expanded-macro-exports-accessed-by-absolute-paths = "deny" +macro-use-extern-crate = "allow" +map-unit-fn = "warn" +meta-variable-misuse = "allow" +mismatched-lifetime-syntaxes = "warn" +missing-abi = "warn" +missing-copy-implementations = "allow" +missing-debug-implementations = "allow" +missing-docs = "allow" +missing-unsafe-on-extern = "allow" +mixed-script-confusables = "warn" +multiple-supertrait-upcastable = "allow" +must-not-suspend = "allow" +mutable-transmutes = "deny" +named-arguments-used-positionally = "warn" +named-asm-labels = "deny" +never-type-fallback-flowing-into-unsafe = "warn" +no-mangle-const-items = "deny" +no-mangle-generic-items = "warn" +non-ascii-idents = "allow" +non-camel-case-types = "warn" +non-contiguous-range-endpoints = "warn" +non-exhaustive-omitted-patterns = "allow" +non-fmt-panics = "warn" +non-local-definitions = "warn" +non-shorthand-field-patterns = "warn" +non-snake-case = "warn" +non-upper-case-globals = "warn" +noop-method-call = "warn" +opaque-hidden-inferred-bound = "warn" +out-of-scope-macro-calls = "warn" +overflowing-literals = "deny" +overlapping-range-endpoints = "warn" +path-statements = "warn" +patterns-in-fns-without-body = "deny" +private-bounds = "warn" +private-interfaces = "warn" +proc-macro-derive-resolution-fallback = "deny" +ptr-to-integer-transmute-in-consts = "warn" +pub-use-of-private-extern-crate = "deny" +redundant-imports = "allow" +redundant-lifetimes = "allow" +redundant-semicolons = "warn" +refining-impl-trait-internal = "warn" +refining-impl-trait-reachable = "warn" +renamed-and-removed-lints = "warn" +repr-transparent-external-private-fields = "warn" +rust-2021-incompatible-closure-captures = "allow" +rust-2021-incompatible-or-patterns = "allow" +rust-2021-prefixes-incompatible-syntax = "allow" +rust-2021-prelude-collisions = "allow" +rust-2024-guarded-string-incompatible-syntax = "allow" +rust-2024-incompatible-pat = "allow" +rust-2024-prelude-collisions = "allow" +self-constructor-from-outer-item = "warn" +semicolon-in-expressions-from-macros = "warn" +single-use-lifetimes = "allow" +soft-unstable = "deny" +special-module-name = "warn" +stable-features = "warn" +static-mut-refs = "warn" +supertrait-item-shadowing-definition = "allow" +supertrait-item-shadowing-usage = "allow" +suspicious-double-ref-op = "warn" +tail-expr-drop-order = "allow" +test-unstable-lint = "deny" +text-direction-codepoint-in-comment = "deny" +text-direction-codepoint-in-literal = "deny" +trivial-bounds = "warn" +trivial-casts = "allow" +trivial-numeric-casts = "allow" +type-alias-bounds = "warn" +tyvar-behind-raw-pointer = "warn" +uncommon-codepoints = "warn" +unconditional-panic = "deny" +unconditional-recursion = "warn" +uncovered-param-in-projection = "warn" +undropped-manually-drops = "deny" +unexpected-cfgs = "warn" +unfulfilled-lint-expectations = "warn" +ungated-async-fn-track-caller = "warn" +uninhabited-static = "warn" +unit-bindings = "allow" +unknown-crate-types = "deny" +unknown-lints = "warn" +unknown-or-malformed-diagnostic-attributes = "warn" +unnameable-test-items = "warn" +unnameable-types = "allow" +unnecessary-transmutes = "warn" +unpredictable-function-pointer-comparisons = "warn" +unqualified-local-imports = "allow" +unreachable-code = "warn" +unreachable-patterns = "warn" +unreachable-pub = "allow" +unsafe-attr-outside-unsafe = "allow" +unsafe-code = "allow" +unsafe-op-in-unsafe-fn = "allow" +unstable-features = "allow" +unstable-name-collisions = "warn" +unstable-syntax-pre-expansion = "warn" +unsupported-calling-conventions = "warn" +unsupported-fn-ptr-calling-conventions = "warn" +unused-allocation = "warn" +unused-assignments = "warn" +unused-associated-type-bounds = "warn" +unused-attributes = "warn" +unused-braces = "warn" +unused-comparisons = "warn" +unused-crate-dependencies = "allow" +unused-doc-comments = "warn" +unused-extern-crates = "allow" +unused-features = "warn" +unused-import-braces = "allow" +unused-imports = "warn" +unused-labels = "warn" +unused-lifetimes = "allow" +unused-macro-rules = "allow" +unused-macros = "warn" +unused-must-use = "warn" +unused-mut = "warn" +unused-parens = "warn" +unused-qualifications = "allow" +unused-results = "allow" +unused-unsafe = "warn" +unused-variables = "warn" +useless-deprecated = "deny" +useless-ptr-null-checks = "warn" +uses-power-alignment = "warn" +variant-size-differences = "allow" +warnings = "warn" +while-true = "warn" + +[workspace.lints.rustdoc] +bare-urls = "warn" +broken-intra-doc-links = "warn" +invalid-codeblock-attributes = "warn" +invalid-html-tags = "warn" +invalid-rust-codeblocks = "warn" +missing-crate-level-docs = "allow" +missing-doc-code-examples = "allow" +private-doc-tests = "allow" +private-intra-doc-links = "warn" +redundant-explicit-links = "warn" +unescaped-backticks = "allow" diff --git a/lints/1.90.toml b/lints/1.90.toml new file mode 100644 index 0000000..642fa59 --- /dev/null +++ b/lints/1.90.toml @@ -0,0 +1,1029 @@ +[workspace.lints.clippy] +absolute-paths = "allow" +absurd-extreme-comparisons = "deny" +alloc-instead-of-core = "allow" +allow-attributes = "allow" +allow-attributes-without-reason = "allow" +almost-complete-range = "warn" +almost-swapped = "deny" +approx-constant = "deny" +arbitrary-source-item-ordering = "allow" +arc-with-non-send-sync = "warn" +arithmetic-side-effects = "allow" +as-conversions = "allow" +as-pointer-underscore = "allow" +as-ptr-cast-mut = "allow" +as-underscore = "allow" +assertions-on-constants = "warn" +assertions-on-result-states = "allow" +assign-op-pattern = "warn" +assigning-clones = "allow" +async-yields-async = "deny" +await-holding-invalid-type = "warn" +await-holding-lock = "warn" +await-holding-refcell-ref = "warn" +bad-bit-mask = "deny" +big-endian-bytes = "allow" +bind-instead-of-map = "warn" +blanket-clippy-restriction-lints = "warn" +blocks-in-conditions = "warn" +bool-assert-comparison = "warn" +bool-comparison = "warn" +bool-to-int-with-if = "allow" +borrow-as-ptr = "allow" +borrow-deref-ref = "warn" +borrow-interior-mutable-const = "warn" +borrowed-box = "warn" +box-collection = "warn" +box-default = "warn" +boxed-local = "warn" +branches-sharing-code = "allow" +builtin-type-shadow = "warn" +byte-char-slices = "warn" +bytes-count-to-len = "warn" +bytes-nth = "warn" +cargo-common-metadata = "allow" +case-sensitive-file-extension-comparisons = "allow" +cast-abs-to-unsigned = "warn" +cast-enum-constructor = "warn" +cast-enum-truncation = "warn" +cast-lossless = "allow" +cast-nan-to-int = "warn" +cast-possible-truncation = "allow" +cast-possible-wrap = "allow" +cast-precision-loss = "allow" +cast-ptr-alignment = "allow" +cast-sign-loss = "allow" +cast-slice-different-sizes = "deny" +cast-slice-from-raw-parts = "warn" +cfg-not-test = "allow" +char-indices-as-byte-indices = "deny" +char-lit-as-u8 = "warn" +chars-last-cmp = "warn" +chars-next-cmp = "warn" +checked-conversions = "allow" +clear-with-drain = "allow" +clone-on-copy = "warn" +clone-on-ref-ptr = "allow" +cloned-instead-of-copied = "allow" +cloned-ref-to-slice-refs = "warn" +cmp-null = "warn" +cmp-owned = "warn" +coerce-container-to-any = "allow" +cognitive-complexity = "allow" +collapsible-else-if = "warn" +collapsible-if = "warn" +collapsible-match = "warn" +collapsible-str-replace = "warn" +collection-is-never-read = "allow" +comparison-chain = "allow" +comparison-to-empty = "warn" +confusing-method-to-numeric-cast = "warn" +const-is-empty = "warn" +copy-iterator = "allow" +crate-in-macro-def = "warn" +create-dir = "allow" +crosspointer-transmute = "warn" +dbg-macro = "allow" +debug-assert-with-mut-call = "allow" +decimal-literal-representation = "allow" +declare-interior-mutable-const = "warn" +default-constructed-unit-structs = "warn" +default-instead-of-iter-empty = "warn" +default-numeric-fallback = "allow" +default-trait-access = "allow" +default-union-representation = "allow" +deprecated-cfg-attr = "warn" +deprecated-clippy-cfg-attr = "warn" +deprecated-semver = "deny" +deref-addrof = "warn" +deref-by-slicing = "allow" +derivable-impls = "warn" +derive-ord-xor-partial-ord = "deny" +derive-partial-eq-without-eq = "allow" +derived-hash-with-manual-eq = "deny" +disallowed-macros = "warn" +disallowed-methods = "warn" +disallowed-names = "warn" +disallowed-script-idents = "allow" +disallowed-types = "warn" +diverging-sub-expression = "warn" +doc-broken-link = "allow" +doc-comment-double-space-linebreaks = "allow" +doc-include-without-cfg = "allow" +doc-lazy-continuation = "warn" +doc-link-code = "allow" +doc-link-with-quotes = "allow" +doc-markdown = "allow" +doc-nested-refdefs = "warn" +doc-overindented-list-items = "warn" +doc-suspicious-footnotes = "warn" +double-comparisons = "warn" +double-ended-iterator-last = "warn" +double-must-use = "warn" +double-parens = "warn" +drain-collect = "warn" +drop-non-drop = "warn" +duplicate-mod = "warn" +duplicate-underscore-argument = "warn" +duplicated-attributes = "warn" +duration-subsec = "warn" +eager-transmute = "deny" +elidable-lifetime-names = "allow" +else-if-without-else = "allow" +empty-docs = "warn" +empty-drop = "allow" +empty-enum = "allow" +empty-enum-variants-with-brackets = "allow" +empty-line-after-doc-comments = "warn" +empty-line-after-outer-attr = "warn" +empty-loop = "warn" +empty-structs-with-brackets = "allow" +enum-clike-unportable-variant = "deny" +enum-glob-use = "allow" +enum-variant-names = "warn" +eq-op = "deny" +equatable-if-let = "allow" +erasing-op = "deny" +err-expect = "warn" +error-impl-error = "allow" +excessive-nesting = "warn" +excessive-precision = "warn" +exhaustive-enums = "allow" +exhaustive-structs = "allow" +exit = "allow" +expect-fun-call = "warn" +expect-used = "allow" +expl-impl-clone-on-copy = "allow" +explicit-auto-deref = "warn" +explicit-counter-loop = "warn" +explicit-deref-methods = "allow" +explicit-into-iter-loop = "allow" +explicit-iter-loop = "allow" +explicit-write = "warn" +extend-with-drain = "warn" +extra-unused-lifetimes = "warn" +extra-unused-type-parameters = "warn" +fallible-impl-from = "allow" +field-reassign-with-default = "warn" +field-scoped-visibility-modifiers = "allow" +filetype-is-file = "allow" +filter-map-bool-then = "warn" +filter-map-identity = "warn" +filter-map-next = "allow" +filter-next = "warn" +flat-map-identity = "warn" +flat-map-option = "allow" +float-arithmetic = "allow" +float-cmp = "allow" +float-cmp-const = "allow" +float-equality-without-abs = "warn" +fn-params-excessive-bools = "allow" +fn-to-numeric-cast = "warn" +fn-to-numeric-cast-any = "allow" +fn-to-numeric-cast-with-truncation = "warn" +for-kv-map = "warn" +forget-non-drop = "warn" +format-collect = "allow" +format-in-format-args = "warn" +format-push-string = "allow" +four-forward-slashes = "warn" +from-iter-instead-of-collect = "allow" +from-over-into = "warn" +from-raw-with-void-ptr = "warn" +from-str-radix-10 = "warn" +future-not-send = "allow" +get-first = "warn" +get-last-with-len = "warn" +get-unwrap = "allow" +host-endian-bytes = "allow" +identity-op = "warn" +if-let-mutex = "deny" +if-not-else = "allow" +if-same-then-else = "warn" +if-then-some-else-none = "allow" +ifs-same-cond = "deny" +ignore-without-reason = "allow" +ignored-unit-patterns = "allow" +impl-hash-borrow-with-str-and-bytes = "deny" +impl-trait-in-params = "allow" +implicit-clone = "allow" +implicit-hasher = "allow" +implicit-return = "allow" +implicit-saturating-add = "warn" +implicit-saturating-sub = "warn" +implied-bounds-in-impls = "warn" +impossible-comparisons = "deny" +imprecise-flops = "allow" +incompatible-msrv = "warn" +inconsistent-digit-grouping = "warn" +inconsistent-struct-constructor = "allow" +index-refutable-slice = "allow" +indexing-slicing = "allow" +ineffective-bit-mask = "deny" +ineffective-open-options = "warn" +inefficient-to-string = "allow" +infallible-destructuring-match = "warn" +infallible-try-from = "warn" +infinite-iter = "deny" +infinite-loop = "allow" +inherent-to-string = "warn" +inherent-to-string-shadow-display = "deny" +init-numbered-fields = "warn" +inline-always = "allow" +inline-asm-x86-att-syntax = "allow" +inline-asm-x86-intel-syntax = "allow" +inline-fn-without-body = "deny" +inspect-for-each = "warn" +int-plus-one = "warn" +integer-division = "allow" +integer-division-remainder-used = "allow" +into-iter-on-ref = "warn" +into-iter-without-iter = "allow" +invalid-regex = "deny" +invalid-upcast-comparisons = "allow" +inverted-saturating-sub = "deny" +invisible-characters = "deny" +io-other-error = "warn" +ip-constant = "allow" +is-digit-ascii-radix = "warn" +items-after-statements = "allow" +items-after-test-module = "warn" +iter-cloned-collect = "warn" +iter-count = "warn" +iter-filter-is-ok = "allow" +iter-filter-is-some = "allow" +iter-kv-map = "warn" +iter-next-loop = "deny" +iter-next-slice = "warn" +iter-not-returning-iterator = "allow" +iter-nth = "warn" +iter-nth-zero = "warn" +iter-on-empty-collections = "allow" +iter-on-single-items = "allow" +iter-out-of-bounds = "warn" +iter-over-hash-type = "allow" +iter-overeager-cloned = "warn" +iter-skip-next = "warn" +iter-skip-zero = "deny" +iter-with-drain = "allow" +iter-without-into-iter = "allow" +iterator-step-by-zero = "deny" +join-absolute-paths = "warn" +just-underscores-and-digits = "warn" +large-const-arrays = "warn" +large-digit-groups = "allow" +large-enum-variant = "warn" +large-futures = "allow" +large-include-file = "allow" +large-stack-arrays = "allow" +large-stack-frames = "allow" +large-types-passed-by-value = "allow" +legacy-numeric-constants = "warn" +len-without-is-empty = "warn" +len-zero = "warn" +let-and-return = "warn" +let-underscore-future = "warn" +let-underscore-lock = "deny" +let-underscore-must-use = "allow" +let-underscore-untyped = "allow" +let-unit-value = "warn" +let-with-type-underscore = "warn" +lines-filter-map-ok = "warn" +linkedlist = "allow" +lint-groups-priority = "deny" +literal-string-with-formatting-args = "allow" +little-endian-bytes = "allow" +lossy-float-literal = "allow" +macro-metavars-in-unsafe = "warn" +macro-use-imports = "allow" +main-recursion = "warn" +manual-abs-diff = "warn" +manual-assert = "allow" +manual-async-fn = "warn" +manual-bits = "warn" +manual-c-str-literals = "warn" +manual-clamp = "warn" +manual-contains = "warn" +manual-dangling-ptr = "warn" +manual-div-ceil = "warn" +manual-filter = "warn" +manual-filter-map = "warn" +manual-find = "warn" +manual-find-map = "warn" +manual-flatten = "warn" +manual-hash-one = "warn" +manual-ignore-case-cmp = "warn" +manual-inspect = "warn" +manual-instant-elapsed = "allow" +manual-is-ascii-check = "warn" +manual-is-finite = "warn" +manual-is-infinite = "warn" +manual-is-multiple-of = "warn" +manual-is-power-of-two = "allow" +manual-is-variant-and = "allow" +manual-let-else = "allow" +manual-main-separator-str = "warn" +manual-map = "warn" +manual-memcpy = "warn" +manual-midpoint = "allow" +manual-next-back = "warn" +manual-non-exhaustive = "warn" +manual-ok-err = "warn" +manual-ok-or = "warn" +manual-option-as-slice = "warn" +manual-pattern-char-comparison = "warn" +manual-range-contains = "warn" +manual-range-patterns = "warn" +manual-rem-euclid = "warn" +manual-repeat-n = "warn" +manual-retain = "warn" +manual-rotate = "warn" +manual-saturating-arithmetic = "warn" +manual-slice-fill = "warn" +manual-slice-size-calculation = "warn" +manual-split-once = "warn" +manual-str-repeat = "warn" +manual-string-new = "allow" +manual-strip = "warn" +manual-swap = "warn" +manual-try-fold = "warn" +manual-unwrap-or = "warn" +manual-unwrap-or-default = "warn" +manual-while-let-some = "warn" +many-single-char-names = "allow" +map-all-any-identity = "warn" +map-clone = "warn" +map-collect-result-unit = "warn" +map-entry = "warn" +map-err-ignore = "allow" +map-flatten = "warn" +map-identity = "warn" +map-unwrap-or = "allow" +map-with-unused-argument-over-ranges = "allow" +match-as-ref = "warn" +match-bool = "allow" +match-like-matches-macro = "warn" +match-overlapping-arm = "warn" +match-ref-pats = "warn" +match-result-ok = "warn" +match-same-arms = "allow" +match-single-binding = "warn" +match-str-case-mismatch = "deny" +match-wild-err-arm = "allow" +match-wildcard-for-single-variants = "allow" +maybe-infinite-iter = "allow" +mem-forget = "allow" +mem-replace-option-with-none = "warn" +mem-replace-option-with-some = "warn" +mem-replace-with-default = "warn" +mem-replace-with-uninit = "deny" +min-ident-chars = "allow" +min-max = "deny" +mismatching-type-param-order = "allow" +misnamed-getters = "warn" +misrefactored-assign-op = "warn" +missing-assert-message = "allow" +missing-asserts-for-indexing = "allow" +missing-const-for-fn = "allow" +missing-const-for-thread-local = "warn" +missing-docs-in-private-items = "allow" +missing-enforced-import-renames = "warn" +missing-errors-doc = "allow" +missing-fields-in-debug = "allow" +missing-inline-in-public-items = "allow" +missing-panics-doc = "allow" +missing-safety-doc = "warn" +missing-spin-loop = "warn" +missing-trait-methods = "allow" +missing-transmute-annotations = "warn" +mistyped-literal-suffixes = "deny" +mixed-attributes-style = "warn" +mixed-case-hex-literals = "warn" +mixed-read-write-in-expression = "allow" +mod-module-files = "allow" +module-inception = "warn" +module-name-repetitions = "allow" +modulo-arithmetic = "allow" +modulo-one = "deny" +multi-assignments = "warn" +multiple-bound-locations = "warn" +multiple-crate-versions = "allow" +multiple-inherent-impl = "allow" +multiple-unsafe-ops-per-block = "allow" +must-use-candidate = "allow" +must-use-unit = "warn" +mut-from-ref = "deny" +mut-mut = "allow" +mut-mutex-lock = "warn" +mut-range-bound = "warn" +mutable-key-type = "warn" +mutex-atomic = "allow" +mutex-integer = "allow" +naive-bytecount = "allow" +needless-arbitrary-self-type = "warn" +needless-as-bytes = "warn" +needless-bitwise-bool = "allow" +needless-bool = "warn" +needless-bool-assign = "warn" +needless-borrow = "warn" +needless-borrowed-reference = "warn" +needless-borrows-for-generic-args = "warn" +needless-character-iteration = "warn" +needless-collect = "allow" +needless-continue = "allow" +needless-doctest-main = "warn" +needless-else = "warn" +needless-for-each = "allow" +needless-if = "warn" +needless-late-init = "warn" +needless-lifetimes = "warn" +needless-match = "warn" +needless-maybe-sized = "warn" +needless-option-as-deref = "warn" +needless-option-take = "warn" +needless-parens-on-range-literals = "warn" +needless-pass-by-ref-mut = "allow" +needless-pass-by-value = "allow" +needless-pub-self = "warn" +needless-question-mark = "warn" +needless-range-loop = "warn" +needless-raw-string-hashes = "allow" +needless-raw-strings = "allow" +needless-return = "warn" +needless-return-with-question-mark = "warn" +needless-splitn = "warn" +needless-update = "warn" +neg-cmp-op-on-partial-ord = "warn" +neg-multiply = "warn" +negative-feature-names = "allow" +never-loop = "deny" +new-ret-no-self = "warn" +new-without-default = "warn" +no-effect = "warn" +no-effect-replace = "warn" +no-effect-underscore-binding = "allow" +no-mangle-with-rust-abi = "allow" +non-ascii-literal = "allow" +non-canonical-clone-impl = "warn" +non-canonical-partial-ord-impl = "warn" +non-minimal-cfg = "warn" +non-octal-unix-permissions = "deny" +non-send-fields-in-send-ty = "allow" +non-std-lazy-statics = "allow" +non-zero-suggestions = "allow" +nonminimal-bool = "warn" +nonsensical-open-options = "deny" +nonstandard-macro-braces = "allow" +not-unsafe-ptr-arg-deref = "deny" +obfuscated-if-else = "warn" +octal-escapes = "warn" +ok-expect = "warn" +only-used-in-recursion = "warn" +op-ref = "warn" +option-as-ref-cloned = "allow" +option-as-ref-deref = "warn" +option-env-unwrap = "deny" +option-filter-map = "warn" +option-if-let-else = "allow" +option-map-or-none = "warn" +option-map-unit-fn = "warn" +option-option = "allow" +or-fun-call = "allow" +or-then-unwrap = "warn" +out-of-bounds-indexing = "deny" +overly-complex-bool-expr = "deny" +owned-cow = "warn" +panic = "allow" +panic-in-result-fn = "allow" +panicking-overflow-checks = "deny" +panicking-unwrap = "deny" +partial-pub-fields = "allow" +partialeq-ne-impl = "warn" +partialeq-to-none = "warn" +path-buf-push-overwrite = "allow" +path-ends-with-ext = "warn" +pathbuf-init-then-push = "allow" +pattern-type-mismatch = "allow" +permissions-set-readonly-false = "warn" +pointer-format = "allow" +pointers-in-nomem-asm-block = "warn" +possible-missing-comma = "deny" +precedence = "warn" +precedence-bits = "allow" +print-in-format-impl = "warn" +print-literal = "warn" +print-stderr = "allow" +print-stdout = "allow" +print-with-newline = "warn" +println-empty-string = "warn" +ptr-arg = "warn" +ptr-as-ptr = "allow" +ptr-cast-constness = "allow" +ptr-eq = "warn" +ptr-offset-with-cast = "warn" +pub-underscore-fields = "allow" +pub-use = "allow" +pub-with-shorthand = "allow" +pub-without-shorthand = "allow" +question-mark = "warn" +question-mark-used = "allow" +range-minus-one = "allow" +range-plus-one = "allow" +range-zip-with-len = "warn" +rc-buffer = "allow" +rc-clone-in-vec-init = "warn" +rc-mutex = "allow" +read-line-without-trim = "deny" +read-zero-byte-vec = "allow" +readonly-write-lock = "warn" +recursive-format-impl = "deny" +redundant-allocation = "warn" +redundant-as-str = "warn" +redundant-async-block = "warn" +redundant-at-rest-pattern = "warn" +redundant-clone = "allow" +redundant-closure = "warn" +redundant-closure-call = "warn" +redundant-closure-for-method-calls = "allow" +redundant-comparisons = "deny" +redundant-else = "allow" +redundant-feature-names = "allow" +redundant-field-names = "warn" +redundant-guards = "warn" +redundant-locals = "warn" +redundant-pattern = "warn" +redundant-pattern-matching = "warn" +redundant-pub-crate = "allow" +redundant-slicing = "warn" +redundant-static-lifetimes = "warn" +redundant-test-prefix = "allow" +redundant-type-annotations = "allow" +ref-as-ptr = "allow" +ref-binding-to-reference = "allow" +ref-option = "allow" +ref-option-ref = "allow" +ref-patterns = "allow" +regex-creation-in-loops = "warn" +renamed-function-params = "allow" +repeat-once = "warn" +repeat-vec-with-capacity = "warn" +repr-packed-without-abi = "warn" +reserve-after-initialization = "warn" +rest-pat-in-fully-bound-structs = "allow" +result-filter-map = "warn" +result-large-err = "warn" +result-map-or-into-option = "warn" +result-map-unit-fn = "warn" +result-unit-err = "warn" +return-and-then = "allow" +return-self-not-must-use = "allow" +reversed-empty-ranges = "deny" +same-functions-in-if-condition = "allow" +same-item-push = "warn" +same-name-method = "allow" +search-is-some = "warn" +seek-from-current = "warn" +seek-to-start-instead-of-rewind = "warn" +self-assignment = "deny" +self-named-constructors = "warn" +self-named-module-files = "allow" +semicolon-if-nothing-returned = "allow" +semicolon-inside-block = "allow" +semicolon-outside-block = "allow" +separated-literal-suffix = "allow" +serde-api-misuse = "deny" +set-contains-or-insert = "allow" +shadow-reuse = "allow" +shadow-same = "allow" +shadow-unrelated = "allow" +short-circuit-statement = "warn" +should-implement-trait = "warn" +should-panic-without-expect = "allow" +significant-drop-in-scrutinee = "allow" +significant-drop-tightening = "allow" +similar-names = "allow" +single-call-fn = "allow" +single-char-add-str = "warn" +single-char-lifetime-names = "allow" +single-char-pattern = "allow" +single-component-path-imports = "warn" +single-element-loop = "warn" +single-match = "warn" +single-match-else = "allow" +single-option-map = "allow" +single-range-in-vec-init = "warn" +size-of-in-element-count = "deny" +size-of-ref = "warn" +skip-while-next = "warn" +sliced-string-as-bytes = "warn" +slow-vector-initialization = "warn" +stable-sort-primitive = "allow" +std-instead-of-alloc = "allow" +std-instead-of-core = "allow" +str-split-at-newline = "allow" +str-to-string = "allow" +string-add = "allow" +string-add-assign = "allow" +string-extend-chars = "warn" +string-from-utf8-as-bytes = "warn" +string-lit-as-bytes = "allow" +string-lit-chars-any = "allow" +string-slice = "allow" +string-to-string = "allow" +strlen-on-c-strings = "warn" +struct-excessive-bools = "allow" +struct-field-names = "allow" +suboptimal-flops = "allow" +suspicious-arithmetic-impl = "warn" +suspicious-assignment-formatting = "warn" +suspicious-command-arg-space = "warn" +suspicious-doc-comments = "warn" +suspicious-else-formatting = "warn" +suspicious-map = "warn" +suspicious-op-assign-impl = "warn" +suspicious-open-options = "warn" +suspicious-operation-groupings = "allow" +suspicious-splitn = "deny" +suspicious-to-owned = "warn" +suspicious-unary-op-formatting = "warn" +suspicious-xor-used-as-pow = "allow" +swap-ptr-to-ref = "warn" +swap-with-temporary = "warn" +tabs-in-doc-comments = "warn" +temporary-assignment = "warn" +test-attr-in-doctest = "warn" +tests-outside-test-module = "allow" +to-digit-is-some = "warn" +to-string-in-format-args = "warn" +to-string-trait-impl = "warn" +todo = "allow" +too-long-first-doc-paragraph = "allow" +too-many-arguments = "warn" +too-many-lines = "allow" +toplevel-ref-arg = "warn" +trailing-empty-array = "allow" +trait-duplication-in-bounds = "allow" +transmute-bytes-to-str = "warn" +transmute-int-to-bool = "warn" +transmute-int-to-non-zero = "warn" +transmute-null-to-fn = "deny" +transmute-ptr-to-ptr = "allow" +transmute-ptr-to-ref = "warn" +transmute-undefined-repr = "allow" +transmutes-expressible-as-ptr-casts = "warn" +transmuting-null = "deny" +trim-split-whitespace = "warn" +trivial-regex = "allow" +trivially-copy-pass-by-ref = "allow" +try-err = "allow" +tuple-array-conversions = "allow" +type-complexity = "warn" +type-id-on-box = "warn" +type-repetition-in-bounds = "allow" +unbuffered-bytes = "warn" +unchecked-duration-subtraction = "allow" +unconditional-recursion = "warn" +undocumented-unsafe-blocks = "allow" +unicode-not-nfc = "allow" +unimplemented = "allow" +uninhabited-references = "allow" +uninit-assumed-init = "deny" +uninit-vec = "deny" +uninlined-format-args = "allow" +unit-arg = "warn" +unit-cmp = "deny" +unit-hash = "deny" +unit-return-expecting-ord = "deny" +unnecessary-box-returns = "allow" +unnecessary-cast = "warn" +unnecessary-clippy-cfg = "warn" +unnecessary-debug-formatting = "allow" +unnecessary-fallible-conversions = "warn" +unnecessary-filter-map = "warn" +unnecessary-find-map = "warn" +unnecessary-first-then-check = "warn" +unnecessary-fold = "warn" +unnecessary-get-then-check = "warn" +unnecessary-join = "allow" +unnecessary-lazy-evaluations = "warn" +unnecessary-literal-bound = "allow" +unnecessary-literal-unwrap = "warn" +unnecessary-map-on-constructor = "warn" +unnecessary-map-or = "warn" +unnecessary-min-or-max = "warn" +unnecessary-mut-passed = "warn" +unnecessary-operation = "warn" +unnecessary-owned-empty-strings = "warn" +unnecessary-result-map-or-else = "warn" +unnecessary-safety-comment = "allow" +unnecessary-safety-doc = "allow" +unnecessary-self-imports = "allow" +unnecessary-semicolon = "allow" +unnecessary-sort-by = "warn" +unnecessary-struct-initialization = "allow" +unnecessary-to-owned = "warn" +unnecessary-unwrap = "warn" +unnecessary-wraps = "allow" +unneeded-field-pattern = "allow" +unneeded-struct-pattern = "warn" +unneeded-wildcard-pattern = "warn" +unnested-or-patterns = "allow" +unreachable = "allow" +unreadable-literal = "allow" +unsafe-derive-deserialize = "allow" +unsafe-removed-from-name = "warn" +unseparated-literal-suffix = "allow" +unsound-collection-transmute = "deny" +unused-async = "allow" +unused-enumerate-index = "warn" +unused-format-specs = "warn" +unused-io-amount = "deny" +unused-peekable = "allow" +unused-result-ok = "allow" +unused-rounding = "allow" +unused-self = "allow" +unused-trait-names = "allow" +unused-unit = "warn" +unusual-byte-groupings = "warn" +unwrap-in-result = "allow" +unwrap-or-default = "warn" +unwrap-used = "allow" +upper-case-acronyms = "warn" +use-debug = "allow" +use-self = "allow" +used-underscore-binding = "allow" +used-underscore-items = "allow" +useless-asref = "warn" +useless-attribute = "deny" +useless-concat = "warn" +useless-conversion = "warn" +useless-format = "warn" +useless-let-if-seq = "allow" +useless-nonzero-new-unchecked = "warn" +useless-transmute = "warn" +useless-vec = "warn" +vec-box = "warn" +vec-init-then-push = "warn" +vec-resize-to-zero = "deny" +verbose-bit-mask = "allow" +verbose-file-reads = "allow" +waker-clone-wake = "warn" +while-float = "allow" +while-immutable-condition = "deny" +while-let-loop = "warn" +while-let-on-iterator = "warn" +wildcard-dependencies = "allow" +wildcard-enum-match-arm = "allow" +wildcard-imports = "allow" +wildcard-in-or-patterns = "warn" +write-literal = "warn" +write-with-newline = "warn" +writeln-empty-string = "warn" +wrong-self-convention = "warn" +wrong-transmute = "deny" +zero-divided-by-zero = "warn" +zero-prefixed-literal = "warn" +zero-ptr = "warn" +zero-repeat-side-effects = "warn" +zero-sized-map-values = "allow" +zombie-processes = "warn" +zst-offset = "deny" + +[workspace.lints.rust] +aarch64-softfloat-neon = "warn" +absolute-paths-not-starting-with-crate = "allow" +ambiguous-associated-items = "deny" +ambiguous-glob-imports = "deny" +ambiguous-glob-reexports = "warn" +ambiguous-negative-literals = "allow" +ambiguous-wide-pointer-comparisons = "warn" +anonymous-parameters = "warn" +arithmetic-overflow = "deny" +array-into-iter = "warn" +asm-sub-register = "warn" +async-fn-in-trait = "warn" +bad-asm-style = "warn" +bare-trait-objects = "warn" +binary-asm-labels = "deny" +bindings-with-variant-name = "deny" +boxed-slice-into-iter = "warn" +break-with-label-and-loop = "warn" +clashing-extern-declarations = "warn" +closure-returning-async-block = "allow" +coherence-leak-check = "warn" +conflicting-repr-hints = "deny" +confusable-idents = "warn" +const-evaluatable-unchecked = "warn" +const-item-mutation = "warn" +dangerous-implicit-autorefs = "deny" +dangling-pointers-from-temporaries = "warn" +dead-code = "warn" +default-overrides-default-fields = "deny" +dependency-on-unit-never-type-fallback = "warn" +deprecated = "warn" +deprecated-in-future = "allow" +deprecated-safe-2024 = "allow" +deprecated-where-clause-location = "warn" +deref-into-dyn-supertrait = "allow" +deref-nullptr = "warn" +double-negations = "warn" +drop-bounds = "warn" +dropping-copy-types = "warn" +dropping-references = "warn" +duplicate-macro-attributes = "warn" +dyn-drop = "warn" +edition-2024-expr-fragment-specifier = "allow" +elided-lifetimes-in-associated-constant = "deny" +elided-lifetimes-in-paths = "allow" +ellipsis-inclusive-range-patterns = "warn" +enum-intrinsics-non-enums = "deny" +explicit-builtin-cfgs-in-flags = "deny" +explicit-outlives-requirements = "allow" +exported-private-dependencies = "warn" +ffi-unwind-calls = "allow" +for-loops-over-fallibles = "warn" +forbidden-lint-groups = "warn" +forgetting-copy-types = "warn" +forgetting-references = "warn" +function-item-references = "warn" +fuzzy-provenance-casts = "allow" +hidden-glob-reexports = "warn" +if-let-rescope = "allow" +ill-formed-attribute-input = "deny" +impl-trait-overcaptures = "allow" +impl-trait-redundant-captures = "allow" +improper-ctypes = "warn" +improper-ctypes-definitions = "warn" +incomplete-features = "warn" +incomplete-include = "deny" +ineffective-unstable-trait-impl = "deny" +inline-no-sanitize = "warn" +internal-features = "warn" +invalid-atomic-ordering = "deny" +invalid-doc-attributes = "deny" +invalid-from-utf8 = "warn" +invalid-from-utf8-unchecked = "deny" +invalid-macro-export-arguments = "warn" +invalid-nan-comparisons = "warn" +invalid-null-arguments = "deny" +invalid-reference-casting = "deny" +invalid-type-param-default = "deny" +invalid-value = "warn" +irrefutable-let-patterns = "warn" +keyword-idents-2018 = "allow" +keyword-idents-2024 = "allow" +large-assignments = "warn" +late-bound-lifetime-arguments = "warn" +legacy-derive-helpers = "warn" +let-underscore-drop = "allow" +let-underscore-lock = "deny" +linker-messages = "allow" +long-running-const-eval = "deny" +lossy-provenance-casts = "allow" +macro-expanded-macro-exports-accessed-by-absolute-paths = "deny" +macro-use-extern-crate = "allow" +malformed-diagnostic-attributes = "warn" +malformed-diagnostic-format-literals = "warn" +map-unit-fn = "warn" +meta-variable-misuse = "allow" +mismatched-lifetime-syntaxes = "warn" +misplaced-diagnostic-attributes = "warn" +missing-abi = "warn" +missing-copy-implementations = "allow" +missing-debug-implementations = "allow" +missing-docs = "allow" +missing-unsafe-on-extern = "allow" +mixed-script-confusables = "warn" +multiple-supertrait-upcastable = "allow" +must-not-suspend = "allow" +mutable-transmutes = "deny" +named-arguments-used-positionally = "warn" +named-asm-labels = "deny" +never-type-fallback-flowing-into-unsafe = "warn" +no-mangle-const-items = "deny" +no-mangle-generic-items = "warn" +non-ascii-idents = "allow" +non-camel-case-types = "warn" +non-contiguous-range-endpoints = "warn" +non-exhaustive-omitted-patterns = "allow" +non-fmt-panics = "warn" +non-local-definitions = "warn" +non-shorthand-field-patterns = "warn" +non-snake-case = "warn" +non-upper-case-globals = "warn" +noop-method-call = "warn" +opaque-hidden-inferred-bound = "warn" +out-of-scope-macro-calls = "warn" +overflowing-literals = "deny" +overlapping-range-endpoints = "warn" +path-statements = "warn" +patterns-in-fns-without-body = "deny" +private-bounds = "warn" +private-interfaces = "warn" +proc-macro-derive-resolution-fallback = "deny" +ptr-to-integer-transmute-in-consts = "warn" +pub-use-of-private-extern-crate = "deny" +redundant-imports = "allow" +redundant-lifetimes = "allow" +redundant-semicolons = "warn" +refining-impl-trait-internal = "warn" +refining-impl-trait-reachable = "warn" +renamed-and-removed-lints = "warn" +repr-transparent-external-private-fields = "warn" +rust-2021-incompatible-closure-captures = "allow" +rust-2021-incompatible-or-patterns = "allow" +rust-2021-prefixes-incompatible-syntax = "allow" +rust-2021-prelude-collisions = "allow" +rust-2024-guarded-string-incompatible-syntax = "allow" +rust-2024-incompatible-pat = "allow" +rust-2024-prelude-collisions = "allow" +self-constructor-from-outer-item = "warn" +semicolon-in-expressions-from-macros = "warn" +single-use-lifetimes = "allow" +soft-unstable = "deny" +special-module-name = "warn" +stable-features = "warn" +static-mut-refs = "warn" +supertrait-item-shadowing-definition = "allow" +supertrait-item-shadowing-usage = "allow" +suspicious-double-ref-op = "warn" +tail-expr-drop-order = "allow" +test-unstable-lint = "deny" +text-direction-codepoint-in-comment = "deny" +text-direction-codepoint-in-literal = "deny" +trivial-bounds = "warn" +trivial-casts = "allow" +trivial-numeric-casts = "allow" +type-alias-bounds = "warn" +tyvar-behind-raw-pointer = "warn" +uncommon-codepoints = "warn" +unconditional-panic = "deny" +unconditional-recursion = "warn" +uncovered-param-in-projection = "warn" +undropped-manually-drops = "deny" +unexpected-cfgs = "warn" +unfulfilled-lint-expectations = "warn" +ungated-async-fn-track-caller = "warn" +uninhabited-static = "warn" +unit-bindings = "allow" +unknown-crate-types = "deny" +unknown-diagnostic-attributes = "warn" +unknown-lints = "warn" +unnameable-test-items = "warn" +unnameable-types = "allow" +unnecessary-transmutes = "warn" +unpredictable-function-pointer-comparisons = "warn" +unqualified-local-imports = "allow" +unreachable-code = "warn" +unreachable-patterns = "warn" +unreachable-pub = "allow" +unsafe-attr-outside-unsafe = "allow" +unsafe-code = "allow" +unsafe-op-in-unsafe-fn = "allow" +unstable-features = "allow" +unstable-name-collisions = "warn" +unstable-syntax-pre-expansion = "warn" +unsupported-calling-conventions = "warn" +unused-allocation = "warn" +unused-assignments = "warn" +unused-associated-type-bounds = "warn" +unused-attributes = "warn" +unused-braces = "warn" +unused-comparisons = "warn" +unused-crate-dependencies = "allow" +unused-doc-comments = "warn" +unused-extern-crates = "allow" +unused-features = "warn" +unused-import-braces = "allow" +unused-imports = "warn" +unused-labels = "warn" +unused-lifetimes = "allow" +unused-macro-rules = "allow" +unused-macros = "warn" +unused-must-use = "warn" +unused-mut = "warn" +unused-parens = "warn" +unused-qualifications = "allow" +unused-results = "allow" +unused-unsafe = "warn" +unused-variables = "warn" +useless-deprecated = "deny" +useless-ptr-null-checks = "warn" +uses-power-alignment = "warn" +variant-size-differences = "allow" +warnings = "warn" +while-true = "warn" + +[workspace.lints.rustdoc] +bare-urls = "warn" +broken-intra-doc-links = "warn" +invalid-codeblock-attributes = "warn" +invalid-html-tags = "warn" +invalid-rust-codeblocks = "warn" +missing-crate-level-docs = "allow" +missing-doc-code-examples = "allow" +private-doc-tests = "allow" +private-intra-doc-links = "warn" +redundant-explicit-links = "warn" +unescaped-backticks = "allow" diff --git a/lints/1.91.toml b/lints/1.91.toml new file mode 100644 index 0000000..47551f2 --- /dev/null +++ b/lints/1.91.toml @@ -0,0 +1,1032 @@ +[workspace.lints.clippy] +absolute-paths = "allow" +absurd-extreme-comparisons = "deny" +alloc-instead-of-core = "allow" +allow-attributes = "allow" +allow-attributes-without-reason = "allow" +almost-complete-range = "warn" +almost-swapped = "deny" +approx-constant = "deny" +arbitrary-source-item-ordering = "allow" +arc-with-non-send-sync = "warn" +arithmetic-side-effects = "allow" +as-conversions = "allow" +as-pointer-underscore = "allow" +as-ptr-cast-mut = "allow" +as-underscore = "allow" +assertions-on-constants = "warn" +assertions-on-result-states = "allow" +assign-op-pattern = "warn" +assigning-clones = "allow" +async-yields-async = "deny" +await-holding-invalid-type = "warn" +await-holding-lock = "warn" +await-holding-refcell-ref = "warn" +bad-bit-mask = "deny" +big-endian-bytes = "allow" +bind-instead-of-map = "warn" +blanket-clippy-restriction-lints = "warn" +blocks-in-conditions = "warn" +bool-assert-comparison = "warn" +bool-comparison = "warn" +bool-to-int-with-if = "allow" +borrow-as-ptr = "allow" +borrow-deref-ref = "warn" +borrow-interior-mutable-const = "warn" +borrowed-box = "warn" +box-collection = "warn" +box-default = "warn" +boxed-local = "warn" +branches-sharing-code = "allow" +builtin-type-shadow = "warn" +byte-char-slices = "warn" +bytes-count-to-len = "warn" +bytes-nth = "warn" +cargo-common-metadata = "allow" +case-sensitive-file-extension-comparisons = "allow" +cast-abs-to-unsigned = "warn" +cast-enum-constructor = "warn" +cast-enum-truncation = "warn" +cast-lossless = "allow" +cast-nan-to-int = "warn" +cast-possible-truncation = "allow" +cast-possible-wrap = "allow" +cast-precision-loss = "allow" +cast-ptr-alignment = "allow" +cast-sign-loss = "allow" +cast-slice-different-sizes = "deny" +cast-slice-from-raw-parts = "warn" +cfg-not-test = "allow" +char-indices-as-byte-indices = "deny" +char-lit-as-u8 = "warn" +chars-last-cmp = "warn" +chars-next-cmp = "warn" +checked-conversions = "allow" +clear-with-drain = "allow" +clone-on-copy = "warn" +clone-on-ref-ptr = "allow" +cloned-instead-of-copied = "allow" +cloned-ref-to-slice-refs = "warn" +cmp-null = "warn" +cmp-owned = "warn" +coerce-container-to-any = "allow" +cognitive-complexity = "allow" +collapsible-else-if = "warn" +collapsible-if = "warn" +collapsible-match = "warn" +collapsible-str-replace = "warn" +collection-is-never-read = "allow" +comparison-chain = "allow" +comparison-to-empty = "warn" +confusing-method-to-numeric-cast = "warn" +const-is-empty = "warn" +copy-iterator = "allow" +crate-in-macro-def = "warn" +create-dir = "allow" +crosspointer-transmute = "warn" +dbg-macro = "allow" +debug-assert-with-mut-call = "allow" +decimal-literal-representation = "allow" +declare-interior-mutable-const = "warn" +default-constructed-unit-structs = "warn" +default-instead-of-iter-empty = "warn" +default-numeric-fallback = "allow" +default-trait-access = "allow" +default-union-representation = "allow" +deprecated-cfg-attr = "warn" +deprecated-clippy-cfg-attr = "warn" +deprecated-semver = "deny" +deref-addrof = "warn" +deref-by-slicing = "allow" +derivable-impls = "warn" +derive-ord-xor-partial-ord = "deny" +derive-partial-eq-without-eq = "allow" +derived-hash-with-manual-eq = "deny" +disallowed-macros = "warn" +disallowed-methods = "warn" +disallowed-names = "warn" +disallowed-script-idents = "allow" +disallowed-types = "warn" +diverging-sub-expression = "warn" +doc-broken-link = "allow" +doc-comment-double-space-linebreaks = "allow" +doc-include-without-cfg = "allow" +doc-lazy-continuation = "warn" +doc-link-code = "allow" +doc-link-with-quotes = "allow" +doc-markdown = "allow" +doc-nested-refdefs = "warn" +doc-overindented-list-items = "warn" +doc-suspicious-footnotes = "warn" +double-comparisons = "warn" +double-ended-iterator-last = "warn" +double-must-use = "warn" +double-parens = "warn" +drain-collect = "warn" +drop-non-drop = "warn" +duplicate-mod = "warn" +duplicate-underscore-argument = "warn" +duplicated-attributes = "warn" +duration-subsec = "warn" +eager-transmute = "deny" +elidable-lifetime-names = "allow" +else-if-without-else = "allow" +empty-docs = "warn" +empty-drop = "allow" +empty-enum = "allow" +empty-enum-variants-with-brackets = "allow" +empty-line-after-doc-comments = "warn" +empty-line-after-outer-attr = "warn" +empty-loop = "warn" +empty-structs-with-brackets = "allow" +enum-clike-unportable-variant = "deny" +enum-glob-use = "allow" +enum-variant-names = "warn" +eq-op = "deny" +equatable-if-let = "allow" +erasing-op = "deny" +err-expect = "warn" +error-impl-error = "allow" +excessive-nesting = "warn" +excessive-precision = "warn" +exhaustive-enums = "allow" +exhaustive-structs = "allow" +exit = "allow" +expect-fun-call = "warn" +expect-used = "allow" +expl-impl-clone-on-copy = "allow" +explicit-auto-deref = "warn" +explicit-counter-loop = "warn" +explicit-deref-methods = "allow" +explicit-into-iter-loop = "allow" +explicit-iter-loop = "allow" +explicit-write = "warn" +extend-with-drain = "warn" +extra-unused-lifetimes = "warn" +extra-unused-type-parameters = "warn" +fallible-impl-from = "allow" +field-reassign-with-default = "warn" +field-scoped-visibility-modifiers = "allow" +filetype-is-file = "allow" +filter-map-bool-then = "warn" +filter-map-identity = "warn" +filter-map-next = "allow" +filter-next = "warn" +flat-map-identity = "warn" +flat-map-option = "allow" +float-arithmetic = "allow" +float-cmp = "allow" +float-cmp-const = "allow" +float-equality-without-abs = "warn" +fn-params-excessive-bools = "allow" +fn-to-numeric-cast = "warn" +fn-to-numeric-cast-any = "allow" +fn-to-numeric-cast-with-truncation = "warn" +for-kv-map = "warn" +forget-non-drop = "warn" +format-collect = "allow" +format-in-format-args = "warn" +format-push-string = "allow" +four-forward-slashes = "warn" +from-iter-instead-of-collect = "allow" +from-over-into = "warn" +from-raw-with-void-ptr = "warn" +from-str-radix-10 = "warn" +future-not-send = "allow" +get-first = "warn" +get-last-with-len = "warn" +get-unwrap = "allow" +host-endian-bytes = "allow" +identity-op = "warn" +if-let-mutex = "deny" +if-not-else = "allow" +if-same-then-else = "warn" +if-then-some-else-none = "allow" +ifs-same-cond = "deny" +ignore-without-reason = "allow" +ignored-unit-patterns = "allow" +impl-hash-borrow-with-str-and-bytes = "deny" +impl-trait-in-params = "allow" +implicit-clone = "allow" +implicit-hasher = "allow" +implicit-return = "allow" +implicit-saturating-add = "warn" +implicit-saturating-sub = "warn" +implied-bounds-in-impls = "warn" +impossible-comparisons = "deny" +imprecise-flops = "allow" +incompatible-msrv = "warn" +inconsistent-digit-grouping = "warn" +inconsistent-struct-constructor = "allow" +index-refutable-slice = "allow" +indexing-slicing = "allow" +ineffective-bit-mask = "deny" +ineffective-open-options = "warn" +inefficient-to-string = "allow" +infallible-destructuring-match = "warn" +infallible-try-from = "warn" +infinite-iter = "deny" +infinite-loop = "allow" +inherent-to-string = "warn" +inherent-to-string-shadow-display = "deny" +init-numbered-fields = "warn" +inline-always = "allow" +inline-asm-x86-att-syntax = "allow" +inline-asm-x86-intel-syntax = "allow" +inline-fn-without-body = "deny" +inspect-for-each = "warn" +int-plus-one = "warn" +integer-division = "allow" +integer-division-remainder-used = "allow" +into-iter-on-ref = "warn" +into-iter-without-iter = "allow" +invalid-regex = "deny" +invalid-upcast-comparisons = "allow" +inverted-saturating-sub = "deny" +invisible-characters = "deny" +io-other-error = "warn" +ip-constant = "allow" +is-digit-ascii-radix = "warn" +items-after-statements = "allow" +items-after-test-module = "warn" +iter-cloned-collect = "warn" +iter-count = "warn" +iter-filter-is-ok = "allow" +iter-filter-is-some = "allow" +iter-kv-map = "warn" +iter-next-loop = "deny" +iter-next-slice = "warn" +iter-not-returning-iterator = "allow" +iter-nth = "warn" +iter-nth-zero = "warn" +iter-on-empty-collections = "allow" +iter-on-single-items = "allow" +iter-out-of-bounds = "warn" +iter-over-hash-type = "allow" +iter-overeager-cloned = "warn" +iter-skip-next = "warn" +iter-skip-zero = "deny" +iter-with-drain = "allow" +iter-without-into-iter = "allow" +iterator-step-by-zero = "deny" +join-absolute-paths = "warn" +just-underscores-and-digits = "warn" +large-const-arrays = "warn" +large-digit-groups = "allow" +large-enum-variant = "warn" +large-futures = "allow" +large-include-file = "allow" +large-stack-arrays = "allow" +large-stack-frames = "allow" +large-types-passed-by-value = "allow" +legacy-numeric-constants = "warn" +len-without-is-empty = "warn" +len-zero = "warn" +let-and-return = "warn" +let-underscore-future = "warn" +let-underscore-lock = "deny" +let-underscore-must-use = "allow" +let-underscore-untyped = "allow" +let-unit-value = "warn" +let-with-type-underscore = "warn" +lines-filter-map-ok = "warn" +linkedlist = "allow" +lint-groups-priority = "deny" +literal-string-with-formatting-args = "allow" +little-endian-bytes = "allow" +lossy-float-literal = "allow" +macro-metavars-in-unsafe = "warn" +macro-use-imports = "allow" +main-recursion = "warn" +manual-abs-diff = "warn" +manual-assert = "allow" +manual-async-fn = "warn" +manual-bits = "warn" +manual-c-str-literals = "warn" +manual-clamp = "warn" +manual-contains = "warn" +manual-dangling-ptr = "warn" +manual-div-ceil = "warn" +manual-filter = "warn" +manual-filter-map = "warn" +manual-find = "warn" +manual-find-map = "warn" +manual-flatten = "warn" +manual-hash-one = "warn" +manual-ignore-case-cmp = "warn" +manual-inspect = "warn" +manual-instant-elapsed = "allow" +manual-is-ascii-check = "warn" +manual-is-finite = "warn" +manual-is-infinite = "warn" +manual-is-multiple-of = "warn" +manual-is-power-of-two = "allow" +manual-is-variant-and = "allow" +manual-let-else = "allow" +manual-main-separator-str = "warn" +manual-map = "warn" +manual-memcpy = "warn" +manual-midpoint = "allow" +manual-next-back = "warn" +manual-non-exhaustive = "warn" +manual-ok-err = "warn" +manual-ok-or = "warn" +manual-option-as-slice = "warn" +manual-pattern-char-comparison = "warn" +manual-range-contains = "warn" +manual-range-patterns = "warn" +manual-rem-euclid = "warn" +manual-repeat-n = "warn" +manual-retain = "warn" +manual-rotate = "warn" +manual-saturating-arithmetic = "warn" +manual-slice-fill = "warn" +manual-slice-size-calculation = "warn" +manual-split-once = "warn" +manual-str-repeat = "warn" +manual-string-new = "allow" +manual-strip = "warn" +manual-swap = "warn" +manual-try-fold = "warn" +manual-unwrap-or = "warn" +manual-unwrap-or-default = "warn" +manual-while-let-some = "warn" +many-single-char-names = "allow" +map-all-any-identity = "warn" +map-clone = "warn" +map-collect-result-unit = "warn" +map-entry = "warn" +map-err-ignore = "allow" +map-flatten = "warn" +map-identity = "warn" +map-unwrap-or = "allow" +map-with-unused-argument-over-ranges = "allow" +match-as-ref = "warn" +match-bool = "allow" +match-like-matches-macro = "warn" +match-overlapping-arm = "warn" +match-ref-pats = "warn" +match-result-ok = "warn" +match-same-arms = "allow" +match-single-binding = "warn" +match-str-case-mismatch = "deny" +match-wild-err-arm = "allow" +match-wildcard-for-single-variants = "allow" +maybe-infinite-iter = "allow" +mem-forget = "allow" +mem-replace-option-with-none = "warn" +mem-replace-option-with-some = "warn" +mem-replace-with-default = "warn" +mem-replace-with-uninit = "deny" +min-ident-chars = "allow" +min-max = "deny" +mismatching-type-param-order = "allow" +misnamed-getters = "warn" +misrefactored-assign-op = "warn" +missing-assert-message = "allow" +missing-asserts-for-indexing = "allow" +missing-const-for-fn = "allow" +missing-const-for-thread-local = "warn" +missing-docs-in-private-items = "allow" +missing-enforced-import-renames = "warn" +missing-errors-doc = "allow" +missing-fields-in-debug = "allow" +missing-inline-in-public-items = "allow" +missing-panics-doc = "allow" +missing-safety-doc = "warn" +missing-spin-loop = "warn" +missing-trait-methods = "allow" +missing-transmute-annotations = "warn" +mistyped-literal-suffixes = "deny" +mixed-attributes-style = "warn" +mixed-case-hex-literals = "warn" +mixed-read-write-in-expression = "allow" +mod-module-files = "allow" +module-inception = "warn" +module-name-repetitions = "allow" +modulo-arithmetic = "allow" +modulo-one = "deny" +multi-assignments = "warn" +multiple-bound-locations = "warn" +multiple-crate-versions = "allow" +multiple-inherent-impl = "allow" +multiple-unsafe-ops-per-block = "allow" +must-use-candidate = "allow" +must-use-unit = "warn" +mut-from-ref = "deny" +mut-mut = "allow" +mut-mutex-lock = "warn" +mut-range-bound = "warn" +mutable-key-type = "warn" +mutex-atomic = "allow" +mutex-integer = "allow" +naive-bytecount = "allow" +needless-arbitrary-self-type = "warn" +needless-as-bytes = "warn" +needless-bitwise-bool = "allow" +needless-bool = "warn" +needless-bool-assign = "warn" +needless-borrow = "warn" +needless-borrowed-reference = "warn" +needless-borrows-for-generic-args = "warn" +needless-character-iteration = "warn" +needless-collect = "allow" +needless-continue = "allow" +needless-doctest-main = "warn" +needless-else = "warn" +needless-for-each = "allow" +needless-if = "warn" +needless-late-init = "warn" +needless-lifetimes = "warn" +needless-match = "warn" +needless-maybe-sized = "warn" +needless-option-as-deref = "warn" +needless-option-take = "warn" +needless-parens-on-range-literals = "warn" +needless-pass-by-ref-mut = "allow" +needless-pass-by-value = "allow" +needless-pub-self = "warn" +needless-question-mark = "warn" +needless-range-loop = "warn" +needless-raw-string-hashes = "allow" +needless-raw-strings = "allow" +needless-return = "warn" +needless-return-with-question-mark = "warn" +needless-splitn = "warn" +needless-update = "warn" +neg-cmp-op-on-partial-ord = "warn" +neg-multiply = "warn" +negative-feature-names = "allow" +never-loop = "deny" +new-ret-no-self = "warn" +new-without-default = "warn" +no-effect = "warn" +no-effect-replace = "warn" +no-effect-underscore-binding = "allow" +no-mangle-with-rust-abi = "allow" +non-ascii-literal = "allow" +non-canonical-clone-impl = "warn" +non-canonical-partial-ord-impl = "warn" +non-minimal-cfg = "warn" +non-octal-unix-permissions = "deny" +non-send-fields-in-send-ty = "allow" +non-std-lazy-statics = "allow" +non-zero-suggestions = "allow" +nonminimal-bool = "warn" +nonsensical-open-options = "deny" +nonstandard-macro-braces = "allow" +not-unsafe-ptr-arg-deref = "deny" +obfuscated-if-else = "warn" +octal-escapes = "warn" +ok-expect = "warn" +only-used-in-recursion = "warn" +op-ref = "warn" +option-as-ref-cloned = "allow" +option-as-ref-deref = "warn" +option-env-unwrap = "deny" +option-filter-map = "warn" +option-if-let-else = "allow" +option-map-or-none = "warn" +option-map-unit-fn = "warn" +option-option = "allow" +or-fun-call = "allow" +or-then-unwrap = "warn" +out-of-bounds-indexing = "deny" +overly-complex-bool-expr = "deny" +owned-cow = "warn" +panic = "allow" +panic-in-result-fn = "allow" +panicking-overflow-checks = "deny" +panicking-unwrap = "deny" +partial-pub-fields = "allow" +partialeq-ne-impl = "warn" +partialeq-to-none = "warn" +path-buf-push-overwrite = "allow" +path-ends-with-ext = "warn" +pathbuf-init-then-push = "allow" +pattern-type-mismatch = "allow" +permissions-set-readonly-false = "warn" +pointer-format = "allow" +pointers-in-nomem-asm-block = "warn" +possible-missing-comma = "deny" +possible-missing-else = "warn" +precedence = "warn" +precedence-bits = "allow" +print-in-format-impl = "warn" +print-literal = "warn" +print-stderr = "allow" +print-stdout = "allow" +print-with-newline = "warn" +println-empty-string = "warn" +ptr-arg = "warn" +ptr-as-ptr = "allow" +ptr-cast-constness = "allow" +ptr-eq = "warn" +ptr-offset-with-cast = "warn" +pub-underscore-fields = "allow" +pub-use = "allow" +pub-with-shorthand = "allow" +pub-without-shorthand = "allow" +question-mark = "warn" +question-mark-used = "allow" +range-minus-one = "allow" +range-plus-one = "allow" +range-zip-with-len = "warn" +rc-buffer = "allow" +rc-clone-in-vec-init = "warn" +rc-mutex = "allow" +read-line-without-trim = "deny" +read-zero-byte-vec = "allow" +readonly-write-lock = "warn" +recursive-format-impl = "deny" +redundant-allocation = "warn" +redundant-as-str = "warn" +redundant-async-block = "warn" +redundant-at-rest-pattern = "warn" +redundant-clone = "allow" +redundant-closure = "warn" +redundant-closure-call = "warn" +redundant-closure-for-method-calls = "allow" +redundant-comparisons = "deny" +redundant-else = "allow" +redundant-feature-names = "allow" +redundant-field-names = "warn" +redundant-guards = "warn" +redundant-locals = "warn" +redundant-pattern = "warn" +redundant-pattern-matching = "warn" +redundant-pub-crate = "allow" +redundant-slicing = "warn" +redundant-static-lifetimes = "warn" +redundant-test-prefix = "allow" +redundant-type-annotations = "allow" +ref-as-ptr = "allow" +ref-binding-to-reference = "allow" +ref-option = "allow" +ref-option-ref = "allow" +ref-patterns = "allow" +regex-creation-in-loops = "warn" +renamed-function-params = "allow" +repeat-once = "warn" +repeat-vec-with-capacity = "warn" +repr-packed-without-abi = "warn" +reserve-after-initialization = "warn" +rest-pat-in-fully-bound-structs = "allow" +result-filter-map = "warn" +result-large-err = "warn" +result-map-or-into-option = "warn" +result-map-unit-fn = "warn" +result-unit-err = "warn" +return-and-then = "allow" +return-self-not-must-use = "allow" +reversed-empty-ranges = "deny" +same-functions-in-if-condition = "allow" +same-item-push = "warn" +same-name-method = "allow" +search-is-some = "warn" +seek-from-current = "warn" +seek-to-start-instead-of-rewind = "warn" +self-assignment = "deny" +self-named-constructors = "warn" +self-named-module-files = "allow" +semicolon-if-nothing-returned = "allow" +semicolon-inside-block = "allow" +semicolon-outside-block = "allow" +separated-literal-suffix = "allow" +serde-api-misuse = "deny" +set-contains-or-insert = "allow" +shadow-reuse = "allow" +shadow-same = "allow" +shadow-unrelated = "allow" +short-circuit-statement = "warn" +should-implement-trait = "warn" +should-panic-without-expect = "allow" +significant-drop-in-scrutinee = "allow" +significant-drop-tightening = "allow" +similar-names = "allow" +single-call-fn = "allow" +single-char-add-str = "warn" +single-char-lifetime-names = "allow" +single-char-pattern = "allow" +single-component-path-imports = "warn" +single-element-loop = "warn" +single-match = "warn" +single-match-else = "allow" +single-option-map = "allow" +single-range-in-vec-init = "warn" +size-of-in-element-count = "deny" +size-of-ref = "warn" +skip-while-next = "warn" +sliced-string-as-bytes = "warn" +slow-vector-initialization = "warn" +stable-sort-primitive = "allow" +std-instead-of-alloc = "allow" +std-instead-of-core = "allow" +str-split-at-newline = "allow" +str-to-string = "allow" +string-add = "allow" +string-add-assign = "allow" +string-extend-chars = "warn" +string-from-utf8-as-bytes = "warn" +string-lit-as-bytes = "allow" +string-lit-chars-any = "allow" +string-slice = "allow" +strlen-on-c-strings = "warn" +struct-excessive-bools = "allow" +struct-field-names = "allow" +suboptimal-flops = "allow" +suspicious-arithmetic-impl = "warn" +suspicious-assignment-formatting = "warn" +suspicious-command-arg-space = "warn" +suspicious-doc-comments = "warn" +suspicious-else-formatting = "warn" +suspicious-map = "warn" +suspicious-op-assign-impl = "warn" +suspicious-open-options = "warn" +suspicious-operation-groupings = "allow" +suspicious-splitn = "deny" +suspicious-to-owned = "warn" +suspicious-unary-op-formatting = "warn" +suspicious-xor-used-as-pow = "allow" +swap-ptr-to-ref = "warn" +swap-with-temporary = "warn" +tabs-in-doc-comments = "warn" +temporary-assignment = "warn" +test-attr-in-doctest = "warn" +tests-outside-test-module = "allow" +to-digit-is-some = "warn" +to-string-in-format-args = "warn" +to-string-trait-impl = "warn" +todo = "allow" +too-long-first-doc-paragraph = "allow" +too-many-arguments = "warn" +too-many-lines = "allow" +toplevel-ref-arg = "warn" +trailing-empty-array = "allow" +trait-duplication-in-bounds = "allow" +transmute-bytes-to-str = "warn" +transmute-int-to-bool = "warn" +transmute-int-to-non-zero = "warn" +transmute-null-to-fn = "deny" +transmute-ptr-to-ptr = "allow" +transmute-ptr-to-ref = "warn" +transmute-undefined-repr = "allow" +transmutes-expressible-as-ptr-casts = "warn" +transmuting-null = "deny" +trim-split-whitespace = "warn" +trivial-regex = "allow" +trivially-copy-pass-by-ref = "allow" +try-err = "allow" +tuple-array-conversions = "allow" +type-complexity = "warn" +type-id-on-box = "warn" +type-repetition-in-bounds = "allow" +unbuffered-bytes = "warn" +unchecked-duration-subtraction = "allow" +unconditional-recursion = "warn" +undocumented-unsafe-blocks = "allow" +unicode-not-nfc = "allow" +unimplemented = "allow" +uninhabited-references = "allow" +uninit-assumed-init = "deny" +uninit-vec = "deny" +uninlined-format-args = "allow" +unit-arg = "warn" +unit-cmp = "deny" +unit-hash = "deny" +unit-return-expecting-ord = "deny" +unnecessary-box-returns = "allow" +unnecessary-cast = "warn" +unnecessary-clippy-cfg = "warn" +unnecessary-debug-formatting = "allow" +unnecessary-fallible-conversions = "warn" +unnecessary-filter-map = "warn" +unnecessary-find-map = "warn" +unnecessary-first-then-check = "warn" +unnecessary-fold = "warn" +unnecessary-get-then-check = "warn" +unnecessary-join = "allow" +unnecessary-lazy-evaluations = "warn" +unnecessary-literal-bound = "allow" +unnecessary-literal-unwrap = "warn" +unnecessary-map-on-constructor = "warn" +unnecessary-map-or = "warn" +unnecessary-min-or-max = "warn" +unnecessary-mut-passed = "warn" +unnecessary-operation = "warn" +unnecessary-owned-empty-strings = "warn" +unnecessary-result-map-or-else = "warn" +unnecessary-safety-comment = "allow" +unnecessary-safety-doc = "allow" +unnecessary-self-imports = "allow" +unnecessary-semicolon = "allow" +unnecessary-sort-by = "warn" +unnecessary-struct-initialization = "allow" +unnecessary-to-owned = "warn" +unnecessary-unwrap = "warn" +unnecessary-wraps = "allow" +unneeded-field-pattern = "allow" +unneeded-struct-pattern = "warn" +unneeded-wildcard-pattern = "warn" +unnested-or-patterns = "allow" +unreachable = "allow" +unreadable-literal = "allow" +unsafe-derive-deserialize = "allow" +unsafe-removed-from-name = "warn" +unseparated-literal-suffix = "allow" +unsound-collection-transmute = "deny" +unused-async = "allow" +unused-enumerate-index = "warn" +unused-format-specs = "warn" +unused-io-amount = "deny" +unused-peekable = "allow" +unused-result-ok = "allow" +unused-rounding = "allow" +unused-self = "allow" +unused-trait-names = "allow" +unused-unit = "warn" +unusual-byte-groupings = "warn" +unwrap-in-result = "allow" +unwrap-or-default = "warn" +unwrap-used = "allow" +upper-case-acronyms = "warn" +use-debug = "allow" +use-self = "allow" +used-underscore-binding = "allow" +used-underscore-items = "allow" +useless-asref = "warn" +useless-attribute = "deny" +useless-concat = "warn" +useless-conversion = "warn" +useless-format = "warn" +useless-let-if-seq = "allow" +useless-nonzero-new-unchecked = "warn" +useless-transmute = "warn" +useless-vec = "warn" +vec-box = "warn" +vec-init-then-push = "warn" +vec-resize-to-zero = "deny" +verbose-bit-mask = "allow" +verbose-file-reads = "allow" +waker-clone-wake = "warn" +while-float = "allow" +while-immutable-condition = "deny" +while-let-loop = "warn" +while-let-on-iterator = "warn" +wildcard-dependencies = "allow" +wildcard-enum-match-arm = "allow" +wildcard-imports = "allow" +wildcard-in-or-patterns = "warn" +write-literal = "warn" +write-with-newline = "warn" +writeln-empty-string = "warn" +wrong-self-convention = "warn" +wrong-transmute = "deny" +zero-divided-by-zero = "warn" +zero-prefixed-literal = "warn" +zero-ptr = "warn" +zero-repeat-side-effects = "warn" +zero-sized-map-values = "allow" +zombie-processes = "warn" +zst-offset = "deny" + +[workspace.lints.rust] +aarch64-softfloat-neon = "warn" +absolute-paths-not-starting-with-crate = "allow" +ambiguous-associated-items = "deny" +ambiguous-glob-imports = "deny" +ambiguous-glob-reexports = "warn" +ambiguous-negative-literals = "allow" +ambiguous-wide-pointer-comparisons = "warn" +anonymous-parameters = "warn" +arithmetic-overflow = "deny" +array-into-iter = "warn" +asm-sub-register = "warn" +async-fn-in-trait = "warn" +bad-asm-style = "warn" +bare-trait-objects = "warn" +binary-asm-labels = "deny" +bindings-with-variant-name = "deny" +boxed-slice-into-iter = "warn" +break-with-label-and-loop = "warn" +clashing-extern-declarations = "warn" +closure-returning-async-block = "allow" +coherence-leak-check = "warn" +conflicting-repr-hints = "deny" +confusable-idents = "warn" +const-evaluatable-unchecked = "warn" +const-item-mutation = "warn" +dangerous-implicit-autorefs = "deny" +dangling-pointers-from-locals = "warn" +dangling-pointers-from-temporaries = "warn" +dead-code = "warn" +default-overrides-default-fields = "deny" +dependency-on-unit-never-type-fallback = "warn" +deprecated = "warn" +deprecated-in-future = "allow" +deprecated-safe-2024 = "allow" +deprecated-where-clause-location = "warn" +deref-into-dyn-supertrait = "allow" +deref-nullptr = "warn" +double-negations = "warn" +drop-bounds = "warn" +dropping-copy-types = "warn" +dropping-references = "warn" +duplicate-macro-attributes = "warn" +dyn-drop = "warn" +edition-2024-expr-fragment-specifier = "allow" +elided-lifetimes-in-associated-constant = "deny" +elided-lifetimes-in-paths = "allow" +ellipsis-inclusive-range-patterns = "warn" +enum-intrinsics-non-enums = "deny" +explicit-builtin-cfgs-in-flags = "deny" +explicit-outlives-requirements = "allow" +exported-private-dependencies = "warn" +ffi-unwind-calls = "allow" +for-loops-over-fallibles = "warn" +forbidden-lint-groups = "warn" +forgetting-copy-types = "warn" +forgetting-references = "warn" +function-item-references = "warn" +fuzzy-provenance-casts = "allow" +hidden-glob-reexports = "warn" +if-let-rescope = "allow" +ill-formed-attribute-input = "deny" +impl-trait-overcaptures = "allow" +impl-trait-redundant-captures = "allow" +improper-ctypes = "warn" +improper-ctypes-definitions = "warn" +incomplete-features = "warn" +incomplete-include = "deny" +ineffective-unstable-trait-impl = "deny" +inline-no-sanitize = "warn" +integer-to-ptr-transmutes = "warn" +internal-features = "warn" +invalid-atomic-ordering = "deny" +invalid-doc-attributes = "deny" +invalid-from-utf8 = "warn" +invalid-from-utf8-unchecked = "deny" +invalid-macro-export-arguments = "warn" +invalid-nan-comparisons = "warn" +invalid-null-arguments = "deny" +invalid-reference-casting = "deny" +invalid-type-param-default = "deny" +invalid-value = "warn" +irrefutable-let-patterns = "warn" +keyword-idents-2018 = "allow" +keyword-idents-2024 = "allow" +large-assignments = "warn" +late-bound-lifetime-arguments = "warn" +legacy-derive-helpers = "deny" +let-underscore-drop = "allow" +let-underscore-lock = "deny" +linker-messages = "allow" +long-running-const-eval = "deny" +lossy-provenance-casts = "allow" +macro-expanded-macro-exports-accessed-by-absolute-paths = "deny" +macro-extended-temporary-scopes = "warn" +macro-use-extern-crate = "allow" +malformed-diagnostic-attributes = "warn" +malformed-diagnostic-format-literals = "warn" +map-unit-fn = "warn" +meta-variable-misuse = "allow" +mismatched-lifetime-syntaxes = "warn" +misplaced-diagnostic-attributes = "warn" +missing-abi = "warn" +missing-copy-implementations = "allow" +missing-debug-implementations = "allow" +missing-docs = "allow" +missing-unsafe-on-extern = "allow" +mixed-script-confusables = "warn" +multiple-supertrait-upcastable = "allow" +must-not-suspend = "allow" +mutable-transmutes = "deny" +named-arguments-used-positionally = "warn" +named-asm-labels = "deny" +never-type-fallback-flowing-into-unsafe = "warn" +no-mangle-const-items = "deny" +no-mangle-generic-items = "warn" +non-ascii-idents = "allow" +non-camel-case-types = "warn" +non-contiguous-range-endpoints = "warn" +non-exhaustive-omitted-patterns = "allow" +non-fmt-panics = "warn" +non-local-definitions = "warn" +non-shorthand-field-patterns = "warn" +non-snake-case = "warn" +non-upper-case-globals = "warn" +noop-method-call = "warn" +opaque-hidden-inferred-bound = "warn" +out-of-scope-macro-calls = "deny" +overflowing-literals = "deny" +overlapping-range-endpoints = "warn" +path-statements = "warn" +patterns-in-fns-without-body = "deny" +private-bounds = "warn" +private-interfaces = "warn" +proc-macro-derive-resolution-fallback = "deny" +ptr-to-integer-transmute-in-consts = "warn" +pub-use-of-private-extern-crate = "deny" +redundant-imports = "allow" +redundant-lifetimes = "allow" +redundant-semicolons = "warn" +refining-impl-trait-internal = "warn" +refining-impl-trait-reachable = "warn" +renamed-and-removed-lints = "warn" +repr-transparent-external-private-fields = "warn" +rust-2021-incompatible-closure-captures = "allow" +rust-2021-incompatible-or-patterns = "allow" +rust-2021-prefixes-incompatible-syntax = "allow" +rust-2021-prelude-collisions = "allow" +rust-2024-guarded-string-incompatible-syntax = "allow" +rust-2024-incompatible-pat = "allow" +rust-2024-prelude-collisions = "allow" +self-constructor-from-outer-item = "warn" +semicolon-in-expressions-from-macros = "deny" +single-use-lifetimes = "allow" +soft-unstable = "deny" +special-module-name = "warn" +stable-features = "warn" +static-mut-refs = "warn" +supertrait-item-shadowing-definition = "allow" +supertrait-item-shadowing-usage = "allow" +suspicious-double-ref-op = "warn" +tail-expr-drop-order = "allow" +test-unstable-lint = "deny" +text-direction-codepoint-in-comment = "deny" +text-direction-codepoint-in-literal = "deny" +trivial-bounds = "warn" +trivial-casts = "allow" +trivial-numeric-casts = "allow" +type-alias-bounds = "warn" +tyvar-behind-raw-pointer = "warn" +uncommon-codepoints = "warn" +unconditional-panic = "deny" +unconditional-recursion = "warn" +uncovered-param-in-projection = "warn" +undropped-manually-drops = "deny" +unexpected-cfgs = "warn" +unfulfilled-lint-expectations = "warn" +ungated-async-fn-track-caller = "warn" +uninhabited-static = "warn" +unit-bindings = "allow" +unknown-crate-types = "deny" +unknown-diagnostic-attributes = "warn" +unknown-lints = "warn" +unnameable-test-items = "warn" +unnameable-types = "allow" +unnecessary-transmutes = "warn" +unpredictable-function-pointer-comparisons = "warn" +unqualified-local-imports = "allow" +unreachable-code = "warn" +unreachable-patterns = "warn" +unreachable-pub = "allow" +unsafe-attr-outside-unsafe = "allow" +unsafe-code = "allow" +unsafe-op-in-unsafe-fn = "allow" +unstable-features = "allow" +unstable-name-collisions = "warn" +unstable-syntax-pre-expansion = "warn" +unsupported-calling-conventions = "warn" +unused-allocation = "warn" +unused-assignments = "warn" +unused-associated-type-bounds = "warn" +unused-attributes = "warn" +unused-braces = "warn" +unused-comparisons = "warn" +unused-crate-dependencies = "allow" +unused-doc-comments = "warn" +unused-extern-crates = "allow" +unused-features = "warn" +unused-import-braces = "allow" +unused-imports = "warn" +unused-labels = "warn" +unused-lifetimes = "allow" +unused-macro-rules = "allow" +unused-macros = "warn" +unused-must-use = "warn" +unused-mut = "warn" +unused-parens = "warn" +unused-qualifications = "allow" +unused-results = "allow" +unused-unsafe = "warn" +unused-variables = "warn" +useless-deprecated = "deny" +useless-ptr-null-checks = "warn" +uses-power-alignment = "warn" +variant-size-differences = "allow" +warnings = "warn" +while-true = "warn" + +[workspace.lints.rustdoc] +bare-urls = "warn" +broken-intra-doc-links = "warn" +invalid-codeblock-attributes = "warn" +invalid-html-tags = "warn" +invalid-rust-codeblocks = "warn" +missing-crate-level-docs = "allow" +missing-doc-code-examples = "allow" +private-doc-tests = "allow" +private-intra-doc-links = "warn" +redundant-explicit-links = "warn" +unescaped-backticks = "allow" diff --git a/lints/1.92.toml b/lints/1.92.toml new file mode 100644 index 0000000..90f9583 --- /dev/null +++ b/lints/1.92.toml @@ -0,0 +1,1036 @@ +[workspace.lints.clippy] +absolute-paths = "allow" +absurd-extreme-comparisons = "deny" +alloc-instead-of-core = "allow" +allow-attributes = "allow" +allow-attributes-without-reason = "allow" +almost-complete-range = "warn" +almost-swapped = "deny" +approx-constant = "deny" +arbitrary-source-item-ordering = "allow" +arc-with-non-send-sync = "warn" +arithmetic-side-effects = "allow" +as-conversions = "allow" +as-pointer-underscore = "allow" +as-ptr-cast-mut = "allow" +as-underscore = "allow" +assertions-on-constants = "warn" +assertions-on-result-states = "allow" +assign-op-pattern = "warn" +assigning-clones = "allow" +async-yields-async = "deny" +await-holding-invalid-type = "warn" +await-holding-lock = "warn" +await-holding-refcell-ref = "warn" +bad-bit-mask = "deny" +big-endian-bytes = "allow" +bind-instead-of-map = "warn" +blanket-clippy-restriction-lints = "warn" +blocks-in-conditions = "warn" +bool-assert-comparison = "warn" +bool-comparison = "warn" +bool-to-int-with-if = "allow" +borrow-as-ptr = "allow" +borrow-deref-ref = "warn" +borrow-interior-mutable-const = "warn" +borrowed-box = "warn" +box-collection = "warn" +box-default = "warn" +boxed-local = "warn" +branches-sharing-code = "allow" +builtin-type-shadow = "warn" +byte-char-slices = "warn" +bytes-count-to-len = "warn" +bytes-nth = "warn" +cargo-common-metadata = "allow" +case-sensitive-file-extension-comparisons = "allow" +cast-abs-to-unsigned = "warn" +cast-enum-constructor = "warn" +cast-enum-truncation = "warn" +cast-lossless = "allow" +cast-nan-to-int = "warn" +cast-possible-truncation = "allow" +cast-possible-wrap = "allow" +cast-precision-loss = "allow" +cast-ptr-alignment = "allow" +cast-sign-loss = "allow" +cast-slice-different-sizes = "deny" +cast-slice-from-raw-parts = "warn" +cfg-not-test = "allow" +char-indices-as-byte-indices = "deny" +char-lit-as-u8 = "warn" +chars-last-cmp = "warn" +chars-next-cmp = "warn" +checked-conversions = "allow" +clear-with-drain = "allow" +clone-on-copy = "warn" +clone-on-ref-ptr = "allow" +cloned-instead-of-copied = "allow" +cloned-ref-to-slice-refs = "warn" +cmp-null = "warn" +cmp-owned = "warn" +coerce-container-to-any = "allow" +cognitive-complexity = "allow" +collapsible-else-if = "warn" +collapsible-if = "warn" +collapsible-match = "warn" +collapsible-str-replace = "warn" +collection-is-never-read = "allow" +comparison-chain = "allow" +comparison-to-empty = "warn" +confusing-method-to-numeric-cast = "warn" +const-is-empty = "warn" +copy-iterator = "allow" +crate-in-macro-def = "warn" +create-dir = "allow" +crosspointer-transmute = "warn" +dbg-macro = "allow" +debug-assert-with-mut-call = "allow" +decimal-literal-representation = "allow" +declare-interior-mutable-const = "warn" +default-constructed-unit-structs = "warn" +default-instead-of-iter-empty = "warn" +default-numeric-fallback = "allow" +default-trait-access = "allow" +default-union-representation = "allow" +deprecated-cfg-attr = "warn" +deprecated-clippy-cfg-attr = "warn" +deprecated-semver = "deny" +deref-addrof = "warn" +deref-by-slicing = "allow" +derivable-impls = "warn" +derive-ord-xor-partial-ord = "deny" +derive-partial-eq-without-eq = "allow" +derived-hash-with-manual-eq = "deny" +disallowed-macros = "warn" +disallowed-methods = "warn" +disallowed-names = "warn" +disallowed-script-idents = "allow" +disallowed-types = "warn" +diverging-sub-expression = "warn" +doc-broken-link = "allow" +doc-comment-double-space-linebreaks = "allow" +doc-include-without-cfg = "allow" +doc-lazy-continuation = "warn" +doc-link-code = "allow" +doc-link-with-quotes = "allow" +doc-markdown = "allow" +doc-nested-refdefs = "warn" +doc-overindented-list-items = "warn" +doc-suspicious-footnotes = "warn" +double-comparisons = "warn" +double-ended-iterator-last = "warn" +double-must-use = "warn" +double-parens = "warn" +drain-collect = "warn" +drop-non-drop = "warn" +duplicate-mod = "warn" +duplicate-underscore-argument = "warn" +duplicated-attributes = "warn" +duration-subsec = "warn" +eager-transmute = "deny" +elidable-lifetime-names = "allow" +else-if-without-else = "allow" +empty-docs = "warn" +empty-drop = "allow" +empty-enum = "allow" +empty-enum-variants-with-brackets = "allow" +empty-line-after-doc-comments = "warn" +empty-line-after-outer-attr = "warn" +empty-loop = "warn" +empty-structs-with-brackets = "allow" +enum-clike-unportable-variant = "deny" +enum-glob-use = "allow" +enum-variant-names = "warn" +eq-op = "deny" +equatable-if-let = "allow" +erasing-op = "deny" +err-expect = "warn" +error-impl-error = "allow" +excessive-nesting = "warn" +excessive-precision = "warn" +exhaustive-enums = "allow" +exhaustive-structs = "allow" +exit = "allow" +expect-fun-call = "warn" +expect-used = "allow" +expl-impl-clone-on-copy = "allow" +explicit-auto-deref = "warn" +explicit-counter-loop = "warn" +explicit-deref-methods = "allow" +explicit-into-iter-loop = "allow" +explicit-iter-loop = "allow" +explicit-write = "warn" +extend-with-drain = "warn" +extra-unused-lifetimes = "warn" +extra-unused-type-parameters = "warn" +fallible-impl-from = "allow" +field-reassign-with-default = "warn" +field-scoped-visibility-modifiers = "allow" +filetype-is-file = "allow" +filter-map-bool-then = "warn" +filter-map-identity = "warn" +filter-map-next = "allow" +filter-next = "warn" +flat-map-identity = "warn" +flat-map-option = "allow" +float-arithmetic = "allow" +float-cmp = "allow" +float-cmp-const = "allow" +float-equality-without-abs = "warn" +fn-params-excessive-bools = "allow" +fn-to-numeric-cast = "warn" +fn-to-numeric-cast-any = "allow" +fn-to-numeric-cast-with-truncation = "warn" +for-kv-map = "warn" +forget-non-drop = "warn" +format-collect = "allow" +format-in-format-args = "warn" +format-push-string = "allow" +four-forward-slashes = "warn" +from-iter-instead-of-collect = "allow" +from-over-into = "warn" +from-raw-with-void-ptr = "warn" +from-str-radix-10 = "warn" +future-not-send = "allow" +get-first = "warn" +get-last-with-len = "warn" +get-unwrap = "allow" +host-endian-bytes = "allow" +identity-op = "warn" +if-let-mutex = "deny" +if-not-else = "allow" +if-same-then-else = "warn" +if-then-some-else-none = "allow" +ifs-same-cond = "deny" +ignore-without-reason = "allow" +ignored-unit-patterns = "allow" +impl-hash-borrow-with-str-and-bytes = "deny" +impl-trait-in-params = "allow" +implicit-clone = "allow" +implicit-hasher = "allow" +implicit-return = "allow" +implicit-saturating-add = "warn" +implicit-saturating-sub = "warn" +implied-bounds-in-impls = "warn" +impossible-comparisons = "deny" +imprecise-flops = "allow" +incompatible-msrv = "warn" +inconsistent-digit-grouping = "warn" +inconsistent-struct-constructor = "allow" +index-refutable-slice = "allow" +indexing-slicing = "allow" +ineffective-bit-mask = "deny" +ineffective-open-options = "warn" +inefficient-to-string = "allow" +infallible-destructuring-match = "warn" +infallible-try-from = "warn" +infinite-iter = "deny" +infinite-loop = "allow" +inherent-to-string = "warn" +inherent-to-string-shadow-display = "deny" +init-numbered-fields = "warn" +inline-always = "allow" +inline-asm-x86-att-syntax = "allow" +inline-asm-x86-intel-syntax = "allow" +inline-fn-without-body = "deny" +inspect-for-each = "warn" +int-plus-one = "warn" +integer-division = "allow" +integer-division-remainder-used = "allow" +into-iter-on-ref = "warn" +into-iter-without-iter = "allow" +invalid-regex = "deny" +invalid-upcast-comparisons = "allow" +inverted-saturating-sub = "deny" +invisible-characters = "deny" +io-other-error = "warn" +ip-constant = "allow" +is-digit-ascii-radix = "warn" +items-after-statements = "allow" +items-after-test-module = "warn" +iter-cloned-collect = "warn" +iter-count = "warn" +iter-filter-is-ok = "allow" +iter-filter-is-some = "allow" +iter-kv-map = "warn" +iter-next-loop = "deny" +iter-next-slice = "warn" +iter-not-returning-iterator = "allow" +iter-nth = "warn" +iter-nth-zero = "warn" +iter-on-empty-collections = "allow" +iter-on-single-items = "allow" +iter-out-of-bounds = "warn" +iter-over-hash-type = "allow" +iter-overeager-cloned = "warn" +iter-skip-next = "warn" +iter-skip-zero = "deny" +iter-with-drain = "allow" +iter-without-into-iter = "allow" +iterator-step-by-zero = "deny" +join-absolute-paths = "warn" +just-underscores-and-digits = "warn" +large-const-arrays = "warn" +large-digit-groups = "allow" +large-enum-variant = "warn" +large-futures = "allow" +large-include-file = "allow" +large-stack-arrays = "allow" +large-stack-frames = "allow" +large-types-passed-by-value = "allow" +legacy-numeric-constants = "warn" +len-without-is-empty = "warn" +len-zero = "warn" +let-and-return = "warn" +let-underscore-future = "warn" +let-underscore-lock = "deny" +let-underscore-must-use = "allow" +let-underscore-untyped = "allow" +let-unit-value = "warn" +let-with-type-underscore = "warn" +lines-filter-map-ok = "warn" +linkedlist = "allow" +lint-groups-priority = "deny" +literal-string-with-formatting-args = "allow" +little-endian-bytes = "allow" +lossy-float-literal = "allow" +macro-metavars-in-unsafe = "warn" +macro-use-imports = "allow" +main-recursion = "warn" +manual-abs-diff = "warn" +manual-assert = "allow" +manual-async-fn = "warn" +manual-bits = "warn" +manual-c-str-literals = "warn" +manual-clamp = "warn" +manual-contains = "warn" +manual-dangling-ptr = "warn" +manual-div-ceil = "warn" +manual-filter = "warn" +manual-filter-map = "warn" +manual-find = "warn" +manual-find-map = "warn" +manual-flatten = "warn" +manual-hash-one = "warn" +manual-ignore-case-cmp = "warn" +manual-inspect = "warn" +manual-instant-elapsed = "allow" +manual-is-ascii-check = "warn" +manual-is-finite = "warn" +manual-is-infinite = "warn" +manual-is-multiple-of = "warn" +manual-is-power-of-two = "allow" +manual-is-variant-and = "allow" +manual-let-else = "allow" +manual-main-separator-str = "warn" +manual-map = "warn" +manual-memcpy = "warn" +manual-midpoint = "allow" +manual-next-back = "warn" +manual-non-exhaustive = "warn" +manual-ok-err = "warn" +manual-ok-or = "warn" +manual-option-as-slice = "warn" +manual-pattern-char-comparison = "warn" +manual-range-contains = "warn" +manual-range-patterns = "warn" +manual-rem-euclid = "warn" +manual-repeat-n = "warn" +manual-retain = "warn" +manual-rotate = "warn" +manual-saturating-arithmetic = "warn" +manual-slice-fill = "warn" +manual-slice-size-calculation = "warn" +manual-split-once = "warn" +manual-str-repeat = "warn" +manual-string-new = "allow" +manual-strip = "warn" +manual-swap = "warn" +manual-try-fold = "warn" +manual-unwrap-or = "warn" +manual-unwrap-or-default = "warn" +manual-while-let-some = "warn" +many-single-char-names = "allow" +map-all-any-identity = "warn" +map-clone = "warn" +map-collect-result-unit = "warn" +map-entry = "warn" +map-err-ignore = "allow" +map-flatten = "warn" +map-identity = "warn" +map-unwrap-or = "allow" +map-with-unused-argument-over-ranges = "allow" +match-as-ref = "warn" +match-bool = "allow" +match-like-matches-macro = "warn" +match-overlapping-arm = "warn" +match-ref-pats = "warn" +match-result-ok = "warn" +match-same-arms = "allow" +match-single-binding = "warn" +match-str-case-mismatch = "deny" +match-wild-err-arm = "allow" +match-wildcard-for-single-variants = "allow" +maybe-infinite-iter = "allow" +mem-forget = "allow" +mem-replace-option-with-none = "warn" +mem-replace-option-with-some = "warn" +mem-replace-with-default = "warn" +mem-replace-with-uninit = "deny" +min-ident-chars = "allow" +min-max = "deny" +mismatching-type-param-order = "allow" +misnamed-getters = "warn" +misrefactored-assign-op = "warn" +missing-assert-message = "allow" +missing-asserts-for-indexing = "allow" +missing-const-for-fn = "allow" +missing-const-for-thread-local = "warn" +missing-docs-in-private-items = "allow" +missing-enforced-import-renames = "warn" +missing-errors-doc = "allow" +missing-fields-in-debug = "allow" +missing-inline-in-public-items = "allow" +missing-panics-doc = "allow" +missing-safety-doc = "warn" +missing-spin-loop = "warn" +missing-trait-methods = "allow" +missing-transmute-annotations = "warn" +mistyped-literal-suffixes = "deny" +mixed-attributes-style = "warn" +mixed-case-hex-literals = "warn" +mixed-read-write-in-expression = "allow" +mod-module-files = "allow" +module-inception = "warn" +module-name-repetitions = "allow" +modulo-arithmetic = "allow" +modulo-one = "deny" +multi-assignments = "warn" +multiple-bound-locations = "warn" +multiple-crate-versions = "allow" +multiple-inherent-impl = "allow" +multiple-unsafe-ops-per-block = "allow" +must-use-candidate = "allow" +must-use-unit = "warn" +mut-from-ref = "deny" +mut-mut = "allow" +mut-mutex-lock = "warn" +mut-range-bound = "warn" +mutable-key-type = "warn" +mutex-atomic = "allow" +mutex-integer = "allow" +naive-bytecount = "allow" +needless-arbitrary-self-type = "warn" +needless-as-bytes = "warn" +needless-bitwise-bool = "allow" +needless-bool = "warn" +needless-bool-assign = "warn" +needless-borrow = "warn" +needless-borrowed-reference = "warn" +needless-borrows-for-generic-args = "warn" +needless-character-iteration = "warn" +needless-collect = "allow" +needless-continue = "allow" +needless-doctest-main = "warn" +needless-else = "warn" +needless-for-each = "allow" +needless-if = "warn" +needless-late-init = "warn" +needless-lifetimes = "warn" +needless-match = "warn" +needless-maybe-sized = "warn" +needless-option-as-deref = "warn" +needless-option-take = "warn" +needless-parens-on-range-literals = "warn" +needless-pass-by-ref-mut = "allow" +needless-pass-by-value = "allow" +needless-pub-self = "warn" +needless-question-mark = "warn" +needless-range-loop = "warn" +needless-raw-string-hashes = "allow" +needless-raw-strings = "allow" +needless-return = "warn" +needless-return-with-question-mark = "warn" +needless-splitn = "warn" +needless-update = "warn" +neg-cmp-op-on-partial-ord = "warn" +neg-multiply = "warn" +negative-feature-names = "allow" +never-loop = "deny" +new-ret-no-self = "warn" +new-without-default = "warn" +no-effect = "warn" +no-effect-replace = "warn" +no-effect-underscore-binding = "allow" +no-mangle-with-rust-abi = "allow" +non-ascii-literal = "allow" +non-canonical-clone-impl = "warn" +non-canonical-partial-ord-impl = "warn" +non-minimal-cfg = "warn" +non-octal-unix-permissions = "deny" +non-send-fields-in-send-ty = "allow" +non-std-lazy-statics = "allow" +non-zero-suggestions = "allow" +nonminimal-bool = "warn" +nonsensical-open-options = "deny" +nonstandard-macro-braces = "allow" +not-unsafe-ptr-arg-deref = "deny" +obfuscated-if-else = "warn" +octal-escapes = "warn" +ok-expect = "warn" +only-used-in-recursion = "warn" +op-ref = "warn" +option-as-ref-cloned = "allow" +option-as-ref-deref = "warn" +option-env-unwrap = "deny" +option-filter-map = "warn" +option-if-let-else = "allow" +option-map-or-none = "warn" +option-map-unit-fn = "warn" +option-option = "allow" +or-fun-call = "allow" +or-then-unwrap = "warn" +out-of-bounds-indexing = "deny" +overly-complex-bool-expr = "deny" +owned-cow = "warn" +panic = "allow" +panic-in-result-fn = "allow" +panicking-overflow-checks = "deny" +panicking-unwrap = "deny" +partial-pub-fields = "allow" +partialeq-ne-impl = "warn" +partialeq-to-none = "warn" +path-buf-push-overwrite = "allow" +path-ends-with-ext = "warn" +pathbuf-init-then-push = "allow" +pattern-type-mismatch = "allow" +permissions-set-readonly-false = "warn" +pointer-format = "allow" +pointers-in-nomem-asm-block = "warn" +possible-missing-comma = "deny" +possible-missing-else = "warn" +precedence = "warn" +precedence-bits = "allow" +print-in-format-impl = "warn" +print-literal = "warn" +print-stderr = "allow" +print-stdout = "allow" +print-with-newline = "warn" +println-empty-string = "warn" +ptr-arg = "warn" +ptr-as-ptr = "allow" +ptr-cast-constness = "allow" +ptr-eq = "warn" +ptr-offset-with-cast = "warn" +pub-underscore-fields = "allow" +pub-use = "allow" +pub-with-shorthand = "allow" +pub-without-shorthand = "allow" +question-mark = "warn" +question-mark-used = "allow" +range-minus-one = "allow" +range-plus-one = "allow" +range-zip-with-len = "warn" +rc-buffer = "allow" +rc-clone-in-vec-init = "warn" +rc-mutex = "allow" +read-line-without-trim = "deny" +read-zero-byte-vec = "allow" +readonly-write-lock = "warn" +recursive-format-impl = "deny" +redundant-allocation = "warn" +redundant-as-str = "warn" +redundant-async-block = "warn" +redundant-at-rest-pattern = "warn" +redundant-clone = "allow" +redundant-closure = "warn" +redundant-closure-call = "warn" +redundant-closure-for-method-calls = "allow" +redundant-comparisons = "deny" +redundant-else = "allow" +redundant-feature-names = "allow" +redundant-field-names = "warn" +redundant-guards = "warn" +redundant-iter-cloned = "warn" +redundant-locals = "warn" +redundant-pattern = "warn" +redundant-pattern-matching = "warn" +redundant-pub-crate = "allow" +redundant-slicing = "warn" +redundant-static-lifetimes = "warn" +redundant-test-prefix = "allow" +redundant-type-annotations = "allow" +ref-as-ptr = "allow" +ref-binding-to-reference = "allow" +ref-option = "allow" +ref-option-ref = "allow" +ref-patterns = "allow" +regex-creation-in-loops = "warn" +renamed-function-params = "allow" +repeat-once = "warn" +repeat-vec-with-capacity = "warn" +replace-box = "warn" +repr-packed-without-abi = "warn" +reserve-after-initialization = "warn" +rest-pat-in-fully-bound-structs = "allow" +result-filter-map = "warn" +result-large-err = "warn" +result-map-or-into-option = "warn" +result-map-unit-fn = "warn" +result-unit-err = "warn" +return-and-then = "allow" +return-self-not-must-use = "allow" +reversed-empty-ranges = "deny" +same-functions-in-if-condition = "allow" +same-item-push = "warn" +same-name-method = "allow" +search-is-some = "warn" +seek-from-current = "warn" +seek-to-start-instead-of-rewind = "warn" +self-assignment = "deny" +self-named-constructors = "warn" +self-named-module-files = "allow" +self-only-used-in-recursion = "allow" +semicolon-if-nothing-returned = "allow" +semicolon-inside-block = "allow" +semicolon-outside-block = "allow" +separated-literal-suffix = "allow" +serde-api-misuse = "deny" +set-contains-or-insert = "allow" +shadow-reuse = "allow" +shadow-same = "allow" +shadow-unrelated = "allow" +short-circuit-statement = "warn" +should-implement-trait = "warn" +should-panic-without-expect = "allow" +significant-drop-in-scrutinee = "allow" +significant-drop-tightening = "allow" +similar-names = "allow" +single-call-fn = "allow" +single-char-add-str = "warn" +single-char-lifetime-names = "allow" +single-char-pattern = "allow" +single-component-path-imports = "warn" +single-element-loop = "warn" +single-match = "warn" +single-match-else = "allow" +single-option-map = "allow" +single-range-in-vec-init = "warn" +size-of-in-element-count = "deny" +size-of-ref = "warn" +skip-while-next = "warn" +sliced-string-as-bytes = "warn" +slow-vector-initialization = "warn" +stable-sort-primitive = "allow" +std-instead-of-alloc = "allow" +std-instead-of-core = "allow" +str-split-at-newline = "allow" +str-to-string = "allow" +string-add = "allow" +string-add-assign = "allow" +string-extend-chars = "warn" +string-from-utf8-as-bytes = "warn" +string-lit-as-bytes = "allow" +string-lit-chars-any = "allow" +string-slice = "allow" +strlen-on-c-strings = "warn" +struct-excessive-bools = "allow" +struct-field-names = "allow" +suboptimal-flops = "allow" +suspicious-arithmetic-impl = "warn" +suspicious-assignment-formatting = "warn" +suspicious-command-arg-space = "warn" +suspicious-doc-comments = "warn" +suspicious-else-formatting = "warn" +suspicious-map = "warn" +suspicious-op-assign-impl = "warn" +suspicious-open-options = "warn" +suspicious-operation-groupings = "allow" +suspicious-splitn = "deny" +suspicious-to-owned = "warn" +suspicious-unary-op-formatting = "warn" +suspicious-xor-used-as-pow = "allow" +swap-ptr-to-ref = "warn" +swap-with-temporary = "warn" +tabs-in-doc-comments = "warn" +temporary-assignment = "warn" +test-attr-in-doctest = "warn" +tests-outside-test-module = "allow" +to-digit-is-some = "warn" +to-string-in-format-args = "warn" +to-string-trait-impl = "warn" +todo = "allow" +too-long-first-doc-paragraph = "allow" +too-many-arguments = "warn" +too-many-lines = "allow" +toplevel-ref-arg = "warn" +trailing-empty-array = "allow" +trait-duplication-in-bounds = "allow" +transmute-bytes-to-str = "warn" +transmute-int-to-bool = "warn" +transmute-int-to-non-zero = "warn" +transmute-null-to-fn = "deny" +transmute-ptr-to-ptr = "allow" +transmute-ptr-to-ref = "warn" +transmute-undefined-repr = "allow" +transmutes-expressible-as-ptr-casts = "warn" +transmuting-null = "deny" +trim-split-whitespace = "warn" +trivial-regex = "allow" +trivially-copy-pass-by-ref = "allow" +try-err = "allow" +tuple-array-conversions = "allow" +type-complexity = "warn" +type-id-on-box = "warn" +type-repetition-in-bounds = "allow" +unbuffered-bytes = "warn" +unchecked-time-subtraction = "allow" +unconditional-recursion = "warn" +undocumented-unsafe-blocks = "allow" +unicode-not-nfc = "allow" +unimplemented = "allow" +uninhabited-references = "allow" +uninit-assumed-init = "deny" +uninit-vec = "deny" +uninlined-format-args = "allow" +unit-arg = "warn" +unit-cmp = "deny" +unit-hash = "deny" +unit-return-expecting-ord = "deny" +unnecessary-box-returns = "allow" +unnecessary-cast = "warn" +unnecessary-clippy-cfg = "warn" +unnecessary-debug-formatting = "allow" +unnecessary-fallible-conversions = "warn" +unnecessary-filter-map = "warn" +unnecessary-find-map = "warn" +unnecessary-first-then-check = "warn" +unnecessary-fold = "warn" +unnecessary-get-then-check = "warn" +unnecessary-join = "allow" +unnecessary-lazy-evaluations = "warn" +unnecessary-literal-bound = "allow" +unnecessary-literal-unwrap = "warn" +unnecessary-map-on-constructor = "warn" +unnecessary-map-or = "warn" +unnecessary-min-or-max = "warn" +unnecessary-mut-passed = "warn" +unnecessary-operation = "warn" +unnecessary-option-map-or-else = "warn" +unnecessary-owned-empty-strings = "warn" +unnecessary-result-map-or-else = "warn" +unnecessary-safety-comment = "allow" +unnecessary-safety-doc = "allow" +unnecessary-self-imports = "allow" +unnecessary-semicolon = "allow" +unnecessary-sort-by = "warn" +unnecessary-struct-initialization = "allow" +unnecessary-to-owned = "warn" +unnecessary-unwrap = "warn" +unnecessary-wraps = "allow" +unneeded-field-pattern = "allow" +unneeded-struct-pattern = "warn" +unneeded-wildcard-pattern = "warn" +unnested-or-patterns = "allow" +unreachable = "allow" +unreadable-literal = "allow" +unsafe-derive-deserialize = "allow" +unsafe-removed-from-name = "warn" +unseparated-literal-suffix = "allow" +unsound-collection-transmute = "deny" +unused-async = "allow" +unused-enumerate-index = "warn" +unused-format-specs = "warn" +unused-io-amount = "deny" +unused-peekable = "allow" +unused-result-ok = "allow" +unused-rounding = "allow" +unused-self = "allow" +unused-trait-names = "allow" +unused-unit = "warn" +unusual-byte-groupings = "warn" +unwrap-in-result = "allow" +unwrap-or-default = "warn" +unwrap-used = "allow" +upper-case-acronyms = "warn" +use-debug = "allow" +use-self = "allow" +used-underscore-binding = "allow" +used-underscore-items = "allow" +useless-asref = "warn" +useless-attribute = "deny" +useless-concat = "warn" +useless-conversion = "warn" +useless-format = "warn" +useless-let-if-seq = "allow" +useless-nonzero-new-unchecked = "warn" +useless-transmute = "warn" +useless-vec = "warn" +vec-box = "warn" +vec-init-then-push = "warn" +vec-resize-to-zero = "deny" +verbose-bit-mask = "allow" +verbose-file-reads = "allow" +volatile-composites = "allow" +waker-clone-wake = "warn" +while-float = "allow" +while-immutable-condition = "deny" +while-let-loop = "warn" +while-let-on-iterator = "warn" +wildcard-dependencies = "allow" +wildcard-enum-match-arm = "allow" +wildcard-imports = "allow" +wildcard-in-or-patterns = "warn" +write-literal = "warn" +write-with-newline = "warn" +writeln-empty-string = "warn" +wrong-self-convention = "warn" +wrong-transmute = "deny" +zero-divided-by-zero = "warn" +zero-prefixed-literal = "warn" +zero-ptr = "warn" +zero-repeat-side-effects = "warn" +zero-sized-map-values = "allow" +zombie-processes = "warn" +zst-offset = "deny" + +[workspace.lints.rust] +aarch64-softfloat-neon = "warn" +absolute-paths-not-starting-with-crate = "allow" +ambiguous-associated-items = "deny" +ambiguous-glob-imports = "deny" +ambiguous-glob-reexports = "warn" +ambiguous-negative-literals = "allow" +ambiguous-wide-pointer-comparisons = "warn" +anonymous-parameters = "warn" +arithmetic-overflow = "deny" +array-into-iter = "warn" +asm-sub-register = "warn" +async-fn-in-trait = "warn" +bad-asm-style = "warn" +bare-trait-objects = "warn" +binary-asm-labels = "deny" +bindings-with-variant-name = "deny" +boxed-slice-into-iter = "warn" +break-with-label-and-loop = "warn" +clashing-extern-declarations = "warn" +closure-returning-async-block = "allow" +coherence-leak-check = "warn" +conflicting-repr-hints = "deny" +confusable-idents = "warn" +const-evaluatable-unchecked = "warn" +const-item-mutation = "warn" +dangerous-implicit-autorefs = "deny" +dangling-pointers-from-locals = "warn" +dangling-pointers-from-temporaries = "warn" +dead-code = "warn" +default-overrides-default-fields = "deny" +dependency-on-unit-never-type-fallback = "deny" +deprecated = "warn" +deprecated-in-future = "allow" +deprecated-safe-2024 = "allow" +deprecated-where-clause-location = "warn" +deref-into-dyn-supertrait = "allow" +deref-nullptr = "warn" +double-negations = "warn" +drop-bounds = "warn" +dropping-copy-types = "warn" +dropping-references = "warn" +duplicate-macro-attributes = "warn" +dyn-drop = "warn" +edition-2024-expr-fragment-specifier = "allow" +elided-lifetimes-in-associated-constant = "deny" +elided-lifetimes-in-paths = "allow" +ellipsis-inclusive-range-patterns = "warn" +enum-intrinsics-non-enums = "deny" +explicit-builtin-cfgs-in-flags = "deny" +explicit-outlives-requirements = "allow" +exported-private-dependencies = "warn" +ffi-unwind-calls = "allow" +for-loops-over-fallibles = "warn" +forbidden-lint-groups = "warn" +forgetting-copy-types = "warn" +forgetting-references = "warn" +function-item-references = "warn" +fuzzy-provenance-casts = "allow" +hidden-glob-reexports = "warn" +if-let-rescope = "allow" +ill-formed-attribute-input = "deny" +impl-trait-overcaptures = "allow" +impl-trait-redundant-captures = "allow" +improper-ctypes = "warn" +improper-ctypes-definitions = "warn" +incomplete-features = "warn" +incomplete-include = "deny" +ineffective-unstable-trait-impl = "deny" +inline-no-sanitize = "warn" +integer-to-ptr-transmutes = "warn" +internal-features = "warn" +invalid-atomic-ordering = "deny" +invalid-doc-attributes = "deny" +invalid-from-utf8 = "warn" +invalid-from-utf8-unchecked = "deny" +invalid-macro-export-arguments = "deny" +invalid-nan-comparisons = "warn" +invalid-null-arguments = "deny" +invalid-reference-casting = "deny" +invalid-type-param-default = "deny" +invalid-value = "warn" +irrefutable-let-patterns = "warn" +keyword-idents-2018 = "allow" +keyword-idents-2024 = "allow" +large-assignments = "warn" +late-bound-lifetime-arguments = "warn" +legacy-derive-helpers = "deny" +let-underscore-drop = "allow" +let-underscore-lock = "deny" +linker-messages = "allow" +long-running-const-eval = "deny" +lossy-provenance-casts = "allow" +macro-expanded-macro-exports-accessed-by-absolute-paths = "deny" +macro-use-extern-crate = "allow" +malformed-diagnostic-attributes = "warn" +malformed-diagnostic-format-literals = "warn" +map-unit-fn = "warn" +meta-variable-misuse = "allow" +mismatched-lifetime-syntaxes = "warn" +misplaced-diagnostic-attributes = "warn" +missing-abi = "warn" +missing-copy-implementations = "allow" +missing-debug-implementations = "allow" +missing-docs = "allow" +missing-unsafe-on-extern = "allow" +mixed-script-confusables = "warn" +multiple-supertrait-upcastable = "allow" +must-not-suspend = "allow" +mutable-transmutes = "deny" +named-arguments-used-positionally = "warn" +named-asm-labels = "deny" +never-type-fallback-flowing-into-unsafe = "deny" +no-mangle-const-items = "deny" +no-mangle-generic-items = "warn" +non-ascii-idents = "allow" +non-camel-case-types = "warn" +non-contiguous-range-endpoints = "warn" +non-exhaustive-omitted-patterns = "allow" +non-fmt-panics = "warn" +non-local-definitions = "warn" +non-shorthand-field-patterns = "warn" +non-snake-case = "warn" +non-upper-case-globals = "warn" +noop-method-call = "warn" +opaque-hidden-inferred-bound = "warn" +out-of-scope-macro-calls = "deny" +overflowing-literals = "deny" +overlapping-range-endpoints = "warn" +path-statements = "warn" +patterns-in-fns-without-body = "deny" +private-bounds = "warn" +private-interfaces = "warn" +proc-macro-derive-resolution-fallback = "deny" +ptr-to-integer-transmute-in-consts = "warn" +pub-use-of-private-extern-crate = "deny" +redundant-imports = "allow" +redundant-lifetimes = "allow" +redundant-semicolons = "warn" +refining-impl-trait-internal = "warn" +refining-impl-trait-reachable = "warn" +renamed-and-removed-lints = "warn" +repr-transparent-external-private-fields = "warn" +rust-2021-incompatible-closure-captures = "allow" +rust-2021-incompatible-or-patterns = "allow" +rust-2021-prefixes-incompatible-syntax = "allow" +rust-2021-prelude-collisions = "allow" +rust-2024-guarded-string-incompatible-syntax = "allow" +rust-2024-incompatible-pat = "allow" +rust-2024-prelude-collisions = "allow" +self-constructor-from-outer-item = "warn" +semicolon-in-expressions-from-macros = "deny" +single-use-lifetimes = "allow" +soft-unstable = "deny" +special-module-name = "warn" +stable-features = "warn" +static-mut-refs = "warn" +supertrait-item-shadowing-definition = "allow" +supertrait-item-shadowing-usage = "allow" +suspicious-double-ref-op = "warn" +tail-expr-drop-order = "allow" +test-unstable-lint = "deny" +text-direction-codepoint-in-comment = "deny" +text-direction-codepoint-in-literal = "deny" +trivial-bounds = "warn" +trivial-casts = "allow" +trivial-numeric-casts = "allow" +type-alias-bounds = "warn" +tyvar-behind-raw-pointer = "warn" +uncommon-codepoints = "warn" +unconditional-panic = "deny" +unconditional-recursion = "warn" +uncovered-param-in-projection = "warn" +undropped-manually-drops = "deny" +unexpected-cfgs = "warn" +unfulfilled-lint-expectations = "warn" +ungated-async-fn-track-caller = "warn" +uninhabited-static = "warn" +unit-bindings = "allow" +unknown-crate-types = "deny" +unknown-diagnostic-attributes = "warn" +unknown-lints = "warn" +unnameable-test-items = "warn" +unnameable-types = "allow" +unnecessary-transmutes = "warn" +unpredictable-function-pointer-comparisons = "warn" +unqualified-local-imports = "allow" +unreachable-code = "warn" +unreachable-patterns = "warn" +unreachable-pub = "allow" +unsafe-attr-outside-unsafe = "allow" +unsafe-code = "allow" +unsafe-op-in-unsafe-fn = "allow" +unstable-features = "allow" +unstable-name-collisions = "warn" +unstable-syntax-pre-expansion = "warn" +unsupported-calling-conventions = "warn" +unused-allocation = "warn" +unused-assignments = "warn" +unused-associated-type-bounds = "warn" +unused-attributes = "warn" +unused-braces = "warn" +unused-comparisons = "warn" +unused-crate-dependencies = "allow" +unused-doc-comments = "warn" +unused-extern-crates = "allow" +unused-features = "warn" +unused-import-braces = "allow" +unused-imports = "warn" +unused-labels = "warn" +unused-lifetimes = "allow" +unused-macro-rules = "allow" +unused-macros = "warn" +unused-must-use = "warn" +unused-mut = "warn" +unused-parens = "warn" +unused-qualifications = "allow" +unused-results = "allow" +unused-unsafe = "warn" +unused-variables = "warn" +useless-deprecated = "deny" +useless-ptr-null-checks = "warn" +uses-power-alignment = "warn" +variant-size-differences = "allow" +warnings = "warn" +while-true = "warn" + +[workspace.lints.rustdoc] +bare-urls = "warn" +broken-intra-doc-links = "warn" +invalid-codeblock-attributes = "warn" +invalid-html-tags = "warn" +invalid-rust-codeblocks = "warn" +missing-crate-level-docs = "allow" +missing-doc-code-examples = "allow" +private-doc-tests = "allow" +private-intra-doc-links = "warn" +redundant-explicit-links = "warn" +unescaped-backticks = "allow" diff --git a/lints/1.93.toml b/lints/1.93.toml new file mode 100644 index 0000000..f9ba107 --- /dev/null +++ b/lints/1.93.toml @@ -0,0 +1,1042 @@ +[workspace.lints.clippy] +absolute-paths = "allow" +absurd-extreme-comparisons = "deny" +alloc-instead-of-core = "allow" +allow-attributes = "allow" +allow-attributes-without-reason = "allow" +almost-complete-range = "warn" +almost-swapped = "deny" +approx-constant = "deny" +arbitrary-source-item-ordering = "allow" +arc-with-non-send-sync = "warn" +arithmetic-side-effects = "allow" +as-conversions = "allow" +as-pointer-underscore = "allow" +as-ptr-cast-mut = "allow" +as-underscore = "allow" +assertions-on-constants = "warn" +assertions-on-result-states = "allow" +assign-op-pattern = "warn" +assigning-clones = "allow" +async-yields-async = "deny" +await-holding-invalid-type = "warn" +await-holding-lock = "warn" +await-holding-refcell-ref = "warn" +bad-bit-mask = "deny" +big-endian-bytes = "allow" +bind-instead-of-map = "warn" +blanket-clippy-restriction-lints = "warn" +blocks-in-conditions = "warn" +bool-assert-comparison = "warn" +bool-comparison = "warn" +bool-to-int-with-if = "allow" +borrow-as-ptr = "allow" +borrow-deref-ref = "warn" +borrow-interior-mutable-const = "warn" +borrowed-box = "warn" +box-collection = "warn" +box-default = "warn" +boxed-local = "warn" +branches-sharing-code = "allow" +builtin-type-shadow = "warn" +byte-char-slices = "warn" +bytes-count-to-len = "warn" +bytes-nth = "warn" +cargo-common-metadata = "allow" +case-sensitive-file-extension-comparisons = "allow" +cast-abs-to-unsigned = "warn" +cast-enum-constructor = "warn" +cast-enum-truncation = "warn" +cast-lossless = "allow" +cast-nan-to-int = "warn" +cast-possible-truncation = "allow" +cast-possible-wrap = "allow" +cast-precision-loss = "allow" +cast-ptr-alignment = "allow" +cast-sign-loss = "allow" +cast-slice-different-sizes = "deny" +cast-slice-from-raw-parts = "warn" +cfg-not-test = "allow" +char-indices-as-byte-indices = "deny" +char-lit-as-u8 = "warn" +chars-last-cmp = "warn" +chars-next-cmp = "warn" +checked-conversions = "allow" +clear-with-drain = "allow" +clone-on-copy = "warn" +clone-on-ref-ptr = "allow" +cloned-instead-of-copied = "allow" +cloned-ref-to-slice-refs = "warn" +cmp-null = "warn" +cmp-owned = "warn" +coerce-container-to-any = "allow" +cognitive-complexity = "allow" +collapsible-else-if = "warn" +collapsible-if = "warn" +collapsible-match = "warn" +collapsible-str-replace = "warn" +collection-is-never-read = "allow" +comparison-chain = "allow" +comparison-to-empty = "warn" +confusing-method-to-numeric-cast = "warn" +const-is-empty = "warn" +copy-iterator = "allow" +crate-in-macro-def = "warn" +create-dir = "allow" +crosspointer-transmute = "warn" +dbg-macro = "allow" +debug-assert-with-mut-call = "allow" +decimal-literal-representation = "allow" +declare-interior-mutable-const = "warn" +default-constructed-unit-structs = "warn" +default-instead-of-iter-empty = "warn" +default-numeric-fallback = "allow" +default-trait-access = "allow" +default-union-representation = "allow" +deprecated-cfg-attr = "warn" +deprecated-clippy-cfg-attr = "warn" +deprecated-semver = "deny" +deref-addrof = "warn" +deref-by-slicing = "allow" +derivable-impls = "warn" +derive-ord-xor-partial-ord = "deny" +derive-partial-eq-without-eq = "allow" +derived-hash-with-manual-eq = "deny" +disallowed-macros = "warn" +disallowed-methods = "warn" +disallowed-names = "warn" +disallowed-script-idents = "allow" +disallowed-types = "warn" +diverging-sub-expression = "warn" +doc-broken-link = "allow" +doc-comment-double-space-linebreaks = "allow" +doc-include-without-cfg = "allow" +doc-lazy-continuation = "warn" +doc-link-code = "allow" +doc-link-with-quotes = "allow" +doc-markdown = "allow" +doc-nested-refdefs = "warn" +doc-overindented-list-items = "warn" +doc-paragraphs-missing-punctuation = "allow" +doc-suspicious-footnotes = "warn" +double-comparisons = "warn" +double-ended-iterator-last = "warn" +double-must-use = "warn" +double-parens = "warn" +drain-collect = "warn" +drop-non-drop = "warn" +duplicate-mod = "warn" +duplicate-underscore-argument = "warn" +duplicated-attributes = "warn" +duration-subsec = "warn" +eager-transmute = "deny" +elidable-lifetime-names = "allow" +else-if-without-else = "allow" +empty-docs = "warn" +empty-drop = "allow" +empty-enum-variants-with-brackets = "allow" +empty-enums = "allow" +empty-line-after-doc-comments = "warn" +empty-line-after-outer-attr = "warn" +empty-loop = "warn" +empty-structs-with-brackets = "allow" +enum-clike-unportable-variant = "deny" +enum-glob-use = "allow" +enum-variant-names = "warn" +eq-op = "deny" +equatable-if-let = "allow" +erasing-op = "deny" +err-expect = "warn" +error-impl-error = "allow" +excessive-nesting = "warn" +excessive-precision = "warn" +exhaustive-enums = "allow" +exhaustive-structs = "allow" +exit = "allow" +expect-fun-call = "warn" +expect-used = "allow" +expl-impl-clone-on-copy = "allow" +explicit-auto-deref = "warn" +explicit-counter-loop = "warn" +explicit-deref-methods = "allow" +explicit-into-iter-loop = "allow" +explicit-iter-loop = "allow" +explicit-write = "warn" +extend-with-drain = "warn" +extra-unused-lifetimes = "warn" +extra-unused-type-parameters = "warn" +fallible-impl-from = "allow" +field-reassign-with-default = "warn" +field-scoped-visibility-modifiers = "allow" +filetype-is-file = "allow" +filter-map-bool-then = "warn" +filter-map-identity = "warn" +filter-map-next = "allow" +filter-next = "warn" +flat-map-identity = "warn" +flat-map-option = "allow" +float-arithmetic = "allow" +float-cmp = "allow" +float-cmp-const = "allow" +float-equality-without-abs = "warn" +fn-params-excessive-bools = "allow" +fn-to-numeric-cast = "warn" +fn-to-numeric-cast-any = "allow" +fn-to-numeric-cast-with-truncation = "warn" +for-kv-map = "warn" +forget-non-drop = "warn" +format-collect = "allow" +format-in-format-args = "warn" +format-push-string = "allow" +four-forward-slashes = "warn" +from-iter-instead-of-collect = "allow" +from-over-into = "warn" +from-raw-with-void-ptr = "warn" +from-str-radix-10 = "warn" +future-not-send = "allow" +get-first = "warn" +get-last-with-len = "warn" +get-unwrap = "allow" +host-endian-bytes = "allow" +identity-op = "warn" +if-let-mutex = "deny" +if-not-else = "allow" +if-same-then-else = "warn" +if-then-some-else-none = "allow" +ifs-same-cond = "deny" +ignore-without-reason = "allow" +ignored-unit-patterns = "allow" +impl-hash-borrow-with-str-and-bytes = "deny" +impl-trait-in-params = "allow" +implicit-clone = "allow" +implicit-hasher = "allow" +implicit-return = "allow" +implicit-saturating-add = "warn" +implicit-saturating-sub = "warn" +implied-bounds-in-impls = "warn" +impossible-comparisons = "deny" +imprecise-flops = "allow" +incompatible-msrv = "warn" +inconsistent-digit-grouping = "warn" +inconsistent-struct-constructor = "allow" +index-refutable-slice = "allow" +indexing-slicing = "allow" +ineffective-bit-mask = "deny" +ineffective-open-options = "warn" +inefficient-to-string = "allow" +infallible-destructuring-match = "warn" +infallible-try-from = "warn" +infinite-iter = "deny" +infinite-loop = "allow" +inherent-to-string = "warn" +inherent-to-string-shadow-display = "deny" +init-numbered-fields = "warn" +inline-always = "allow" +inline-asm-x86-att-syntax = "allow" +inline-asm-x86-intel-syntax = "allow" +inline-fn-without-body = "deny" +inspect-for-each = "warn" +int-plus-one = "warn" +integer-division = "allow" +integer-division-remainder-used = "allow" +into-iter-on-ref = "warn" +into-iter-without-iter = "allow" +invalid-regex = "deny" +invalid-upcast-comparisons = "allow" +inverted-saturating-sub = "deny" +invisible-characters = "deny" +io-other-error = "warn" +ip-constant = "allow" +is-digit-ascii-radix = "warn" +items-after-statements = "allow" +items-after-test-module = "warn" +iter-cloned-collect = "warn" +iter-count = "warn" +iter-filter-is-ok = "allow" +iter-filter-is-some = "allow" +iter-kv-map = "warn" +iter-next-loop = "deny" +iter-next-slice = "warn" +iter-not-returning-iterator = "allow" +iter-nth = "warn" +iter-nth-zero = "warn" +iter-on-empty-collections = "allow" +iter-on-single-items = "allow" +iter-out-of-bounds = "warn" +iter-over-hash-type = "allow" +iter-overeager-cloned = "warn" +iter-skip-next = "warn" +iter-skip-zero = "deny" +iter-with-drain = "allow" +iter-without-into-iter = "allow" +iterator-step-by-zero = "deny" +join-absolute-paths = "warn" +just-underscores-and-digits = "warn" +large-const-arrays = "warn" +large-digit-groups = "allow" +large-enum-variant = "warn" +large-futures = "allow" +large-include-file = "allow" +large-stack-arrays = "allow" +large-stack-frames = "allow" +large-types-passed-by-value = "allow" +legacy-numeric-constants = "warn" +len-without-is-empty = "warn" +len-zero = "warn" +let-and-return = "warn" +let-underscore-future = "warn" +let-underscore-lock = "deny" +let-underscore-must-use = "allow" +let-underscore-untyped = "allow" +let-unit-value = "warn" +let-with-type-underscore = "warn" +lines-filter-map-ok = "warn" +linkedlist = "allow" +lint-groups-priority = "deny" +literal-string-with-formatting-args = "allow" +little-endian-bytes = "allow" +lossy-float-literal = "allow" +macro-metavars-in-unsafe = "warn" +macro-use-imports = "allow" +main-recursion = "warn" +manual-abs-diff = "warn" +manual-assert = "allow" +manual-async-fn = "warn" +manual-bits = "warn" +manual-c-str-literals = "warn" +manual-clamp = "warn" +manual-contains = "warn" +manual-dangling-ptr = "warn" +manual-div-ceil = "warn" +manual-filter = "warn" +manual-filter-map = "warn" +manual-find = "warn" +manual-find-map = "warn" +manual-flatten = "warn" +manual-hash-one = "warn" +manual-ignore-case-cmp = "warn" +manual-inspect = "warn" +manual-instant-elapsed = "allow" +manual-is-ascii-check = "warn" +manual-is-finite = "warn" +manual-is-infinite = "warn" +manual-is-multiple-of = "warn" +manual-is-power-of-two = "allow" +manual-is-variant-and = "allow" +manual-let-else = "allow" +manual-main-separator-str = "warn" +manual-map = "warn" +manual-memcpy = "warn" +manual-midpoint = "allow" +manual-next-back = "warn" +manual-non-exhaustive = "warn" +manual-ok-err = "warn" +manual-ok-or = "warn" +manual-option-as-slice = "warn" +manual-pattern-char-comparison = "warn" +manual-range-contains = "warn" +manual-range-patterns = "warn" +manual-rem-euclid = "warn" +manual-repeat-n = "warn" +manual-retain = "warn" +manual-rotate = "warn" +manual-saturating-arithmetic = "warn" +manual-slice-fill = "warn" +manual-slice-size-calculation = "warn" +manual-split-once = "warn" +manual-str-repeat = "warn" +manual-string-new = "allow" +manual-strip = "warn" +manual-swap = "warn" +manual-try-fold = "warn" +manual-unwrap-or = "warn" +manual-unwrap-or-default = "warn" +manual-while-let-some = "warn" +many-single-char-names = "allow" +map-all-any-identity = "warn" +map-clone = "warn" +map-collect-result-unit = "warn" +map-entry = "warn" +map-err-ignore = "allow" +map-flatten = "warn" +map-identity = "warn" +map-unwrap-or = "allow" +map-with-unused-argument-over-ranges = "allow" +match-as-ref = "warn" +match-bool = "allow" +match-like-matches-macro = "warn" +match-overlapping-arm = "warn" +match-ref-pats = "warn" +match-result-ok = "warn" +match-same-arms = "allow" +match-single-binding = "warn" +match-str-case-mismatch = "deny" +match-wild-err-arm = "allow" +match-wildcard-for-single-variants = "allow" +maybe-infinite-iter = "allow" +mem-forget = "allow" +mem-replace-option-with-none = "warn" +mem-replace-option-with-some = "warn" +mem-replace-with-default = "warn" +mem-replace-with-uninit = "deny" +min-ident-chars = "allow" +min-max = "deny" +mismatching-type-param-order = "allow" +misnamed-getters = "warn" +misrefactored-assign-op = "warn" +missing-assert-message = "allow" +missing-asserts-for-indexing = "allow" +missing-const-for-fn = "allow" +missing-const-for-thread-local = "warn" +missing-docs-in-private-items = "allow" +missing-enforced-import-renames = "warn" +missing-errors-doc = "allow" +missing-fields-in-debug = "allow" +missing-inline-in-public-items = "allow" +missing-panics-doc = "allow" +missing-safety-doc = "warn" +missing-spin-loop = "warn" +missing-trait-methods = "allow" +missing-transmute-annotations = "warn" +mistyped-literal-suffixes = "deny" +mixed-attributes-style = "warn" +mixed-case-hex-literals = "warn" +mixed-read-write-in-expression = "allow" +mod-module-files = "allow" +module-inception = "warn" +module-name-repetitions = "allow" +modulo-arithmetic = "allow" +modulo-one = "deny" +multi-assignments = "warn" +multiple-bound-locations = "warn" +multiple-crate-versions = "allow" +multiple-inherent-impl = "allow" +multiple-unsafe-ops-per-block = "allow" +must-use-candidate = "allow" +must-use-unit = "warn" +mut-from-ref = "deny" +mut-mut = "allow" +mut-mutex-lock = "warn" +mut-range-bound = "warn" +mutable-key-type = "warn" +mutex-atomic = "allow" +mutex-integer = "allow" +naive-bytecount = "allow" +needless-arbitrary-self-type = "warn" +needless-as-bytes = "warn" +needless-bitwise-bool = "allow" +needless-bool = "warn" +needless-bool-assign = "warn" +needless-borrow = "warn" +needless-borrowed-reference = "warn" +needless-borrows-for-generic-args = "warn" +needless-character-iteration = "warn" +needless-collect = "allow" +needless-continue = "allow" +needless-doctest-main = "warn" +needless-else = "warn" +needless-for-each = "allow" +needless-ifs = "warn" +needless-late-init = "warn" +needless-lifetimes = "warn" +needless-match = "warn" +needless-maybe-sized = "warn" +needless-option-as-deref = "warn" +needless-option-take = "warn" +needless-parens-on-range-literals = "warn" +needless-pass-by-ref-mut = "allow" +needless-pass-by-value = "allow" +needless-pub-self = "warn" +needless-question-mark = "warn" +needless-range-loop = "warn" +needless-raw-string-hashes = "allow" +needless-raw-strings = "allow" +needless-return = "warn" +needless-return-with-question-mark = "warn" +needless-splitn = "warn" +needless-update = "warn" +neg-cmp-op-on-partial-ord = "warn" +neg-multiply = "warn" +negative-feature-names = "allow" +never-loop = "deny" +new-ret-no-self = "warn" +new-without-default = "warn" +no-effect = "warn" +no-effect-replace = "warn" +no-effect-underscore-binding = "allow" +no-mangle-with-rust-abi = "allow" +non-ascii-literal = "allow" +non-canonical-clone-impl = "warn" +non-canonical-partial-ord-impl = "warn" +non-minimal-cfg = "warn" +non-octal-unix-permissions = "deny" +non-send-fields-in-send-ty = "allow" +non-std-lazy-statics = "allow" +non-zero-suggestions = "allow" +nonminimal-bool = "warn" +nonsensical-open-options = "deny" +nonstandard-macro-braces = "allow" +not-unsafe-ptr-arg-deref = "deny" +obfuscated-if-else = "warn" +octal-escapes = "warn" +ok-expect = "warn" +only-used-in-recursion = "warn" +op-ref = "warn" +option-as-ref-cloned = "allow" +option-as-ref-deref = "warn" +option-env-unwrap = "deny" +option-filter-map = "warn" +option-if-let-else = "allow" +option-map-or-none = "warn" +option-map-unit-fn = "warn" +option-option = "allow" +or-fun-call = "allow" +or-then-unwrap = "warn" +out-of-bounds-indexing = "deny" +overly-complex-bool-expr = "deny" +owned-cow = "warn" +panic = "allow" +panic-in-result-fn = "allow" +panicking-overflow-checks = "deny" +panicking-unwrap = "deny" +partial-pub-fields = "allow" +partialeq-ne-impl = "warn" +partialeq-to-none = "warn" +path-buf-push-overwrite = "allow" +path-ends-with-ext = "warn" +pathbuf-init-then-push = "allow" +pattern-type-mismatch = "allow" +permissions-set-readonly-false = "warn" +pointer-format = "allow" +pointers-in-nomem-asm-block = "warn" +possible-missing-comma = "deny" +possible-missing-else = "warn" +precedence = "warn" +precedence-bits = "allow" +print-in-format-impl = "warn" +print-literal = "warn" +print-stderr = "allow" +print-stdout = "allow" +print-with-newline = "warn" +println-empty-string = "warn" +ptr-arg = "warn" +ptr-as-ptr = "allow" +ptr-cast-constness = "allow" +ptr-eq = "warn" +ptr-offset-with-cast = "warn" +pub-underscore-fields = "allow" +pub-use = "allow" +pub-with-shorthand = "allow" +pub-without-shorthand = "allow" +question-mark = "warn" +question-mark-used = "allow" +range-minus-one = "allow" +range-plus-one = "allow" +range-zip-with-len = "warn" +rc-buffer = "allow" +rc-clone-in-vec-init = "warn" +rc-mutex = "allow" +read-line-without-trim = "deny" +read-zero-byte-vec = "allow" +readonly-write-lock = "warn" +recursive-format-impl = "deny" +redundant-allocation = "warn" +redundant-as-str = "warn" +redundant-async-block = "warn" +redundant-at-rest-pattern = "warn" +redundant-clone = "allow" +redundant-closure = "warn" +redundant-closure-call = "warn" +redundant-closure-for-method-calls = "allow" +redundant-comparisons = "deny" +redundant-else = "allow" +redundant-feature-names = "allow" +redundant-field-names = "warn" +redundant-guards = "warn" +redundant-iter-cloned = "warn" +redundant-locals = "warn" +redundant-pattern = "warn" +redundant-pattern-matching = "warn" +redundant-pub-crate = "allow" +redundant-slicing = "warn" +redundant-static-lifetimes = "warn" +redundant-test-prefix = "allow" +redundant-type-annotations = "allow" +ref-as-ptr = "allow" +ref-binding-to-reference = "allow" +ref-option = "allow" +ref-option-ref = "allow" +ref-patterns = "allow" +regex-creation-in-loops = "warn" +renamed-function-params = "allow" +repeat-once = "warn" +repeat-vec-with-capacity = "warn" +replace-box = "warn" +repr-packed-without-abi = "warn" +reserve-after-initialization = "warn" +rest-pat-in-fully-bound-structs = "allow" +result-filter-map = "warn" +result-large-err = "warn" +result-map-or-into-option = "warn" +result-map-unit-fn = "warn" +result-unit-err = "warn" +return-and-then = "allow" +return-self-not-must-use = "allow" +reversed-empty-ranges = "deny" +same-functions-in-if-condition = "allow" +same-item-push = "warn" +same-name-method = "allow" +search-is-some = "warn" +seek-from-current = "warn" +seek-to-start-instead-of-rewind = "warn" +self-assignment = "deny" +self-named-constructors = "warn" +self-named-module-files = "allow" +self-only-used-in-recursion = "allow" +semicolon-if-nothing-returned = "allow" +semicolon-inside-block = "allow" +semicolon-outside-block = "allow" +separated-literal-suffix = "allow" +serde-api-misuse = "deny" +set-contains-or-insert = "allow" +shadow-reuse = "allow" +shadow-same = "allow" +shadow-unrelated = "allow" +short-circuit-statement = "warn" +should-implement-trait = "warn" +should-panic-without-expect = "allow" +significant-drop-in-scrutinee = "allow" +significant-drop-tightening = "allow" +similar-names = "allow" +single-call-fn = "allow" +single-char-add-str = "warn" +single-char-lifetime-names = "allow" +single-char-pattern = "allow" +single-component-path-imports = "warn" +single-element-loop = "warn" +single-match = "warn" +single-match-else = "allow" +single-option-map = "allow" +single-range-in-vec-init = "warn" +size-of-in-element-count = "deny" +size-of-ref = "warn" +skip-while-next = "warn" +sliced-string-as-bytes = "warn" +slow-vector-initialization = "warn" +stable-sort-primitive = "allow" +std-instead-of-alloc = "allow" +std-instead-of-core = "allow" +str-split-at-newline = "allow" +str-to-string = "allow" +string-add = "allow" +string-add-assign = "allow" +string-extend-chars = "warn" +string-from-utf8-as-bytes = "warn" +string-lit-as-bytes = "allow" +string-lit-chars-any = "allow" +string-slice = "allow" +strlen-on-c-strings = "warn" +struct-excessive-bools = "allow" +struct-field-names = "allow" +suboptimal-flops = "allow" +suspicious-arithmetic-impl = "warn" +suspicious-assignment-formatting = "warn" +suspicious-command-arg-space = "warn" +suspicious-doc-comments = "warn" +suspicious-else-formatting = "warn" +suspicious-map = "warn" +suspicious-op-assign-impl = "warn" +suspicious-open-options = "warn" +suspicious-operation-groupings = "allow" +suspicious-splitn = "deny" +suspicious-to-owned = "warn" +suspicious-unary-op-formatting = "warn" +suspicious-xor-used-as-pow = "allow" +swap-ptr-to-ref = "warn" +swap-with-temporary = "warn" +tabs-in-doc-comments = "warn" +temporary-assignment = "warn" +test-attr-in-doctest = "warn" +tests-outside-test-module = "allow" +to-digit-is-some = "warn" +to-string-in-format-args = "warn" +to-string-trait-impl = "warn" +todo = "allow" +too-long-first-doc-paragraph = "allow" +too-many-arguments = "warn" +too-many-lines = "allow" +toplevel-ref-arg = "warn" +trailing-empty-array = "allow" +trait-duplication-in-bounds = "allow" +transmute-bytes-to-str = "warn" +transmute-int-to-bool = "warn" +transmute-int-to-non-zero = "warn" +transmute-null-to-fn = "deny" +transmute-ptr-to-ptr = "allow" +transmute-ptr-to-ref = "warn" +transmute-undefined-repr = "allow" +transmutes-expressible-as-ptr-casts = "warn" +transmuting-null = "deny" +trim-split-whitespace = "warn" +trivial-regex = "allow" +trivially-copy-pass-by-ref = "allow" +try-err = "allow" +tuple-array-conversions = "allow" +type-complexity = "warn" +type-id-on-box = "warn" +type-repetition-in-bounds = "allow" +unbuffered-bytes = "warn" +unchecked-time-subtraction = "allow" +unconditional-recursion = "warn" +undocumented-unsafe-blocks = "allow" +unicode-not-nfc = "allow" +unimplemented = "allow" +uninhabited-references = "allow" +uninit-assumed-init = "deny" +uninit-vec = "deny" +uninlined-format-args = "allow" +unit-arg = "warn" +unit-cmp = "deny" +unit-hash = "deny" +unit-return-expecting-ord = "deny" +unnecessary-box-returns = "allow" +unnecessary-cast = "warn" +unnecessary-clippy-cfg = "warn" +unnecessary-debug-formatting = "allow" +unnecessary-fallible-conversions = "warn" +unnecessary-filter-map = "warn" +unnecessary-find-map = "warn" +unnecessary-first-then-check = "warn" +unnecessary-fold = "warn" +unnecessary-get-then-check = "warn" +unnecessary-join = "allow" +unnecessary-lazy-evaluations = "warn" +unnecessary-literal-bound = "allow" +unnecessary-literal-unwrap = "warn" +unnecessary-map-on-constructor = "warn" +unnecessary-map-or = "warn" +unnecessary-min-or-max = "warn" +unnecessary-mut-passed = "warn" +unnecessary-operation = "warn" +unnecessary-option-map-or-else = "warn" +unnecessary-owned-empty-strings = "warn" +unnecessary-result-map-or-else = "warn" +unnecessary-safety-comment = "allow" +unnecessary-safety-doc = "allow" +unnecessary-self-imports = "allow" +unnecessary-semicolon = "allow" +unnecessary-sort-by = "warn" +unnecessary-struct-initialization = "allow" +unnecessary-to-owned = "warn" +unnecessary-unwrap = "warn" +unnecessary-wraps = "allow" +unneeded-field-pattern = "allow" +unneeded-struct-pattern = "warn" +unneeded-wildcard-pattern = "warn" +unnested-or-patterns = "allow" +unreachable = "allow" +unreadable-literal = "allow" +unsafe-derive-deserialize = "allow" +unsafe-removed-from-name = "warn" +unseparated-literal-suffix = "allow" +unsound-collection-transmute = "deny" +unused-async = "allow" +unused-enumerate-index = "warn" +unused-format-specs = "warn" +unused-io-amount = "deny" +unused-peekable = "allow" +unused-result-ok = "allow" +unused-rounding = "allow" +unused-self = "allow" +unused-trait-names = "allow" +unused-unit = "warn" +unusual-byte-groupings = "warn" +unwrap-in-result = "allow" +unwrap-or-default = "warn" +unwrap-used = "allow" +upper-case-acronyms = "warn" +use-debug = "allow" +use-self = "allow" +used-underscore-binding = "allow" +used-underscore-items = "allow" +useless-asref = "warn" +useless-attribute = "deny" +useless-concat = "warn" +useless-conversion = "warn" +useless-format = "warn" +useless-let-if-seq = "allow" +useless-nonzero-new-unchecked = "warn" +useless-transmute = "warn" +useless-vec = "warn" +vec-box = "warn" +vec-init-then-push = "warn" +vec-resize-to-zero = "deny" +verbose-bit-mask = "allow" +verbose-file-reads = "allow" +volatile-composites = "allow" +waker-clone-wake = "warn" +while-float = "allow" +while-immutable-condition = "deny" +while-let-loop = "warn" +while-let-on-iterator = "warn" +wildcard-dependencies = "allow" +wildcard-enum-match-arm = "allow" +wildcard-imports = "allow" +wildcard-in-or-patterns = "warn" +write-literal = "warn" +write-with-newline = "warn" +writeln-empty-string = "warn" +wrong-self-convention = "warn" +wrong-transmute = "deny" +zero-divided-by-zero = "warn" +zero-prefixed-literal = "warn" +zero-ptr = "warn" +zero-repeat-side-effects = "warn" +zero-sized-map-values = "allow" +zombie-processes = "warn" +zst-offset = "deny" + +[workspace.lints.rust] +aarch64-softfloat-neon = "warn" +absolute-paths-not-starting-with-crate = "allow" +ambiguous-associated-items = "deny" +ambiguous-glob-imports = "deny" +ambiguous-glob-reexports = "warn" +ambiguous-negative-literals = "allow" +ambiguous-wide-pointer-comparisons = "warn" +anonymous-parameters = "warn" +arithmetic-overflow = "deny" +array-into-iter = "warn" +asm-sub-register = "warn" +async-fn-in-trait = "warn" +bad-asm-style = "warn" +bare-trait-objects = "warn" +binary-asm-labels = "deny" +bindings-with-variant-name = "deny" +boxed-slice-into-iter = "warn" +break-with-label-and-loop = "warn" +clashing-extern-declarations = "warn" +closure-returning-async-block = "allow" +coherence-leak-check = "warn" +conflicting-repr-hints = "deny" +confusable-idents = "warn" +const-evaluatable-unchecked = "warn" +const-item-interior-mutations = "warn" +const-item-mutation = "warn" +dangerous-implicit-autorefs = "deny" +dangling-pointers-from-locals = "warn" +dangling-pointers-from-temporaries = "warn" +dead-code = "warn" +default-overrides-default-fields = "deny" +dependency-on-unit-never-type-fallback = "deny" +deprecated = "warn" +deprecated-in-future = "allow" +deprecated-safe-2024 = "allow" +deprecated-where-clause-location = "warn" +deref-into-dyn-supertrait = "allow" +deref-nullptr = "deny" +double-negations = "warn" +drop-bounds = "warn" +dropping-copy-types = "warn" +dropping-references = "warn" +duplicate-macro-attributes = "warn" +dyn-drop = "warn" +edition-2024-expr-fragment-specifier = "allow" +elided-lifetimes-in-associated-constant = "deny" +elided-lifetimes-in-paths = "allow" +ellipsis-inclusive-range-patterns = "warn" +enum-intrinsics-non-enums = "deny" +explicit-builtin-cfgs-in-flags = "deny" +explicit-outlives-requirements = "allow" +exported-private-dependencies = "warn" +ffi-unwind-calls = "allow" +for-loops-over-fallibles = "warn" +forbidden-lint-groups = "warn" +forgetting-copy-types = "warn" +forgetting-references = "warn" +function-casts-as-integer = "warn" +function-item-references = "warn" +fuzzy-provenance-casts = "allow" +hidden-glob-reexports = "warn" +if-let-rescope = "allow" +ill-formed-attribute-input = "deny" +impl-trait-overcaptures = "allow" +impl-trait-redundant-captures = "allow" +improper-ctypes = "warn" +improper-ctypes-definitions = "warn" +incomplete-features = "warn" +incomplete-include = "deny" +ineffective-unstable-trait-impl = "deny" +inline-no-sanitize = "warn" +integer-to-ptr-transmutes = "warn" +internal-features = "warn" +invalid-atomic-ordering = "deny" +invalid-doc-attributes = "deny" +invalid-from-utf8 = "warn" +invalid-from-utf8-unchecked = "deny" +invalid-macro-export-arguments = "deny" +invalid-nan-comparisons = "warn" +invalid-null-arguments = "deny" +invalid-reference-casting = "deny" +invalid-type-param-default = "deny" +invalid-value = "warn" +irrefutable-let-patterns = "warn" +keyword-idents-2018 = "allow" +keyword-idents-2024 = "allow" +large-assignments = "warn" +late-bound-lifetime-arguments = "warn" +legacy-derive-helpers = "deny" +let-underscore-drop = "allow" +let-underscore-lock = "deny" +linker-messages = "allow" +long-running-const-eval = "deny" +lossy-provenance-casts = "allow" +macro-expanded-macro-exports-accessed-by-absolute-paths = "deny" +macro-use-extern-crate = "allow" +malformed-diagnostic-attributes = "warn" +malformed-diagnostic-format-literals = "warn" +map-unit-fn = "warn" +meta-variable-misuse = "allow" +mismatched-lifetime-syntaxes = "warn" +misplaced-diagnostic-attributes = "warn" +missing-abi = "warn" +missing-copy-implementations = "allow" +missing-debug-implementations = "allow" +missing-docs = "allow" +missing-unsafe-on-extern = "allow" +mixed-script-confusables = "warn" +multiple-supertrait-upcastable = "allow" +must-not-suspend = "allow" +mutable-transmutes = "deny" +named-arguments-used-positionally = "warn" +named-asm-labels = "deny" +never-type-fallback-flowing-into-unsafe = "deny" +no-mangle-const-items = "deny" +no-mangle-generic-items = "warn" +non-ascii-idents = "allow" +non-camel-case-types = "warn" +non-contiguous-range-endpoints = "warn" +non-exhaustive-omitted-patterns = "allow" +non-fmt-panics = "warn" +non-local-definitions = "warn" +non-shorthand-field-patterns = "warn" +non-snake-case = "warn" +non-upper-case-globals = "warn" +noop-method-call = "warn" +opaque-hidden-inferred-bound = "warn" +out-of-scope-macro-calls = "deny" +overflowing-literals = "deny" +overlapping-range-endpoints = "warn" +path-statements = "warn" +patterns-in-fns-without-body = "deny" +private-bounds = "warn" +private-interfaces = "warn" +proc-macro-derive-resolution-fallback = "deny" +ptr-to-integer-transmute-in-consts = "warn" +pub-use-of-private-extern-crate = "deny" +redundant-imports = "allow" +redundant-lifetimes = "allow" +redundant-semicolons = "warn" +refining-impl-trait-internal = "warn" +refining-impl-trait-reachable = "warn" +renamed-and-removed-lints = "warn" +repr-c-enums-larger-than-int = "warn" +repr-transparent-non-zst-fields = "deny" +resolving-to-items-shadowing-supertrait-items = "allow" +rtsan-nonblocking-async = "warn" +rust-2021-incompatible-closure-captures = "allow" +rust-2021-incompatible-or-patterns = "allow" +rust-2021-prefixes-incompatible-syntax = "allow" +rust-2021-prelude-collisions = "allow" +rust-2024-guarded-string-incompatible-syntax = "allow" +rust-2024-incompatible-pat = "allow" +rust-2024-prelude-collisions = "allow" +self-constructor-from-outer-item = "warn" +semicolon-in-expressions-from-macros = "deny" +shadowing-supertrait-items = "allow" +single-use-lifetimes = "allow" +soft-unstable = "deny" +special-module-name = "warn" +stable-features = "warn" +static-mut-refs = "warn" +suspicious-double-ref-op = "warn" +tail-expr-drop-order = "allow" +test-unstable-lint = "deny" +text-direction-codepoint-in-comment = "deny" +text-direction-codepoint-in-literal = "deny" +trivial-bounds = "warn" +trivial-casts = "allow" +trivial-numeric-casts = "allow" +type-alias-bounds = "warn" +tyvar-behind-raw-pointer = "warn" +uncommon-codepoints = "warn" +unconditional-panic = "deny" +unconditional-recursion = "warn" +uncovered-param-in-projection = "warn" +undropped-manually-drops = "deny" +unexpected-cfgs = "warn" +unfulfilled-lint-expectations = "warn" +ungated-async-fn-track-caller = "warn" +uninhabited-static = "warn" +unit-bindings = "allow" +unknown-crate-types = "deny" +unknown-diagnostic-attributes = "warn" +unknown-lints = "warn" +unnameable-test-items = "warn" +unnameable-types = "allow" +unnecessary-transmutes = "warn" +unpredictable-function-pointer-comparisons = "warn" +unqualified-local-imports = "allow" +unreachable-code = "warn" +unreachable-patterns = "warn" +unreachable-pub = "allow" +unsafe-attr-outside-unsafe = "allow" +unsafe-code = "allow" +unsafe-op-in-unsafe-fn = "allow" +unstable-features = "allow" +unstable-name-collisions = "warn" +unstable-syntax-pre-expansion = "warn" +unsupported-calling-conventions = "warn" +unused-allocation = "warn" +unused-assignments = "warn" +unused-associated-type-bounds = "warn" +unused-attributes = "warn" +unused-braces = "warn" +unused-comparisons = "warn" +unused-crate-dependencies = "allow" +unused-doc-comments = "warn" +unused-extern-crates = "allow" +unused-features = "warn" +unused-import-braces = "allow" +unused-imports = "warn" +unused-labels = "warn" +unused-lifetimes = "allow" +unused-macro-rules = "allow" +unused-macros = "warn" +unused-must-use = "warn" +unused-mut = "warn" +unused-parens = "warn" +unused-qualifications = "allow" +unused-results = "allow" +unused-unsafe = "warn" +unused-variables = "warn" +useless-deprecated = "deny" +useless-ptr-null-checks = "warn" +uses-power-alignment = "warn" +varargs-without-pattern = "warn" +variant-size-differences = "allow" +warnings = "warn" +while-true = "warn" + +[workspace.lints.rustdoc] +bare-urls = "warn" +broken-intra-doc-links = "warn" +invalid-codeblock-attributes = "warn" +invalid-html-tags = "warn" +invalid-rust-codeblocks = "warn" +missing-crate-level-docs = "allow" +missing-doc-code-examples = "allow" +private-doc-tests = "allow" +private-intra-doc-links = "warn" +redundant-explicit-links = "warn" +unescaped-backticks = "allow" diff --git a/lints/1.94.toml b/lints/1.94.toml new file mode 100644 index 0000000..71661af --- /dev/null +++ b/lints/1.94.toml @@ -0,0 +1,1052 @@ +[workspace.lints.clippy] +absolute-paths = "allow" +absurd-extreme-comparisons = "deny" +alloc-instead-of-core = "allow" +allow-attributes = "allow" +allow-attributes-without-reason = "allow" +almost-complete-range = "warn" +almost-swapped = "deny" +approx-constant = "deny" +arbitrary-source-item-ordering = "allow" +arc-with-non-send-sync = "warn" +arithmetic-side-effects = "allow" +as-conversions = "allow" +as-pointer-underscore = "allow" +as-ptr-cast-mut = "allow" +as-underscore = "allow" +assertions-on-constants = "warn" +assertions-on-result-states = "allow" +assign-op-pattern = "warn" +assigning-clones = "allow" +async-yields-async = "deny" +await-holding-invalid-type = "warn" +await-holding-lock = "warn" +await-holding-refcell-ref = "warn" +bad-bit-mask = "deny" +big-endian-bytes = "allow" +bind-instead-of-map = "warn" +blanket-clippy-restriction-lints = "warn" +blocks-in-conditions = "warn" +bool-assert-comparison = "warn" +bool-comparison = "warn" +bool-to-int-with-if = "allow" +borrow-as-ptr = "allow" +borrow-deref-ref = "warn" +borrow-interior-mutable-const = "warn" +borrowed-box = "warn" +box-collection = "warn" +box-default = "warn" +boxed-local = "warn" +branches-sharing-code = "allow" +builtin-type-shadow = "warn" +byte-char-slices = "warn" +bytes-count-to-len = "warn" +bytes-nth = "warn" +cargo-common-metadata = "allow" +case-sensitive-file-extension-comparisons = "allow" +cast-abs-to-unsigned = "warn" +cast-enum-constructor = "warn" +cast-enum-truncation = "warn" +cast-lossless = "allow" +cast-nan-to-int = "warn" +cast-possible-truncation = "allow" +cast-possible-wrap = "allow" +cast-precision-loss = "allow" +cast-ptr-alignment = "allow" +cast-sign-loss = "allow" +cast-slice-different-sizes = "deny" +cast-slice-from-raw-parts = "warn" +cfg-not-test = "allow" +char-indices-as-byte-indices = "deny" +char-lit-as-u8 = "warn" +chars-last-cmp = "warn" +chars-next-cmp = "warn" +checked-conversions = "allow" +clear-with-drain = "allow" +clone-on-copy = "warn" +clone-on-ref-ptr = "allow" +cloned-instead-of-copied = "allow" +cloned-ref-to-slice-refs = "warn" +cmp-null = "warn" +cmp-owned = "warn" +coerce-container-to-any = "allow" +cognitive-complexity = "allow" +collapsible-else-if = "allow" +collapsible-if = "warn" +collapsible-match = "warn" +collapsible-str-replace = "warn" +collection-is-never-read = "allow" +comparison-chain = "allow" +comparison-to-empty = "warn" +confusing-method-to-numeric-cast = "warn" +const-is-empty = "warn" +copy-iterator = "allow" +crate-in-macro-def = "warn" +create-dir = "allow" +crosspointer-transmute = "warn" +dbg-macro = "allow" +debug-assert-with-mut-call = "allow" +decimal-bitwise-operands = "allow" +decimal-literal-representation = "allow" +declare-interior-mutable-const = "warn" +default-constructed-unit-structs = "warn" +default-instead-of-iter-empty = "warn" +default-numeric-fallback = "allow" +default-trait-access = "allow" +default-union-representation = "allow" +deprecated-cfg-attr = "warn" +deprecated-clippy-cfg-attr = "warn" +deprecated-semver = "deny" +deref-addrof = "warn" +deref-by-slicing = "allow" +derivable-impls = "warn" +derive-ord-xor-partial-ord = "deny" +derive-partial-eq-without-eq = "allow" +derived-hash-with-manual-eq = "deny" +disallowed-macros = "warn" +disallowed-methods = "warn" +disallowed-names = "warn" +disallowed-script-idents = "allow" +disallowed-types = "warn" +diverging-sub-expression = "warn" +doc-broken-link = "allow" +doc-comment-double-space-linebreaks = "allow" +doc-include-without-cfg = "allow" +doc-lazy-continuation = "warn" +doc-link-code = "allow" +doc-link-with-quotes = "allow" +doc-markdown = "allow" +doc-nested-refdefs = "warn" +doc-overindented-list-items = "warn" +doc-paragraphs-missing-punctuation = "allow" +doc-suspicious-footnotes = "warn" +double-comparisons = "warn" +double-ended-iterator-last = "warn" +double-must-use = "warn" +double-parens = "warn" +drain-collect = "warn" +drop-non-drop = "warn" +duplicate-mod = "warn" +duplicate-underscore-argument = "warn" +duplicated-attributes = "warn" +duration-subsec = "warn" +eager-transmute = "deny" +elidable-lifetime-names = "allow" +else-if-without-else = "allow" +empty-docs = "warn" +empty-drop = "allow" +empty-enum-variants-with-brackets = "allow" +empty-enums = "allow" +empty-line-after-doc-comments = "warn" +empty-line-after-outer-attr = "warn" +empty-loop = "warn" +empty-structs-with-brackets = "allow" +enum-clike-unportable-variant = "deny" +enum-glob-use = "allow" +enum-variant-names = "warn" +eq-op = "deny" +equatable-if-let = "allow" +erasing-op = "deny" +err-expect = "warn" +error-impl-error = "allow" +excessive-nesting = "warn" +excessive-precision = "warn" +exhaustive-enums = "allow" +exhaustive-structs = "allow" +exit = "allow" +expect-fun-call = "warn" +expect-used = "allow" +expl-impl-clone-on-copy = "allow" +explicit-auto-deref = "warn" +explicit-counter-loop = "warn" +explicit-deref-methods = "allow" +explicit-into-iter-loop = "allow" +explicit-iter-loop = "allow" +explicit-write = "warn" +extend-with-drain = "warn" +extra-unused-lifetimes = "warn" +extra-unused-type-parameters = "warn" +fallible-impl-from = "allow" +field-reassign-with-default = "warn" +field-scoped-visibility-modifiers = "allow" +filetype-is-file = "allow" +filter-map-bool-then = "warn" +filter-map-identity = "warn" +filter-map-next = "allow" +filter-next = "warn" +flat-map-identity = "warn" +flat-map-option = "allow" +float-arithmetic = "allow" +float-cmp = "allow" +float-cmp-const = "allow" +float-equality-without-abs = "warn" +fn-params-excessive-bools = "allow" +fn-to-numeric-cast = "warn" +fn-to-numeric-cast-any = "allow" +fn-to-numeric-cast-with-truncation = "warn" +for-kv-map = "warn" +forget-non-drop = "warn" +format-collect = "allow" +format-in-format-args = "warn" +format-push-string = "allow" +four-forward-slashes = "warn" +from-iter-instead-of-collect = "allow" +from-over-into = "warn" +from-raw-with-void-ptr = "warn" +from-str-radix-10 = "warn" +future-not-send = "allow" +get-first = "warn" +get-last-with-len = "warn" +get-unwrap = "allow" +host-endian-bytes = "allow" +identity-op = "warn" +if-let-mutex = "deny" +if-not-else = "allow" +if-same-then-else = "warn" +if-then-some-else-none = "allow" +ifs-same-cond = "deny" +ignore-without-reason = "allow" +ignored-unit-patterns = "allow" +impl-hash-borrow-with-str-and-bytes = "deny" +impl-trait-in-params = "allow" +implicit-clone = "allow" +implicit-hasher = "allow" +implicit-return = "allow" +implicit-saturating-add = "warn" +implicit-saturating-sub = "warn" +implied-bounds-in-impls = "warn" +impossible-comparisons = "deny" +imprecise-flops = "allow" +incompatible-msrv = "warn" +inconsistent-digit-grouping = "warn" +inconsistent-struct-constructor = "allow" +index-refutable-slice = "allow" +indexing-slicing = "allow" +ineffective-bit-mask = "deny" +ineffective-open-options = "warn" +inefficient-to-string = "allow" +infallible-destructuring-match = "warn" +infallible-try-from = "warn" +infinite-iter = "deny" +infinite-loop = "allow" +inherent-to-string = "warn" +inherent-to-string-shadow-display = "deny" +init-numbered-fields = "warn" +inline-always = "allow" +inline-asm-x86-att-syntax = "allow" +inline-asm-x86-intel-syntax = "allow" +inline-fn-without-body = "deny" +inspect-for-each = "warn" +int-plus-one = "warn" +integer-division = "allow" +integer-division-remainder-used = "allow" +into-iter-on-ref = "warn" +into-iter-without-iter = "allow" +invalid-regex = "deny" +invalid-upcast-comparisons = "allow" +inverted-saturating-sub = "deny" +invisible-characters = "deny" +io-other-error = "warn" +ip-constant = "allow" +is-digit-ascii-radix = "warn" +items-after-statements = "allow" +items-after-test-module = "warn" +iter-cloned-collect = "warn" +iter-count = "warn" +iter-filter-is-ok = "allow" +iter-filter-is-some = "allow" +iter-kv-map = "warn" +iter-next-loop = "deny" +iter-next-slice = "warn" +iter-not-returning-iterator = "allow" +iter-nth = "warn" +iter-nth-zero = "warn" +iter-on-empty-collections = "allow" +iter-on-single-items = "allow" +iter-out-of-bounds = "warn" +iter-over-hash-type = "allow" +iter-overeager-cloned = "warn" +iter-skip-next = "warn" +iter-skip-zero = "deny" +iter-with-drain = "allow" +iter-without-into-iter = "allow" +iterator-step-by-zero = "deny" +join-absolute-paths = "warn" +just-underscores-and-digits = "warn" +large-const-arrays = "warn" +large-digit-groups = "allow" +large-enum-variant = "warn" +large-futures = "allow" +large-include-file = "allow" +large-stack-arrays = "allow" +large-stack-frames = "allow" +large-types-passed-by-value = "allow" +legacy-numeric-constants = "warn" +len-without-is-empty = "warn" +len-zero = "warn" +let-and-return = "warn" +let-underscore-future = "warn" +let-underscore-lock = "deny" +let-underscore-must-use = "allow" +let-underscore-untyped = "allow" +let-unit-value = "warn" +let-with-type-underscore = "warn" +lines-filter-map-ok = "warn" +linkedlist = "allow" +lint-groups-priority = "deny" +literal-string-with-formatting-args = "allow" +little-endian-bytes = "allow" +lossy-float-literal = "allow" +macro-metavars-in-unsafe = "warn" +macro-use-imports = "allow" +main-recursion = "warn" +manual-abs-diff = "warn" +manual-assert = "allow" +manual-async-fn = "warn" +manual-bits = "warn" +manual-c-str-literals = "warn" +manual-clamp = "warn" +manual-contains = "warn" +manual-dangling-ptr = "warn" +manual-div-ceil = "warn" +manual-filter = "warn" +manual-filter-map = "warn" +manual-find = "warn" +manual-find-map = "warn" +manual-flatten = "warn" +manual-hash-one = "warn" +manual-ignore-case-cmp = "warn" +manual-ilog2 = "allow" +manual-inspect = "warn" +manual-instant-elapsed = "allow" +manual-is-ascii-check = "warn" +manual-is-finite = "warn" +manual-is-infinite = "warn" +manual-is-multiple-of = "warn" +manual-is-power-of-two = "allow" +manual-is-variant-and = "allow" +manual-let-else = "allow" +manual-main-separator-str = "warn" +manual-map = "warn" +manual-memcpy = "warn" +manual-midpoint = "allow" +manual-next-back = "warn" +manual-non-exhaustive = "warn" +manual-ok-err = "warn" +manual-ok-or = "warn" +manual-option-as-slice = "warn" +manual-pattern-char-comparison = "warn" +manual-range-contains = "warn" +manual-range-patterns = "warn" +manual-rem-euclid = "warn" +manual-repeat-n = "warn" +manual-retain = "warn" +manual-rotate = "warn" +manual-saturating-arithmetic = "warn" +manual-slice-fill = "warn" +manual-slice-size-calculation = "warn" +manual-split-once = "warn" +manual-str-repeat = "warn" +manual-string-new = "allow" +manual-strip = "warn" +manual-swap = "warn" +manual-try-fold = "warn" +manual-unwrap-or = "warn" +manual-unwrap-or-default = "warn" +manual-while-let-some = "warn" +many-single-char-names = "allow" +map-all-any-identity = "warn" +map-clone = "warn" +map-collect-result-unit = "warn" +map-entry = "warn" +map-err-ignore = "allow" +map-flatten = "warn" +map-identity = "warn" +map-unwrap-or = "allow" +map-with-unused-argument-over-ranges = "allow" +match-as-ref = "warn" +match-bool = "allow" +match-like-matches-macro = "warn" +match-overlapping-arm = "warn" +match-ref-pats = "warn" +match-result-ok = "warn" +match-same-arms = "allow" +match-single-binding = "warn" +match-str-case-mismatch = "deny" +match-wild-err-arm = "allow" +match-wildcard-for-single-variants = "allow" +maybe-infinite-iter = "allow" +mem-forget = "allow" +mem-replace-option-with-none = "warn" +mem-replace-option-with-some = "warn" +mem-replace-with-default = "warn" +mem-replace-with-uninit = "deny" +min-ident-chars = "allow" +min-max = "deny" +mismatching-type-param-order = "allow" +misnamed-getters = "warn" +misrefactored-assign-op = "warn" +missing-assert-message = "allow" +missing-asserts-for-indexing = "allow" +missing-const-for-fn = "allow" +missing-const-for-thread-local = "warn" +missing-docs-in-private-items = "allow" +missing-enforced-import-renames = "warn" +missing-errors-doc = "allow" +missing-fields-in-debug = "allow" +missing-inline-in-public-items = "allow" +missing-panics-doc = "allow" +missing-safety-doc = "warn" +missing-spin-loop = "warn" +missing-trait-methods = "allow" +missing-transmute-annotations = "warn" +mistyped-literal-suffixes = "deny" +mixed-attributes-style = "warn" +mixed-case-hex-literals = "warn" +mixed-read-write-in-expression = "allow" +mod-module-files = "allow" +module-inception = "warn" +module-name-repetitions = "allow" +modulo-arithmetic = "allow" +modulo-one = "deny" +multi-assignments = "warn" +multiple-bound-locations = "warn" +multiple-crate-versions = "allow" +multiple-inherent-impl = "allow" +multiple-unsafe-ops-per-block = "allow" +must-use-candidate = "allow" +must-use-unit = "warn" +mut-from-ref = "deny" +mut-mut = "allow" +mut-mutex-lock = "warn" +mut-range-bound = "warn" +mutable-key-type = "warn" +mutex-atomic = "allow" +mutex-integer = "allow" +naive-bytecount = "allow" +needless-arbitrary-self-type = "warn" +needless-as-bytes = "warn" +needless-bitwise-bool = "allow" +needless-bool = "warn" +needless-bool-assign = "warn" +needless-borrow = "warn" +needless-borrowed-reference = "warn" +needless-borrows-for-generic-args = "warn" +needless-character-iteration = "warn" +needless-collect = "allow" +needless-continue = "allow" +needless-doctest-main = "warn" +needless-else = "warn" +needless-for-each = "allow" +needless-ifs = "warn" +needless-late-init = "warn" +needless-lifetimes = "warn" +needless-match = "warn" +needless-maybe-sized = "warn" +needless-option-as-deref = "warn" +needless-option-take = "warn" +needless-parens-on-range-literals = "warn" +needless-pass-by-ref-mut = "allow" +needless-pass-by-value = "allow" +needless-pub-self = "warn" +needless-question-mark = "warn" +needless-range-loop = "warn" +needless-raw-string-hashes = "allow" +needless-raw-strings = "allow" +needless-return = "warn" +needless-return-with-question-mark = "warn" +needless-splitn = "warn" +needless-type-cast = "allow" +needless-update = "warn" +neg-cmp-op-on-partial-ord = "warn" +neg-multiply = "warn" +negative-feature-names = "allow" +never-loop = "deny" +new-ret-no-self = "warn" +new-without-default = "warn" +no-effect = "warn" +no-effect-replace = "warn" +no-effect-underscore-binding = "allow" +no-mangle-with-rust-abi = "allow" +non-ascii-literal = "allow" +non-canonical-clone-impl = "warn" +non-canonical-partial-ord-impl = "warn" +non-minimal-cfg = "warn" +non-octal-unix-permissions = "deny" +non-send-fields-in-send-ty = "allow" +non-std-lazy-statics = "allow" +non-zero-suggestions = "allow" +nonminimal-bool = "warn" +nonsensical-open-options = "deny" +nonstandard-macro-braces = "allow" +not-unsafe-ptr-arg-deref = "deny" +obfuscated-if-else = "warn" +octal-escapes = "warn" +ok-expect = "warn" +only-used-in-recursion = "warn" +op-ref = "warn" +option-as-ref-cloned = "allow" +option-as-ref-deref = "warn" +option-env-unwrap = "deny" +option-filter-map = "warn" +option-if-let-else = "allow" +option-map-or-none = "warn" +option-map-unit-fn = "warn" +option-option = "allow" +or-fun-call = "allow" +or-then-unwrap = "warn" +out-of-bounds-indexing = "deny" +overly-complex-bool-expr = "deny" +owned-cow = "warn" +panic = "allow" +panic-in-result-fn = "allow" +panicking-overflow-checks = "deny" +panicking-unwrap = "deny" +partial-pub-fields = "allow" +partialeq-ne-impl = "warn" +partialeq-to-none = "warn" +path-buf-push-overwrite = "allow" +path-ends-with-ext = "warn" +pathbuf-init-then-push = "allow" +pattern-type-mismatch = "allow" +permissions-set-readonly-false = "warn" +pointer-format = "allow" +pointers-in-nomem-asm-block = "warn" +possible-missing-comma = "deny" +possible-missing-else = "warn" +precedence = "warn" +precedence-bits = "allow" +print-in-format-impl = "warn" +print-literal = "warn" +print-stderr = "allow" +print-stdout = "allow" +print-with-newline = "warn" +println-empty-string = "warn" +ptr-arg = "warn" +ptr-as-ptr = "allow" +ptr-cast-constness = "allow" +ptr-eq = "warn" +ptr-offset-by-literal = "allow" +ptr-offset-with-cast = "warn" +pub-underscore-fields = "allow" +pub-use = "allow" +pub-with-shorthand = "allow" +pub-without-shorthand = "allow" +question-mark = "warn" +question-mark-used = "allow" +range-minus-one = "allow" +range-plus-one = "allow" +range-zip-with-len = "warn" +rc-buffer = "allow" +rc-clone-in-vec-init = "warn" +rc-mutex = "allow" +read-line-without-trim = "deny" +read-zero-byte-vec = "allow" +readonly-write-lock = "warn" +recursive-format-impl = "deny" +redundant-allocation = "warn" +redundant-as-str = "warn" +redundant-async-block = "warn" +redundant-at-rest-pattern = "warn" +redundant-clone = "allow" +redundant-closure = "warn" +redundant-closure-call = "warn" +redundant-closure-for-method-calls = "allow" +redundant-comparisons = "deny" +redundant-else = "allow" +redundant-feature-names = "allow" +redundant-field-names = "warn" +redundant-guards = "warn" +redundant-iter-cloned = "warn" +redundant-locals = "warn" +redundant-pattern = "warn" +redundant-pattern-matching = "warn" +redundant-pub-crate = "allow" +redundant-slicing = "warn" +redundant-static-lifetimes = "warn" +redundant-test-prefix = "allow" +redundant-type-annotations = "allow" +ref-as-ptr = "allow" +ref-binding-to-reference = "allow" +ref-option = "allow" +ref-option-ref = "allow" +ref-patterns = "allow" +regex-creation-in-loops = "warn" +renamed-function-params = "allow" +repeat-once = "warn" +repeat-vec-with-capacity = "warn" +replace-box = "warn" +repr-packed-without-abi = "warn" +reserve-after-initialization = "warn" +rest-pat-in-fully-bound-structs = "allow" +result-filter-map = "warn" +result-large-err = "warn" +result-map-or-into-option = "warn" +result-map-unit-fn = "warn" +result-unit-err = "warn" +return-and-then = "allow" +return-self-not-must-use = "allow" +reversed-empty-ranges = "deny" +same-functions-in-if-condition = "allow" +same-item-push = "warn" +same-length-and-capacity = "allow" +same-name-method = "allow" +search-is-some = "allow" +seek-from-current = "warn" +seek-to-start-instead-of-rewind = "warn" +self-assignment = "deny" +self-named-constructors = "warn" +self-named-module-files = "allow" +self-only-used-in-recursion = "allow" +semicolon-if-nothing-returned = "allow" +semicolon-inside-block = "allow" +semicolon-outside-block = "allow" +separated-literal-suffix = "allow" +serde-api-misuse = "deny" +set-contains-or-insert = "allow" +shadow-reuse = "allow" +shadow-same = "allow" +shadow-unrelated = "allow" +short-circuit-statement = "warn" +should-implement-trait = "warn" +should-panic-without-expect = "allow" +significant-drop-in-scrutinee = "allow" +significant-drop-tightening = "allow" +similar-names = "allow" +single-call-fn = "allow" +single-char-add-str = "warn" +single-char-lifetime-names = "allow" +single-char-pattern = "allow" +single-component-path-imports = "warn" +single-element-loop = "warn" +single-match = "warn" +single-match-else = "allow" +single-option-map = "allow" +single-range-in-vec-init = "warn" +size-of-in-element-count = "deny" +size-of-ref = "warn" +skip-while-next = "warn" +sliced-string-as-bytes = "warn" +slow-vector-initialization = "warn" +stable-sort-primitive = "allow" +std-instead-of-alloc = "allow" +std-instead-of-core = "allow" +str-split-at-newline = "allow" +str-to-string = "allow" +string-add = "allow" +string-add-assign = "allow" +string-extend-chars = "warn" +string-from-utf8-as-bytes = "warn" +string-lit-as-bytes = "allow" +string-lit-chars-any = "allow" +string-slice = "allow" +strlen-on-c-strings = "warn" +struct-excessive-bools = "allow" +struct-field-names = "allow" +suboptimal-flops = "allow" +suspicious-arithmetic-impl = "warn" +suspicious-assignment-formatting = "warn" +suspicious-command-arg-space = "warn" +suspicious-doc-comments = "warn" +suspicious-else-formatting = "warn" +suspicious-map = "warn" +suspicious-op-assign-impl = "warn" +suspicious-open-options = "warn" +suspicious-operation-groupings = "allow" +suspicious-splitn = "deny" +suspicious-to-owned = "warn" +suspicious-unary-op-formatting = "warn" +suspicious-xor-used-as-pow = "allow" +swap-ptr-to-ref = "warn" +swap-with-temporary = "warn" +tabs-in-doc-comments = "warn" +temporary-assignment = "warn" +test-attr-in-doctest = "warn" +tests-outside-test-module = "allow" +to-digit-is-some = "warn" +to-string-in-format-args = "warn" +to-string-trait-impl = "warn" +todo = "allow" +too-long-first-doc-paragraph = "allow" +too-many-arguments = "warn" +too-many-lines = "allow" +toplevel-ref-arg = "warn" +trailing-empty-array = "allow" +trait-duplication-in-bounds = "allow" +transmute-bytes-to-str = "warn" +transmute-int-to-bool = "warn" +transmute-int-to-non-zero = "warn" +transmute-null-to-fn = "deny" +transmute-ptr-to-ptr = "allow" +transmute-ptr-to-ref = "warn" +transmute-undefined-repr = "allow" +transmutes-expressible-as-ptr-casts = "warn" +transmuting-null = "deny" +trim-split-whitespace = "warn" +trivial-regex = "allow" +trivially-copy-pass-by-ref = "allow" +try-err = "allow" +tuple-array-conversions = "allow" +type-complexity = "warn" +type-id-on-box = "warn" +type-repetition-in-bounds = "allow" +unbuffered-bytes = "warn" +unchecked-time-subtraction = "allow" +unconditional-recursion = "warn" +undocumented-unsafe-blocks = "allow" +unicode-not-nfc = "allow" +unimplemented = "allow" +uninhabited-references = "allow" +uninit-assumed-init = "deny" +uninit-vec = "deny" +uninlined-format-args = "allow" +unit-arg = "warn" +unit-cmp = "deny" +unit-hash = "deny" +unit-return-expecting-ord = "deny" +unnecessary-box-returns = "allow" +unnecessary-cast = "warn" +unnecessary-clippy-cfg = "warn" +unnecessary-debug-formatting = "allow" +unnecessary-fallible-conversions = "warn" +unnecessary-filter-map = "warn" +unnecessary-find-map = "warn" +unnecessary-first-then-check = "warn" +unnecessary-fold = "warn" +unnecessary-get-then-check = "warn" +unnecessary-join = "allow" +unnecessary-lazy-evaluations = "warn" +unnecessary-literal-bound = "allow" +unnecessary-literal-unwrap = "warn" +unnecessary-map-on-constructor = "warn" +unnecessary-map-or = "warn" +unnecessary-min-or-max = "warn" +unnecessary-mut-passed = "warn" +unnecessary-operation = "warn" +unnecessary-option-map-or-else = "warn" +unnecessary-owned-empty-strings = "warn" +unnecessary-result-map-or-else = "warn" +unnecessary-safety-comment = "allow" +unnecessary-safety-doc = "allow" +unnecessary-self-imports = "allow" +unnecessary-semicolon = "allow" +unnecessary-sort-by = "warn" +unnecessary-struct-initialization = "allow" +unnecessary-to-owned = "warn" +unnecessary-unwrap = "warn" +unnecessary-wraps = "allow" +unneeded-field-pattern = "allow" +unneeded-struct-pattern = "warn" +unneeded-wildcard-pattern = "warn" +unnested-or-patterns = "allow" +unreachable = "allow" +unreadable-literal = "allow" +unsafe-derive-deserialize = "allow" +unsafe-removed-from-name = "warn" +unseparated-literal-suffix = "allow" +unsound-collection-transmute = "deny" +unused-async = "allow" +unused-enumerate-index = "warn" +unused-format-specs = "warn" +unused-io-amount = "deny" +unused-peekable = "allow" +unused-result-ok = "allow" +unused-rounding = "allow" +unused-self = "allow" +unused-trait-names = "allow" +unused-unit = "warn" +unusual-byte-groupings = "warn" +unwrap-in-result = "allow" +unwrap-or-default = "warn" +unwrap-used = "allow" +upper-case-acronyms = "warn" +use-debug = "allow" +use-self = "allow" +used-underscore-binding = "allow" +used-underscore-items = "allow" +useless-asref = "warn" +useless-attribute = "deny" +useless-concat = "warn" +useless-conversion = "warn" +useless-format = "warn" +useless-let-if-seq = "allow" +useless-nonzero-new-unchecked = "warn" +useless-transmute = "warn" +useless-vec = "warn" +vec-box = "warn" +vec-init-then-push = "warn" +vec-resize-to-zero = "deny" +verbose-bit-mask = "allow" +verbose-file-reads = "allow" +volatile-composites = "allow" +waker-clone-wake = "warn" +while-float = "allow" +while-immutable-condition = "deny" +while-let-loop = "warn" +while-let-on-iterator = "warn" +wildcard-dependencies = "allow" +wildcard-enum-match-arm = "allow" +wildcard-imports = "allow" +wildcard-in-or-patterns = "warn" +write-literal = "warn" +write-with-newline = "warn" +writeln-empty-string = "warn" +wrong-self-convention = "warn" +wrong-transmute = "deny" +zero-divided-by-zero = "warn" +zero-prefixed-literal = "warn" +zero-ptr = "warn" +zero-repeat-side-effects = "warn" +zero-sized-map-values = "allow" +zombie-processes = "warn" +zst-offset = "deny" + +[workspace.lints.rust] +aarch64-softfloat-neon = "warn" +absolute-paths-not-starting-with-crate = "allow" +ambiguous-associated-items = "deny" +ambiguous-glob-imports = "warn" +ambiguous-glob-reexports = "warn" +ambiguous-negative-literals = "allow" +ambiguous-panic-imports = "warn" +ambiguous-wide-pointer-comparisons = "warn" +anonymous-parameters = "warn" +arithmetic-overflow = "deny" +array-into-iter = "warn" +asm-sub-register = "warn" +async-fn-in-trait = "warn" +bad-asm-style = "warn" +bare-trait-objects = "warn" +binary-asm-labels = "deny" +bindings-with-variant-name = "deny" +boxed-slice-into-iter = "warn" +break-with-label-and-loop = "warn" +clashing-extern-declarations = "warn" +closure-returning-async-block = "allow" +coherence-leak-check = "warn" +conflicting-repr-hints = "deny" +confusable-idents = "warn" +const-evaluatable-unchecked = "warn" +const-item-interior-mutations = "warn" +const-item-mutation = "warn" +dangerous-implicit-autorefs = "deny" +dangling-pointers-from-locals = "warn" +dangling-pointers-from-temporaries = "warn" +dead-code = "warn" +default-overrides-default-fields = "deny" +dependency-on-unit-never-type-fallback = "deny" +deprecated = "warn" +deprecated-in-future = "allow" +deprecated-safe-2024 = "allow" +deprecated-where-clause-location = "warn" +deref-into-dyn-supertrait = "allow" +deref-nullptr = "deny" +double-negations = "warn" +drop-bounds = "warn" +dropping-copy-types = "warn" +dropping-references = "warn" +duplicate-macro-attributes = "warn" +dyn-drop = "warn" +edition-2024-expr-fragment-specifier = "allow" +elided-lifetimes-in-associated-constant = "deny" +elided-lifetimes-in-paths = "allow" +ellipsis-inclusive-range-patterns = "warn" +enum-intrinsics-non-enums = "deny" +explicit-builtin-cfgs-in-flags = "deny" +explicit-outlives-requirements = "allow" +exported-private-dependencies = "warn" +ffi-unwind-calls = "allow" +for-loops-over-fallibles = "warn" +forbidden-lint-groups = "warn" +forgetting-copy-types = "warn" +forgetting-references = "warn" +function-casts-as-integer = "warn" +function-item-references = "warn" +fuzzy-provenance-casts = "allow" +hidden-glob-reexports = "warn" +if-let-rescope = "allow" +ill-formed-attribute-input = "deny" +impl-trait-overcaptures = "allow" +impl-trait-redundant-captures = "allow" +improper-ctypes = "warn" +improper-ctypes-definitions = "warn" +improper-gpu-kernel-arg = "warn" +incomplete-features = "warn" +incomplete-include = "deny" +ineffective-unstable-trait-impl = "deny" +inline-always-mismatching-target-features = "warn" +inline-no-sanitize = "warn" +integer-to-ptr-transmutes = "warn" +internal-features = "warn" +invalid-atomic-ordering = "deny" +invalid-doc-attributes = "warn" +invalid-from-utf8 = "warn" +invalid-from-utf8-unchecked = "deny" +invalid-macro-export-arguments = "deny" +invalid-nan-comparisons = "warn" +invalid-null-arguments = "deny" +invalid-reference-casting = "deny" +invalid-type-param-default = "deny" +invalid-value = "warn" +irrefutable-let-patterns = "warn" +keyword-idents-2018 = "allow" +keyword-idents-2024 = "allow" +large-assignments = "warn" +late-bound-lifetime-arguments = "warn" +legacy-derive-helpers = "deny" +let-underscore-drop = "allow" +let-underscore-lock = "deny" +linker-messages = "allow" +long-running-const-eval = "deny" +lossy-provenance-casts = "allow" +macro-expanded-macro-exports-accessed-by-absolute-paths = "deny" +macro-use-extern-crate = "allow" +malformed-diagnostic-attributes = "warn" +malformed-diagnostic-format-literals = "warn" +map-unit-fn = "warn" +meta-variable-misuse = "allow" +mismatched-lifetime-syntaxes = "warn" +misplaced-diagnostic-attributes = "warn" +missing-abi = "warn" +missing-copy-implementations = "allow" +missing-debug-implementations = "allow" +missing-docs = "allow" +missing-gpu-kernel-export-name = "warn" +missing-unsafe-on-extern = "allow" +mixed-script-confusables = "warn" +multiple-supertrait-upcastable = "allow" +must-not-suspend = "allow" +mutable-transmutes = "deny" +named-arguments-used-positionally = "warn" +named-asm-labels = "deny" +never-type-fallback-flowing-into-unsafe = "deny" +no-mangle-const-items = "deny" +no-mangle-generic-items = "warn" +non-ascii-idents = "allow" +non-camel-case-types = "warn" +non-contiguous-range-endpoints = "warn" +non-exhaustive-omitted-patterns = "allow" +non-fmt-panics = "warn" +non-local-definitions = "warn" +non-shorthand-field-patterns = "warn" +non-snake-case = "warn" +non-upper-case-globals = "warn" +noop-method-call = "warn" +opaque-hidden-inferred-bound = "warn" +out-of-scope-macro-calls = "deny" +overflowing-literals = "deny" +overlapping-range-endpoints = "warn" +path-statements = "warn" +patterns-in-fns-without-body = "deny" +private-bounds = "warn" +private-interfaces = "warn" +proc-macro-derive-resolution-fallback = "deny" +ptr-to-integer-transmute-in-consts = "warn" +pub-use-of-private-extern-crate = "deny" +redundant-imports = "allow" +redundant-lifetimes = "allow" +redundant-semicolons = "warn" +refining-impl-trait-internal = "warn" +refining-impl-trait-reachable = "warn" +renamed-and-removed-lints = "warn" +repr-c-enums-larger-than-int = "warn" +repr-transparent-non-zst-fields = "deny" +resolving-to-items-shadowing-supertrait-items = "allow" +rtsan-nonblocking-async = "warn" +rust-2021-incompatible-closure-captures = "allow" +rust-2021-incompatible-or-patterns = "allow" +rust-2021-prefixes-incompatible-syntax = "allow" +rust-2021-prelude-collisions = "allow" +rust-2024-guarded-string-incompatible-syntax = "allow" +rust-2024-incompatible-pat = "allow" +rust-2024-prelude-collisions = "allow" +self-constructor-from-outer-item = "warn" +semicolon-in-expressions-from-macros = "deny" +shadowing-supertrait-items = "allow" +single-use-lifetimes = "allow" +soft-unstable = "deny" +special-module-name = "warn" +stable-features = "warn" +static-mut-refs = "warn" +suspicious-double-ref-op = "warn" +tail-expr-drop-order = "allow" +test-unstable-lint = "deny" +text-direction-codepoint-in-comment = "deny" +text-direction-codepoint-in-literal = "deny" +trivial-bounds = "warn" +trivial-casts = "allow" +trivial-numeric-casts = "allow" +type-alias-bounds = "warn" +tyvar-behind-raw-pointer = "warn" +uncommon-codepoints = "warn" +unconditional-panic = "deny" +unconditional-recursion = "warn" +uncovered-param-in-projection = "warn" +undropped-manually-drops = "deny" +unexpected-cfgs = "warn" +unfulfilled-lint-expectations = "warn" +ungated-async-fn-track-caller = "warn" +uninhabited-static = "warn" +unit-bindings = "allow" +unknown-crate-types = "deny" +unknown-diagnostic-attributes = "warn" +unknown-lints = "warn" +unnameable-test-items = "warn" +unnameable-types = "allow" +unnecessary-transmutes = "warn" +unpredictable-function-pointer-comparisons = "warn" +unqualified-local-imports = "allow" +unreachable-code = "warn" +unreachable-patterns = "warn" +unreachable-pub = "allow" +unsafe-attr-outside-unsafe = "allow" +unsafe-code = "allow" +unsafe-op-in-unsafe-fn = "allow" +unstable-features = "allow" +unstable-name-collisions = "warn" +unstable-syntax-pre-expansion = "warn" +unsupported-calling-conventions = "warn" +unused-allocation = "warn" +unused-assignments = "warn" +unused-associated-type-bounds = "warn" +unused-attributes = "warn" +unused-braces = "warn" +unused-comparisons = "warn" +unused-crate-dependencies = "allow" +unused-doc-comments = "warn" +unused-extern-crates = "allow" +unused-features = "warn" +unused-import-braces = "allow" +unused-imports = "warn" +unused-labels = "warn" +unused-lifetimes = "allow" +unused-macro-rules = "allow" +unused-macros = "warn" +unused-must-use = "warn" +unused-mut = "warn" +unused-parens = "warn" +unused-qualifications = "allow" +unused-results = "allow" +unused-unsafe = "warn" +unused-variables = "warn" +unused-visibilities = "warn" +useless-deprecated = "deny" +useless-ptr-null-checks = "warn" +uses-power-alignment = "warn" +varargs-without-pattern = "warn" +variant-size-differences = "allow" +warnings = "warn" +while-true = "warn" + +[workspace.lints.rustdoc] +bare-urls = "warn" +broken-intra-doc-links = "warn" +invalid-codeblock-attributes = "warn" +invalid-html-tags = "warn" +invalid-rust-codeblocks = "warn" +missing-crate-level-docs = "allow" +missing-doc-code-examples = "allow" +private-doc-tests = "allow" +private-intra-doc-links = "warn" +redundant-explicit-links = "warn" +unescaped-backticks = "allow" diff --git a/lints/1.95.toml b/lints/1.95.toml new file mode 100644 index 0000000..17001a0 --- /dev/null +++ b/lints/1.95.toml @@ -0,0 +1,1062 @@ +[workspace.lints.clippy] +absolute-paths = "allow" +absurd-extreme-comparisons = "deny" +alloc-instead-of-core = "allow" +allow-attributes = "allow" +allow-attributes-without-reason = "allow" +almost-complete-range = "warn" +almost-swapped = "deny" +approx-constant = "deny" +arbitrary-source-item-ordering = "allow" +arc-with-non-send-sync = "warn" +arithmetic-side-effects = "allow" +as-conversions = "allow" +as-pointer-underscore = "allow" +as-ptr-cast-mut = "allow" +as-underscore = "allow" +assertions-on-constants = "warn" +assertions-on-result-states = "allow" +assign-op-pattern = "warn" +assigning-clones = "allow" +async-yields-async = "deny" +await-holding-invalid-type = "warn" +await-holding-lock = "warn" +await-holding-refcell-ref = "warn" +bad-bit-mask = "deny" +big-endian-bytes = "allow" +bind-instead-of-map = "warn" +blanket-clippy-restriction-lints = "warn" +blocks-in-conditions = "warn" +bool-assert-comparison = "warn" +bool-comparison = "warn" +bool-to-int-with-if = "allow" +borrow-as-ptr = "allow" +borrow-deref-ref = "warn" +borrow-interior-mutable-const = "warn" +borrowed-box = "warn" +box-collection = "warn" +box-default = "warn" +boxed-local = "warn" +branches-sharing-code = "allow" +builtin-type-shadow = "warn" +byte-char-slices = "warn" +bytes-count-to-len = "warn" +bytes-nth = "warn" +cargo-common-metadata = "allow" +case-sensitive-file-extension-comparisons = "allow" +cast-abs-to-unsigned = "warn" +cast-enum-constructor = "warn" +cast-enum-truncation = "warn" +cast-lossless = "allow" +cast-nan-to-int = "warn" +cast-possible-truncation = "allow" +cast-possible-wrap = "allow" +cast-precision-loss = "allow" +cast-ptr-alignment = "allow" +cast-sign-loss = "allow" +cast-slice-different-sizes = "deny" +cast-slice-from-raw-parts = "warn" +cfg-not-test = "allow" +char-indices-as-byte-indices = "deny" +char-lit-as-u8 = "warn" +chars-last-cmp = "warn" +chars-next-cmp = "warn" +checked-conversions = "allow" +clear-with-drain = "allow" +clone-on-copy = "warn" +clone-on-ref-ptr = "allow" +cloned-instead-of-copied = "allow" +cloned-ref-to-slice-refs = "warn" +cmp-null = "warn" +cmp-owned = "warn" +coerce-container-to-any = "allow" +cognitive-complexity = "allow" +collapsible-else-if = "allow" +collapsible-if = "warn" +collapsible-match = "warn" +collapsible-str-replace = "warn" +collection-is-never-read = "allow" +comparison-chain = "allow" +comparison-to-empty = "warn" +confusing-method-to-numeric-cast = "warn" +const-is-empty = "warn" +copy-iterator = "allow" +crate-in-macro-def = "warn" +create-dir = "allow" +crosspointer-transmute = "warn" +dbg-macro = "allow" +debug-assert-with-mut-call = "allow" +decimal-bitwise-operands = "allow" +decimal-literal-representation = "allow" +declare-interior-mutable-const = "warn" +default-constructed-unit-structs = "warn" +default-instead-of-iter-empty = "warn" +default-numeric-fallback = "allow" +default-trait-access = "allow" +default-union-representation = "allow" +deprecated-cfg-attr = "warn" +deprecated-clippy-cfg-attr = "warn" +deprecated-semver = "deny" +deref-addrof = "warn" +deref-by-slicing = "allow" +derivable-impls = "warn" +derive-ord-xor-partial-ord = "deny" +derive-partial-eq-without-eq = "allow" +derived-hash-with-manual-eq = "deny" +disallowed-fields = "warn" +disallowed-macros = "warn" +disallowed-methods = "warn" +disallowed-names = "warn" +disallowed-script-idents = "allow" +disallowed-types = "warn" +diverging-sub-expression = "warn" +doc-broken-link = "allow" +doc-comment-double-space-linebreaks = "allow" +doc-include-without-cfg = "allow" +doc-lazy-continuation = "warn" +doc-link-code = "allow" +doc-link-with-quotes = "allow" +doc-markdown = "allow" +doc-nested-refdefs = "warn" +doc-overindented-list-items = "warn" +doc-paragraphs-missing-punctuation = "allow" +doc-suspicious-footnotes = "warn" +double-comparisons = "warn" +double-ended-iterator-last = "warn" +double-must-use = "warn" +double-parens = "warn" +drain-collect = "warn" +drop-non-drop = "warn" +duplicate-mod = "warn" +duplicate-underscore-argument = "warn" +duplicated-attributes = "warn" +duration-suboptimal-units = "allow" +duration-subsec = "warn" +eager-transmute = "deny" +elidable-lifetime-names = "allow" +else-if-without-else = "allow" +empty-docs = "warn" +empty-drop = "allow" +empty-enum-variants-with-brackets = "allow" +empty-enums = "allow" +empty-line-after-doc-comments = "warn" +empty-line-after-outer-attr = "warn" +empty-loop = "warn" +empty-structs-with-brackets = "allow" +enum-clike-unportable-variant = "deny" +enum-glob-use = "allow" +enum-variant-names = "warn" +eq-op = "deny" +equatable-if-let = "allow" +erasing-op = "deny" +err-expect = "warn" +error-impl-error = "allow" +excessive-nesting = "warn" +excessive-precision = "warn" +exhaustive-enums = "allow" +exhaustive-structs = "allow" +exit = "allow" +expect-fun-call = "warn" +expect-used = "allow" +expl-impl-clone-on-copy = "allow" +explicit-auto-deref = "warn" +explicit-counter-loop = "warn" +explicit-deref-methods = "allow" +explicit-into-iter-loop = "allow" +explicit-iter-loop = "allow" +explicit-write = "warn" +extend-with-drain = "warn" +extra-unused-lifetimes = "warn" +extra-unused-type-parameters = "warn" +fallible-impl-from = "allow" +field-reassign-with-default = "warn" +field-scoped-visibility-modifiers = "allow" +filetype-is-file = "allow" +filter-map-bool-then = "warn" +filter-map-identity = "warn" +filter-map-next = "allow" +filter-next = "warn" +flat-map-identity = "warn" +flat-map-option = "allow" +float-arithmetic = "allow" +float-cmp = "allow" +float-cmp-const = "allow" +float-equality-without-abs = "warn" +fn-params-excessive-bools = "allow" +fn-to-numeric-cast = "warn" +fn-to-numeric-cast-any = "allow" +fn-to-numeric-cast-with-truncation = "warn" +for-kv-map = "warn" +forget-non-drop = "warn" +format-collect = "allow" +format-in-format-args = "warn" +format-push-string = "allow" +four-forward-slashes = "warn" +from-iter-instead-of-collect = "allow" +from-over-into = "warn" +from-raw-with-void-ptr = "warn" +from-str-radix-10 = "warn" +future-not-send = "allow" +get-first = "warn" +get-last-with-len = "warn" +get-unwrap = "allow" +host-endian-bytes = "allow" +identity-op = "warn" +if-let-mutex = "deny" +if-not-else = "allow" +if-same-then-else = "warn" +if-then-some-else-none = "allow" +ifs-same-cond = "deny" +ignore-without-reason = "allow" +ignored-unit-patterns = "allow" +impl-hash-borrow-with-str-and-bytes = "deny" +impl-trait-in-params = "allow" +implicit-clone = "allow" +implicit-hasher = "allow" +implicit-return = "allow" +implicit-saturating-add = "warn" +implicit-saturating-sub = "warn" +implied-bounds-in-impls = "warn" +impossible-comparisons = "deny" +imprecise-flops = "allow" +incompatible-msrv = "warn" +inconsistent-digit-grouping = "warn" +inconsistent-struct-constructor = "allow" +index-refutable-slice = "allow" +indexing-slicing = "allow" +ineffective-bit-mask = "deny" +ineffective-open-options = "warn" +inefficient-to-string = "allow" +infallible-destructuring-match = "warn" +infallible-try-from = "warn" +infinite-iter = "deny" +infinite-loop = "allow" +inherent-to-string = "warn" +inherent-to-string-shadow-display = "deny" +init-numbered-fields = "warn" +inline-always = "allow" +inline-asm-x86-att-syntax = "allow" +inline-asm-x86-intel-syntax = "allow" +inline-fn-without-body = "deny" +inspect-for-each = "warn" +int-plus-one = "warn" +integer-division = "allow" +integer-division-remainder-used = "allow" +into-iter-on-ref = "warn" +into-iter-without-iter = "allow" +invalid-regex = "deny" +invalid-upcast-comparisons = "allow" +inverted-saturating-sub = "deny" +invisible-characters = "deny" +io-other-error = "warn" +ip-constant = "allow" +is-digit-ascii-radix = "warn" +items-after-statements = "allow" +items-after-test-module = "warn" +iter-cloned-collect = "warn" +iter-count = "warn" +iter-filter-is-ok = "allow" +iter-filter-is-some = "allow" +iter-kv-map = "warn" +iter-next-loop = "deny" +iter-next-slice = "warn" +iter-not-returning-iterator = "allow" +iter-nth = "warn" +iter-nth-zero = "warn" +iter-on-empty-collections = "allow" +iter-on-single-items = "allow" +iter-out-of-bounds = "warn" +iter-over-hash-type = "allow" +iter-overeager-cloned = "warn" +iter-skip-next = "warn" +iter-skip-zero = "deny" +iter-with-drain = "allow" +iter-without-into-iter = "allow" +iterator-step-by-zero = "deny" +join-absolute-paths = "warn" +just-underscores-and-digits = "warn" +large-const-arrays = "warn" +large-digit-groups = "allow" +large-enum-variant = "warn" +large-futures = "allow" +large-include-file = "allow" +large-stack-arrays = "allow" +large-stack-frames = "allow" +large-types-passed-by-value = "allow" +legacy-numeric-constants = "warn" +len-without-is-empty = "warn" +len-zero = "warn" +let-and-return = "warn" +let-underscore-future = "warn" +let-underscore-lock = "deny" +let-underscore-must-use = "allow" +let-underscore-untyped = "allow" +let-unit-value = "warn" +let-with-type-underscore = "warn" +lines-filter-map-ok = "warn" +linkedlist = "allow" +lint-groups-priority = "deny" +literal-string-with-formatting-args = "allow" +little-endian-bytes = "allow" +lossy-float-literal = "allow" +macro-metavars-in-unsafe = "warn" +macro-use-imports = "allow" +main-recursion = "warn" +manual-abs-diff = "warn" +manual-assert = "allow" +manual-async-fn = "warn" +manual-bits = "warn" +manual-c-str-literals = "warn" +manual-checked-ops = "warn" +manual-clamp = "warn" +manual-contains = "warn" +manual-dangling-ptr = "warn" +manual-div-ceil = "warn" +manual-filter = "warn" +manual-filter-map = "warn" +manual-find = "warn" +manual-find-map = "warn" +manual-flatten = "warn" +manual-hash-one = "warn" +manual-ignore-case-cmp = "warn" +manual-ilog2 = "allow" +manual-inspect = "warn" +manual-instant-elapsed = "allow" +manual-is-ascii-check = "warn" +manual-is-finite = "warn" +manual-is-infinite = "warn" +manual-is-multiple-of = "warn" +manual-is-power-of-two = "allow" +manual-is-variant-and = "allow" +manual-let-else = "allow" +manual-main-separator-str = "warn" +manual-map = "warn" +manual-memcpy = "warn" +manual-midpoint = "allow" +manual-next-back = "warn" +manual-non-exhaustive = "warn" +manual-ok-err = "warn" +manual-ok-or = "warn" +manual-option-as-slice = "warn" +manual-pattern-char-comparison = "warn" +manual-range-contains = "warn" +manual-range-patterns = "warn" +manual-rem-euclid = "warn" +manual-repeat-n = "warn" +manual-retain = "warn" +manual-rotate = "warn" +manual-saturating-arithmetic = "warn" +manual-slice-fill = "warn" +manual-slice-size-calculation = "warn" +manual-split-once = "warn" +manual-str-repeat = "warn" +manual-string-new = "allow" +manual-strip = "warn" +manual-swap = "warn" +manual-take = "warn" +manual-try-fold = "warn" +manual-unwrap-or = "warn" +manual-unwrap-or-default = "warn" +manual-while-let-some = "warn" +many-single-char-names = "allow" +map-all-any-identity = "warn" +map-clone = "warn" +map-collect-result-unit = "warn" +map-entry = "warn" +map-err-ignore = "allow" +map-flatten = "warn" +map-identity = "warn" +map-unwrap-or = "allow" +map-with-unused-argument-over-ranges = "allow" +match-as-ref = "warn" +match-bool = "allow" +match-like-matches-macro = "warn" +match-overlapping-arm = "warn" +match-ref-pats = "warn" +match-result-ok = "warn" +match-same-arms = "allow" +match-single-binding = "warn" +match-str-case-mismatch = "deny" +match-wild-err-arm = "allow" +match-wildcard-for-single-variants = "allow" +maybe-infinite-iter = "allow" +mem-forget = "allow" +mem-replace-option-with-none = "warn" +mem-replace-option-with-some = "warn" +mem-replace-with-default = "warn" +mem-replace-with-uninit = "deny" +min-ident-chars = "allow" +min-max = "deny" +mismatching-type-param-order = "allow" +misnamed-getters = "warn" +misrefactored-assign-op = "warn" +missing-assert-message = "allow" +missing-asserts-for-indexing = "allow" +missing-const-for-fn = "allow" +missing-const-for-thread-local = "warn" +missing-docs-in-private-items = "allow" +missing-enforced-import-renames = "warn" +missing-errors-doc = "allow" +missing-fields-in-debug = "allow" +missing-inline-in-public-items = "allow" +missing-panics-doc = "allow" +missing-safety-doc = "warn" +missing-spin-loop = "warn" +missing-trait-methods = "allow" +missing-transmute-annotations = "warn" +mistyped-literal-suffixes = "deny" +mixed-attributes-style = "warn" +mixed-case-hex-literals = "warn" +mixed-read-write-in-expression = "allow" +mod-module-files = "allow" +module-inception = "warn" +module-name-repetitions = "allow" +modulo-arithmetic = "allow" +modulo-one = "deny" +multi-assignments = "warn" +multiple-bound-locations = "warn" +multiple-crate-versions = "allow" +multiple-inherent-impl = "allow" +multiple-unsafe-ops-per-block = "allow" +must-use-candidate = "allow" +must-use-unit = "warn" +mut-from-ref = "deny" +mut-mut = "allow" +mut-mutex-lock = "warn" +mut-range-bound = "warn" +mutable-key-type = "warn" +mutex-atomic = "allow" +mutex-integer = "allow" +naive-bytecount = "allow" +needless-arbitrary-self-type = "warn" +needless-as-bytes = "warn" +needless-bitwise-bool = "allow" +needless-bool = "warn" +needless-bool-assign = "warn" +needless-borrow = "warn" +needless-borrowed-reference = "warn" +needless-borrows-for-generic-args = "warn" +needless-character-iteration = "warn" +needless-collect = "allow" +needless-continue = "allow" +needless-doctest-main = "warn" +needless-else = "warn" +needless-for-each = "allow" +needless-ifs = "warn" +needless-late-init = "warn" +needless-lifetimes = "warn" +needless-match = "warn" +needless-maybe-sized = "warn" +needless-option-as-deref = "warn" +needless-option-take = "warn" +needless-parens-on-range-literals = "warn" +needless-pass-by-ref-mut = "allow" +needless-pass-by-value = "allow" +needless-pub-self = "warn" +needless-question-mark = "warn" +needless-range-loop = "warn" +needless-raw-string-hashes = "allow" +needless-raw-strings = "allow" +needless-return = "warn" +needless-return-with-question-mark = "warn" +needless-splitn = "warn" +needless-type-cast = "allow" +needless-update = "warn" +neg-cmp-op-on-partial-ord = "warn" +neg-multiply = "warn" +negative-feature-names = "allow" +never-loop = "deny" +new-ret-no-self = "warn" +new-without-default = "warn" +no-effect = "warn" +no-effect-replace = "warn" +no-effect-underscore-binding = "allow" +no-mangle-with-rust-abi = "allow" +non-ascii-literal = "allow" +non-canonical-clone-impl = "warn" +non-canonical-partial-ord-impl = "warn" +non-minimal-cfg = "warn" +non-octal-unix-permissions = "deny" +non-send-fields-in-send-ty = "allow" +non-std-lazy-statics = "allow" +non-zero-suggestions = "allow" +nonminimal-bool = "warn" +nonsensical-open-options = "deny" +nonstandard-macro-braces = "allow" +not-unsafe-ptr-arg-deref = "deny" +obfuscated-if-else = "warn" +octal-escapes = "warn" +ok-expect = "warn" +only-used-in-recursion = "warn" +op-ref = "warn" +option-as-ref-cloned = "allow" +option-as-ref-deref = "warn" +option-env-unwrap = "deny" +option-filter-map = "warn" +option-if-let-else = "allow" +option-map-or-none = "warn" +option-map-unit-fn = "warn" +option-option = "allow" +or-fun-call = "allow" +or-then-unwrap = "warn" +out-of-bounds-indexing = "deny" +overly-complex-bool-expr = "deny" +owned-cow = "warn" +panic = "allow" +panic-in-result-fn = "allow" +panicking-overflow-checks = "deny" +panicking-unwrap = "deny" +partial-pub-fields = "allow" +partialeq-ne-impl = "warn" +partialeq-to-none = "warn" +path-buf-push-overwrite = "allow" +path-ends-with-ext = "warn" +pathbuf-init-then-push = "allow" +pattern-type-mismatch = "allow" +permissions-set-readonly-false = "warn" +pointer-format = "allow" +pointers-in-nomem-asm-block = "warn" +possible-missing-comma = "deny" +possible-missing-else = "warn" +precedence = "warn" +precedence-bits = "allow" +print-in-format-impl = "warn" +print-literal = "warn" +print-stderr = "allow" +print-stdout = "allow" +print-with-newline = "warn" +println-empty-string = "warn" +ptr-arg = "warn" +ptr-as-ptr = "allow" +ptr-cast-constness = "allow" +ptr-eq = "warn" +ptr-offset-by-literal = "allow" +ptr-offset-with-cast = "warn" +pub-underscore-fields = "allow" +pub-use = "allow" +pub-with-shorthand = "allow" +pub-without-shorthand = "allow" +question-mark = "warn" +question-mark-used = "allow" +range-minus-one = "allow" +range-plus-one = "allow" +range-zip-with-len = "warn" +rc-buffer = "allow" +rc-clone-in-vec-init = "warn" +rc-mutex = "allow" +read-line-without-trim = "deny" +read-zero-byte-vec = "allow" +readonly-write-lock = "warn" +recursive-format-impl = "deny" +redundant-allocation = "warn" +redundant-as-str = "warn" +redundant-async-block = "warn" +redundant-at-rest-pattern = "warn" +redundant-clone = "allow" +redundant-closure = "warn" +redundant-closure-call = "warn" +redundant-closure-for-method-calls = "allow" +redundant-comparisons = "deny" +redundant-else = "allow" +redundant-feature-names = "allow" +redundant-field-names = "warn" +redundant-guards = "warn" +redundant-iter-cloned = "warn" +redundant-locals = "warn" +redundant-pattern = "warn" +redundant-pattern-matching = "warn" +redundant-pub-crate = "allow" +redundant-slicing = "warn" +redundant-static-lifetimes = "warn" +redundant-test-prefix = "allow" +redundant-type-annotations = "allow" +ref-as-ptr = "allow" +ref-binding-to-reference = "allow" +ref-option = "allow" +ref-option-ref = "allow" +ref-patterns = "allow" +regex-creation-in-loops = "warn" +renamed-function-params = "allow" +repeat-once = "warn" +repeat-vec-with-capacity = "warn" +replace-box = "warn" +repr-packed-without-abi = "warn" +reserve-after-initialization = "warn" +rest-pat-in-fully-bound-structs = "allow" +result-filter-map = "warn" +result-large-err = "warn" +result-map-or-into-option = "warn" +result-map-unit-fn = "warn" +result-unit-err = "warn" +return-and-then = "allow" +return-self-not-must-use = "allow" +reversed-empty-ranges = "deny" +same-functions-in-if-condition = "allow" +same-item-push = "warn" +same-length-and-capacity = "allow" +same-name-method = "allow" +search-is-some = "allow" +seek-from-current = "warn" +seek-to-start-instead-of-rewind = "warn" +self-assignment = "deny" +self-named-constructors = "warn" +self-named-module-files = "allow" +self-only-used-in-recursion = "allow" +semicolon-if-nothing-returned = "allow" +semicolon-inside-block = "allow" +semicolon-outside-block = "allow" +separated-literal-suffix = "allow" +serde-api-misuse = "deny" +set-contains-or-insert = "allow" +shadow-reuse = "allow" +shadow-same = "allow" +shadow-unrelated = "allow" +short-circuit-statement = "warn" +should-implement-trait = "warn" +should-panic-without-expect = "allow" +significant-drop-in-scrutinee = "allow" +significant-drop-tightening = "allow" +similar-names = "allow" +single-call-fn = "allow" +single-char-add-str = "warn" +single-char-lifetime-names = "allow" +single-char-pattern = "allow" +single-component-path-imports = "warn" +single-element-loop = "warn" +single-match = "warn" +single-match-else = "allow" +single-option-map = "allow" +single-range-in-vec-init = "warn" +size-of-in-element-count = "deny" +size-of-ref = "warn" +skip-while-next = "warn" +sliced-string-as-bytes = "warn" +slow-vector-initialization = "warn" +stable-sort-primitive = "allow" +std-instead-of-alloc = "allow" +std-instead-of-core = "allow" +str-split-at-newline = "allow" +str-to-string = "allow" +string-add = "allow" +string-add-assign = "allow" +string-extend-chars = "warn" +string-from-utf8-as-bytes = "warn" +string-lit-as-bytes = "allow" +string-lit-chars-any = "allow" +string-slice = "allow" +strlen-on-c-strings = "warn" +struct-excessive-bools = "allow" +struct-field-names = "allow" +suboptimal-flops = "allow" +suspicious-arithmetic-impl = "warn" +suspicious-assignment-formatting = "warn" +suspicious-command-arg-space = "warn" +suspicious-doc-comments = "warn" +suspicious-else-formatting = "warn" +suspicious-map = "warn" +suspicious-op-assign-impl = "warn" +suspicious-open-options = "warn" +suspicious-operation-groupings = "allow" +suspicious-splitn = "deny" +suspicious-to-owned = "warn" +suspicious-unary-op-formatting = "warn" +suspicious-xor-used-as-pow = "allow" +swap-ptr-to-ref = "warn" +swap-with-temporary = "warn" +tabs-in-doc-comments = "warn" +temporary-assignment = "warn" +test-attr-in-doctest = "warn" +tests-outside-test-module = "allow" +to-digit-is-some = "warn" +to-string-in-format-args = "warn" +to-string-trait-impl = "warn" +todo = "allow" +too-long-first-doc-paragraph = "allow" +too-many-arguments = "warn" +too-many-lines = "allow" +toplevel-ref-arg = "warn" +trailing-empty-array = "allow" +trait-duplication-in-bounds = "allow" +transmute-bytes-to-str = "warn" +transmute-int-to-bool = "warn" +transmute-int-to-non-zero = "warn" +transmute-null-to-fn = "deny" +transmute-ptr-to-ptr = "allow" +transmute-ptr-to-ref = "warn" +transmute-undefined-repr = "allow" +transmutes-expressible-as-ptr-casts = "warn" +transmuting-null = "deny" +trim-split-whitespace = "warn" +trivial-regex = "allow" +trivially-copy-pass-by-ref = "allow" +try-err = "allow" +tuple-array-conversions = "allow" +type-complexity = "warn" +type-id-on-box = "warn" +type-repetition-in-bounds = "allow" +unbuffered-bytes = "warn" +unchecked-time-subtraction = "allow" +unconditional-recursion = "warn" +undocumented-unsafe-blocks = "allow" +unicode-not-nfc = "allow" +unimplemented = "allow" +uninhabited-references = "allow" +uninit-assumed-init = "deny" +uninit-vec = "deny" +uninlined-format-args = "allow" +unit-arg = "warn" +unit-cmp = "deny" +unit-hash = "deny" +unit-return-expecting-ord = "deny" +unnecessary-box-returns = "allow" +unnecessary-cast = "warn" +unnecessary-clippy-cfg = "warn" +unnecessary-debug-formatting = "allow" +unnecessary-fallible-conversions = "warn" +unnecessary-filter-map = "warn" +unnecessary-find-map = "warn" +unnecessary-first-then-check = "warn" +unnecessary-fold = "warn" +unnecessary-get-then-check = "warn" +unnecessary-join = "allow" +unnecessary-lazy-evaluations = "warn" +unnecessary-literal-bound = "allow" +unnecessary-literal-unwrap = "warn" +unnecessary-map-on-constructor = "warn" +unnecessary-map-or = "warn" +unnecessary-min-or-max = "warn" +unnecessary-mut-passed = "warn" +unnecessary-operation = "warn" +unnecessary-option-map-or-else = "warn" +unnecessary-owned-empty-strings = "warn" +unnecessary-result-map-or-else = "warn" +unnecessary-safety-comment = "allow" +unnecessary-safety-doc = "allow" +unnecessary-self-imports = "allow" +unnecessary-semicolon = "allow" +unnecessary-sort-by = "warn" +unnecessary-struct-initialization = "allow" +unnecessary-to-owned = "warn" +unnecessary-trailing-comma = "allow" +unnecessary-unwrap = "warn" +unnecessary-wraps = "allow" +unneeded-field-pattern = "allow" +unneeded-struct-pattern = "warn" +unneeded-wildcard-pattern = "warn" +unnested-or-patterns = "allow" +unreachable = "allow" +unreadable-literal = "allow" +unsafe-derive-deserialize = "allow" +unsafe-removed-from-name = "warn" +unseparated-literal-suffix = "allow" +unsound-collection-transmute = "deny" +unused-async = "allow" +unused-enumerate-index = "warn" +unused-format-specs = "warn" +unused-io-amount = "deny" +unused-peekable = "allow" +unused-result-ok = "allow" +unused-rounding = "allow" +unused-self = "allow" +unused-trait-names = "allow" +unused-unit = "warn" +unusual-byte-groupings = "warn" +unwrap-in-result = "allow" +unwrap-or-default = "warn" +unwrap-used = "allow" +upper-case-acronyms = "warn" +use-debug = "allow" +use-self = "allow" +used-underscore-binding = "allow" +used-underscore-items = "allow" +useless-asref = "warn" +useless-attribute = "deny" +useless-concat = "warn" +useless-conversion = "warn" +useless-format = "warn" +useless-let-if-seq = "allow" +useless-nonzero-new-unchecked = "warn" +useless-transmute = "warn" +useless-vec = "warn" +vec-box = "warn" +vec-init-then-push = "warn" +vec-resize-to-zero = "deny" +verbose-bit-mask = "allow" +verbose-file-reads = "allow" +volatile-composites = "allow" +waker-clone-wake = "warn" +while-float = "allow" +while-immutable-condition = "deny" +while-let-loop = "warn" +while-let-on-iterator = "warn" +wildcard-dependencies = "allow" +wildcard-enum-match-arm = "allow" +wildcard-imports = "allow" +wildcard-in-or-patterns = "warn" +write-literal = "warn" +write-with-newline = "warn" +writeln-empty-string = "warn" +wrong-self-convention = "warn" +wrong-transmute = "deny" +zero-divided-by-zero = "warn" +zero-prefixed-literal = "warn" +zero-ptr = "warn" +zero-repeat-side-effects = "warn" +zero-sized-map-values = "allow" +zombie-processes = "warn" +zst-offset = "deny" + +[workspace.lints.rust] +aarch64-softfloat-neon = "warn" +absolute-paths-not-starting-with-crate = "allow" +ambiguous-associated-items = "deny" +ambiguous-derive-helpers = "warn" +ambiguous-glob-imported-traits = "warn" +ambiguous-glob-imports = "warn" +ambiguous-glob-reexports = "warn" +ambiguous-import-visibilities = "warn" +ambiguous-negative-literals = "allow" +ambiguous-panic-imports = "warn" +ambiguous-wide-pointer-comparisons = "warn" +anonymous-parameters = "warn" +arithmetic-overflow = "deny" +array-into-iter = "warn" +asm-sub-register = "warn" +async-fn-in-trait = "warn" +bad-asm-style = "warn" +bare-trait-objects = "warn" +binary-asm-labels = "deny" +bindings-with-variant-name = "deny" +boxed-slice-into-iter = "warn" +break-with-label-and-loop = "warn" +clashing-extern-declarations = "warn" +closure-returning-async-block = "allow" +coherence-leak-check = "warn" +conflicting-repr-hints = "deny" +confusable-idents = "warn" +const-evaluatable-unchecked = "warn" +const-item-interior-mutations = "warn" +const-item-mutation = "warn" +dangerous-implicit-autorefs = "deny" +dangling-pointers-from-locals = "warn" +dangling-pointers-from-temporaries = "warn" +dead-code = "warn" +default-overrides-default-fields = "deny" +dependency-on-unit-never-type-fallback = "deny" +deprecated = "warn" +deprecated-in-future = "allow" +deprecated-safe-2024 = "allow" +deprecated-where-clause-location = "warn" +deref-into-dyn-supertrait = "allow" +deref-nullptr = "deny" +double-negations = "warn" +drop-bounds = "warn" +dropping-copy-types = "warn" +dropping-references = "warn" +duplicate-macro-attributes = "warn" +dyn-drop = "warn" +edition-2024-expr-fragment-specifier = "allow" +elided-lifetimes-in-associated-constant = "deny" +elided-lifetimes-in-paths = "allow" +ellipsis-inclusive-range-patterns = "warn" +enum-intrinsics-non-enums = "deny" +explicit-builtin-cfgs-in-flags = "deny" +explicit-outlives-requirements = "allow" +exported-private-dependencies = "warn" +ffi-unwind-calls = "allow" +for-loops-over-fallibles = "warn" +forbidden-lint-groups = "warn" +forgetting-copy-types = "warn" +forgetting-references = "warn" +function-casts-as-integer = "warn" +function-item-references = "warn" +fuzzy-provenance-casts = "allow" +hidden-glob-reexports = "warn" +if-let-rescope = "allow" +ill-formed-attribute-input = "deny" +impl-trait-overcaptures = "allow" +impl-trait-redundant-captures = "allow" +improper-ctypes = "warn" +improper-ctypes-definitions = "warn" +improper-gpu-kernel-arg = "warn" +incomplete-features = "warn" +incomplete-include = "deny" +ineffective-unstable-trait-impl = "deny" +inline-always-mismatching-target-features = "warn" +inline-no-sanitize = "warn" +integer-to-ptr-transmutes = "warn" +internal-eq-trait-method-impls = "warn" +internal-features = "warn" +invalid-atomic-ordering = "deny" +invalid-doc-attributes = "warn" +invalid-from-utf8 = "warn" +invalid-from-utf8-unchecked = "deny" +invalid-macro-export-arguments = "deny" +invalid-nan-comparisons = "warn" +invalid-null-arguments = "deny" +invalid-reference-casting = "deny" +invalid-type-param-default = "deny" +invalid-value = "warn" +irrefutable-let-patterns = "warn" +keyword-idents-2018 = "allow" +keyword-idents-2024 = "allow" +large-assignments = "warn" +late-bound-lifetime-arguments = "warn" +legacy-derive-helpers = "deny" +let-underscore-drop = "allow" +let-underscore-lock = "deny" +linker-messages = "allow" +long-running-const-eval = "deny" +lossy-provenance-casts = "allow" +macro-expanded-macro-exports-accessed-by-absolute-paths = "deny" +macro-use-extern-crate = "allow" +malformed-diagnostic-attributes = "warn" +malformed-diagnostic-format-literals = "warn" +map-unit-fn = "warn" +meta-variable-misuse = "allow" +mismatched-lifetime-syntaxes = "warn" +misplaced-diagnostic-attributes = "warn" +missing-abi = "warn" +missing-copy-implementations = "allow" +missing-debug-implementations = "allow" +missing-docs = "allow" +missing-gpu-kernel-export-name = "warn" +missing-unsafe-on-extern = "allow" +mixed-script-confusables = "warn" +multiple-supertrait-upcastable = "allow" +must-not-suspend = "allow" +mutable-transmutes = "deny" +named-arguments-used-positionally = "warn" +named-asm-labels = "deny" +never-type-fallback-flowing-into-unsafe = "deny" +no-mangle-const-items = "deny" +no-mangle-generic-items = "warn" +non-ascii-idents = "allow" +non-camel-case-types = "warn" +non-contiguous-range-endpoints = "warn" +non-exhaustive-omitted-patterns = "allow" +non-fmt-panics = "warn" +non-local-definitions = "warn" +non-shorthand-field-patterns = "warn" +non-snake-case = "warn" +non-upper-case-globals = "warn" +noop-method-call = "warn" +opaque-hidden-inferred-bound = "warn" +out-of-scope-macro-calls = "deny" +overflowing-literals = "deny" +overlapping-range-endpoints = "warn" +path-statements = "warn" +patterns-in-fns-without-body = "deny" +private-bounds = "warn" +private-interfaces = "warn" +proc-macro-derive-resolution-fallback = "deny" +ptr-to-integer-transmute-in-consts = "warn" +pub-use-of-private-extern-crate = "deny" +redundant-imports = "allow" +redundant-lifetimes = "allow" +redundant-semicolons = "warn" +refining-impl-trait-internal = "warn" +refining-impl-trait-reachable = "warn" +renamed-and-removed-lints = "warn" +repr-c-enums-larger-than-int = "warn" +repr-transparent-non-zst-fields = "deny" +resolving-to-items-shadowing-supertrait-items = "allow" +rtsan-nonblocking-async = "warn" +rust-2021-incompatible-closure-captures = "allow" +rust-2021-incompatible-or-patterns = "allow" +rust-2021-prefixes-incompatible-syntax = "allow" +rust-2021-prelude-collisions = "allow" +rust-2024-guarded-string-incompatible-syntax = "allow" +rust-2024-incompatible-pat = "allow" +rust-2024-prelude-collisions = "allow" +self-constructor-from-outer-item = "warn" +semicolon-in-expressions-from-macros = "deny" +shadowing-supertrait-items = "allow" +single-use-lifetimes = "allow" +soft-unstable = "deny" +special-module-name = "warn" +stable-features = "warn" +static-mut-refs = "warn" +suspicious-double-ref-op = "warn" +tail-expr-drop-order = "allow" +test-unstable-lint = "deny" +text-direction-codepoint-in-comment = "deny" +text-direction-codepoint-in-literal = "deny" +trivial-bounds = "warn" +trivial-casts = "allow" +trivial-numeric-casts = "allow" +type-alias-bounds = "warn" +tyvar-behind-raw-pointer = "warn" +uncommon-codepoints = "warn" +unconditional-panic = "deny" +unconditional-recursion = "warn" +uncovered-param-in-projection = "warn" +undropped-manually-drops = "deny" +unexpected-cfgs = "warn" +unfulfilled-lint-expectations = "warn" +ungated-async-fn-track-caller = "warn" +uninhabited-static = "warn" +unit-bindings = "allow" +unknown-crate-types = "deny" +unknown-diagnostic-attributes = "warn" +unknown-lints = "warn" +unnameable-test-items = "warn" +unnameable-types = "allow" +unnecessary-transmutes = "warn" +unpredictable-function-pointer-comparisons = "warn" +unqualified-local-imports = "allow" +unreachable-cfg-select-predicates = "warn" +unreachable-code = "warn" +unreachable-patterns = "warn" +unreachable-pub = "allow" +unsafe-attr-outside-unsafe = "allow" +unsafe-code = "allow" +unsafe-op-in-unsafe-fn = "allow" +unstable-features = "allow" +unstable-name-collisions = "warn" +unstable-syntax-pre-expansion = "warn" +unsupported-calling-conventions = "warn" +unused-allocation = "warn" +unused-assignments = "warn" +unused-associated-type-bounds = "warn" +unused-attributes = "warn" +unused-braces = "warn" +unused-comparisons = "warn" +unused-crate-dependencies = "allow" +unused-doc-comments = "warn" +unused-extern-crates = "allow" +unused-features = "warn" +unused-import-braces = "allow" +unused-imports = "warn" +unused-labels = "warn" +unused-lifetimes = "allow" +unused-macro-rules = "allow" +unused-macros = "warn" +unused-must-use = "warn" +unused-mut = "warn" +unused-parens = "warn" +unused-qualifications = "allow" +unused-results = "allow" +unused-unsafe = "warn" +unused-variables = "warn" +unused-visibilities = "warn" +useless-deprecated = "deny" +useless-ptr-null-checks = "warn" +uses-power-alignment = "warn" +varargs-without-pattern = "warn" +variant-size-differences = "allow" +warnings = "warn" +while-true = "warn" + +[workspace.lints.rustdoc] +bare-urls = "warn" +broken-intra-doc-links = "warn" +invalid-codeblock-attributes = "warn" +invalid-html-tags = "warn" +invalid-rust-codeblocks = "warn" +missing-crate-level-docs = "allow" +missing-doc-code-examples = "allow" +private-doc-tests = "allow" +private-intra-doc-links = "warn" +redundant-explicit-links = "warn" +unescaped-backticks = "allow" diff --git a/lints/1.96.toml b/lints/1.96.toml new file mode 100644 index 0000000..e0c48b6 --- /dev/null +++ b/lints/1.96.toml @@ -0,0 +1,1066 @@ +[workspace.lints.clippy] +absolute-paths = "allow" +absurd-extreme-comparisons = "deny" +alloc-instead-of-core = "allow" +allow-attributes = "allow" +allow-attributes-without-reason = "allow" +almost-complete-range = "warn" +almost-swapped = "deny" +approx-constant = "deny" +arbitrary-source-item-ordering = "allow" +arc-with-non-send-sync = "warn" +arithmetic-side-effects = "allow" +as-conversions = "allow" +as-pointer-underscore = "allow" +as-ptr-cast-mut = "allow" +as-underscore = "allow" +assertions-on-constants = "warn" +assertions-on-result-states = "allow" +assign-op-pattern = "warn" +assigning-clones = "allow" +async-yields-async = "deny" +await-holding-invalid-type = "warn" +await-holding-lock = "warn" +await-holding-refcell-ref = "warn" +bad-bit-mask = "deny" +big-endian-bytes = "allow" +bind-instead-of-map = "warn" +blanket-clippy-restriction-lints = "warn" +blocks-in-conditions = "warn" +bool-assert-comparison = "warn" +bool-comparison = "warn" +bool-to-int-with-if = "allow" +borrow-as-ptr = "allow" +borrow-deref-ref = "warn" +borrow-interior-mutable-const = "warn" +borrowed-box = "warn" +box-collection = "warn" +box-default = "warn" +boxed-local = "warn" +branches-sharing-code = "allow" +builtin-type-shadow = "warn" +byte-char-slices = "warn" +bytes-count-to-len = "warn" +bytes-nth = "warn" +cargo-common-metadata = "allow" +case-sensitive-file-extension-comparisons = "allow" +cast-abs-to-unsigned = "warn" +cast-enum-constructor = "warn" +cast-enum-truncation = "warn" +cast-lossless = "allow" +cast-nan-to-int = "warn" +cast-possible-truncation = "allow" +cast-possible-wrap = "allow" +cast-precision-loss = "allow" +cast-ptr-alignment = "allow" +cast-sign-loss = "allow" +cast-slice-different-sizes = "deny" +cast-slice-from-raw-parts = "warn" +cfg-not-test = "allow" +char-indices-as-byte-indices = "deny" +char-lit-as-u8 = "warn" +chars-last-cmp = "warn" +chars-next-cmp = "warn" +checked-conversions = "allow" +clear-with-drain = "allow" +clone-on-copy = "warn" +clone-on-ref-ptr = "allow" +cloned-instead-of-copied = "allow" +cloned-ref-to-slice-refs = "warn" +cmp-null = "warn" +cmp-owned = "warn" +coerce-container-to-any = "allow" +cognitive-complexity = "allow" +collapsible-else-if = "allow" +collapsible-if = "warn" +collapsible-match = "warn" +collapsible-str-replace = "warn" +collection-is-never-read = "allow" +comparison-chain = "allow" +comparison-to-empty = "warn" +confusing-method-to-numeric-cast = "warn" +const-is-empty = "warn" +copy-iterator = "allow" +crate-in-macro-def = "warn" +create-dir = "allow" +crosspointer-transmute = "warn" +dbg-macro = "allow" +debug-assert-with-mut-call = "allow" +decimal-bitwise-operands = "allow" +decimal-literal-representation = "allow" +declare-interior-mutable-const = "warn" +default-constructed-unit-structs = "warn" +default-instead-of-iter-empty = "warn" +default-numeric-fallback = "allow" +default-trait-access = "allow" +default-union-representation = "allow" +deprecated-cfg-attr = "warn" +deprecated-clippy-cfg-attr = "warn" +deprecated-semver = "deny" +deref-addrof = "warn" +deref-by-slicing = "allow" +derivable-impls = "warn" +derive-ord-xor-partial-ord = "deny" +derive-partial-eq-without-eq = "allow" +derived-hash-with-manual-eq = "deny" +disallowed-fields = "warn" +disallowed-macros = "warn" +disallowed-methods = "warn" +disallowed-names = "warn" +disallowed-script-idents = "allow" +disallowed-types = "warn" +diverging-sub-expression = "warn" +doc-broken-link = "allow" +doc-comment-double-space-linebreaks = "allow" +doc-include-without-cfg = "allow" +doc-lazy-continuation = "warn" +doc-link-code = "allow" +doc-link-with-quotes = "allow" +doc-markdown = "allow" +doc-nested-refdefs = "warn" +doc-overindented-list-items = "warn" +doc-paragraphs-missing-punctuation = "allow" +doc-suspicious-footnotes = "warn" +double-comparisons = "warn" +double-ended-iterator-last = "warn" +double-must-use = "warn" +double-parens = "warn" +drain-collect = "warn" +drop-non-drop = "warn" +duplicate-mod = "warn" +duplicate-underscore-argument = "warn" +duplicated-attributes = "warn" +duration-suboptimal-units = "allow" +duration-subsec = "warn" +eager-transmute = "deny" +elidable-lifetime-names = "allow" +else-if-without-else = "allow" +empty-docs = "warn" +empty-drop = "allow" +empty-enum-variants-with-brackets = "allow" +empty-enums = "allow" +empty-line-after-doc-comments = "warn" +empty-line-after-outer-attr = "warn" +empty-loop = "warn" +empty-structs-with-brackets = "allow" +enum-clike-unportable-variant = "deny" +enum-glob-use = "allow" +enum-variant-names = "warn" +eq-op = "deny" +equatable-if-let = "allow" +erasing-op = "deny" +err-expect = "warn" +error-impl-error = "allow" +excessive-nesting = "warn" +excessive-precision = "warn" +exhaustive-enums = "allow" +exhaustive-structs = "allow" +exit = "allow" +expect-fun-call = "warn" +expect-used = "allow" +expl-impl-clone-on-copy = "allow" +explicit-auto-deref = "warn" +explicit-counter-loop = "warn" +explicit-deref-methods = "allow" +explicit-into-iter-loop = "allow" +explicit-iter-loop = "allow" +explicit-write = "warn" +extend-with-drain = "warn" +extra-unused-lifetimes = "warn" +extra-unused-type-parameters = "warn" +fallible-impl-from = "allow" +field-reassign-with-default = "warn" +field-scoped-visibility-modifiers = "allow" +filetype-is-file = "allow" +filter-map-bool-then = "warn" +filter-map-identity = "warn" +filter-map-next = "allow" +filter-next = "warn" +flat-map-identity = "warn" +flat-map-option = "allow" +float-arithmetic = "allow" +float-cmp = "allow" +float-cmp-const = "allow" +float-equality-without-abs = "warn" +fn-params-excessive-bools = "allow" +fn-to-numeric-cast = "warn" +fn-to-numeric-cast-any = "allow" +fn-to-numeric-cast-with-truncation = "warn" +for-kv-map = "warn" +forget-non-drop = "warn" +format-collect = "allow" +format-in-format-args = "warn" +format-push-string = "allow" +four-forward-slashes = "warn" +from-iter-instead-of-collect = "allow" +from-over-into = "warn" +from-raw-with-void-ptr = "warn" +from-str-radix-10 = "warn" +future-not-send = "allow" +get-first = "warn" +get-last-with-len = "warn" +get-unwrap = "allow" +host-endian-bytes = "allow" +identity-op = "warn" +if-let-mutex = "deny" +if-not-else = "allow" +if-same-then-else = "warn" +if-then-some-else-none = "allow" +ifs-same-cond = "deny" +ignore-without-reason = "allow" +ignored-unit-patterns = "allow" +impl-hash-borrow-with-str-and-bytes = "deny" +impl-trait-in-params = "allow" +implicit-clone = "allow" +implicit-hasher = "allow" +implicit-return = "allow" +implicit-saturating-add = "warn" +implicit-saturating-sub = "warn" +implied-bounds-in-impls = "warn" +impossible-comparisons = "deny" +imprecise-flops = "allow" +incompatible-msrv = "warn" +inconsistent-digit-grouping = "warn" +inconsistent-struct-constructor = "allow" +index-refutable-slice = "allow" +indexing-slicing = "allow" +ineffective-bit-mask = "deny" +ineffective-open-options = "warn" +inefficient-to-string = "allow" +infallible-destructuring-match = "warn" +infallible-try-from = "warn" +infinite-iter = "deny" +infinite-loop = "allow" +inherent-to-string = "warn" +inherent-to-string-shadow-display = "deny" +init-numbered-fields = "warn" +inline-always = "allow" +inline-asm-x86-att-syntax = "allow" +inline-asm-x86-intel-syntax = "allow" +inline-fn-without-body = "deny" +inspect-for-each = "warn" +int-plus-one = "warn" +integer-division = "allow" +integer-division-remainder-used = "allow" +into-iter-on-ref = "warn" +into-iter-without-iter = "allow" +invalid-regex = "deny" +invalid-upcast-comparisons = "allow" +inverted-saturating-sub = "deny" +invisible-characters = "deny" +io-other-error = "warn" +ip-constant = "allow" +is-digit-ascii-radix = "warn" +items-after-statements = "allow" +items-after-test-module = "warn" +iter-cloned-collect = "warn" +iter-count = "warn" +iter-filter-is-ok = "allow" +iter-filter-is-some = "allow" +iter-kv-map = "warn" +iter-next-loop = "deny" +iter-next-slice = "warn" +iter-not-returning-iterator = "allow" +iter-nth = "warn" +iter-nth-zero = "warn" +iter-on-empty-collections = "allow" +iter-on-single-items = "allow" +iter-out-of-bounds = "warn" +iter-over-hash-type = "allow" +iter-overeager-cloned = "warn" +iter-skip-next = "warn" +iter-skip-zero = "deny" +iter-with-drain = "allow" +iter-without-into-iter = "allow" +iterator-step-by-zero = "deny" +join-absolute-paths = "warn" +just-underscores-and-digits = "warn" +large-const-arrays = "warn" +large-digit-groups = "allow" +large-enum-variant = "warn" +large-futures = "allow" +large-include-file = "allow" +large-stack-arrays = "allow" +large-stack-frames = "allow" +large-types-passed-by-value = "allow" +legacy-numeric-constants = "warn" +len-without-is-empty = "warn" +len-zero = "warn" +let-and-return = "warn" +let-underscore-future = "warn" +let-underscore-lock = "deny" +let-underscore-must-use = "allow" +let-underscore-untyped = "allow" +let-unit-value = "warn" +let-with-type-underscore = "warn" +lines-filter-map-ok = "warn" +linkedlist = "allow" +lint-groups-priority = "deny" +literal-string-with-formatting-args = "allow" +little-endian-bytes = "allow" +lossy-float-literal = "allow" +macro-metavars-in-unsafe = "warn" +macro-use-imports = "allow" +main-recursion = "warn" +manual-abs-diff = "warn" +manual-assert = "allow" +manual-async-fn = "warn" +manual-bits = "warn" +manual-c-str-literals = "warn" +manual-checked-ops = "warn" +manual-clamp = "warn" +manual-contains = "warn" +manual-dangling-ptr = "warn" +manual-div-ceil = "warn" +manual-filter = "warn" +manual-filter-map = "warn" +manual-find = "warn" +manual-find-map = "warn" +manual-flatten = "warn" +manual-hash-one = "warn" +manual-ignore-case-cmp = "warn" +manual-ilog2 = "allow" +manual-inspect = "warn" +manual-instant-elapsed = "allow" +manual-is-ascii-check = "warn" +manual-is-finite = "warn" +manual-is-infinite = "warn" +manual-is-multiple-of = "warn" +manual-is-power-of-two = "allow" +manual-is-variant-and = "allow" +manual-let-else = "allow" +manual-main-separator-str = "warn" +manual-map = "warn" +manual-memcpy = "warn" +manual-midpoint = "allow" +manual-next-back = "warn" +manual-non-exhaustive = "warn" +manual-noop-waker = "warn" +manual-ok-err = "warn" +manual-ok-or = "warn" +manual-option-as-slice = "warn" +manual-option-zip = "warn" +manual-pattern-char-comparison = "warn" +manual-pop-if = "warn" +manual-range-contains = "warn" +manual-range-patterns = "warn" +manual-rem-euclid = "warn" +manual-repeat-n = "warn" +manual-retain = "warn" +manual-rotate = "warn" +manual-saturating-arithmetic = "warn" +manual-slice-fill = "warn" +manual-slice-size-calculation = "warn" +manual-split-once = "warn" +manual-str-repeat = "warn" +manual-string-new = "allow" +manual-strip = "warn" +manual-swap = "warn" +manual-take = "warn" +manual-try-fold = "warn" +manual-unwrap-or = "warn" +manual-unwrap-or-default = "warn" +manual-while-let-some = "warn" +many-single-char-names = "allow" +map-all-any-identity = "warn" +map-clone = "warn" +map-collect-result-unit = "warn" +map-entry = "warn" +map-err-ignore = "allow" +map-flatten = "warn" +map-identity = "warn" +map-unwrap-or = "allow" +map-with-unused-argument-over-ranges = "allow" +match-as-ref = "warn" +match-bool = "allow" +match-like-matches-macro = "warn" +match-overlapping-arm = "warn" +match-ref-pats = "warn" +match-result-ok = "warn" +match-same-arms = "allow" +match-single-binding = "warn" +match-str-case-mismatch = "deny" +match-wild-err-arm = "allow" +match-wildcard-for-single-variants = "allow" +maybe-infinite-iter = "allow" +mem-forget = "allow" +mem-replace-option-with-none = "warn" +mem-replace-option-with-some = "warn" +mem-replace-with-default = "warn" +mem-replace-with-uninit = "deny" +min-ident-chars = "allow" +min-max = "deny" +mismatching-type-param-order = "allow" +misnamed-getters = "warn" +misrefactored-assign-op = "warn" +missing-assert-message = "allow" +missing-asserts-for-indexing = "allow" +missing-const-for-fn = "allow" +missing-const-for-thread-local = "warn" +missing-docs-in-private-items = "allow" +missing-enforced-import-renames = "warn" +missing-errors-doc = "allow" +missing-fields-in-debug = "allow" +missing-inline-in-public-items = "allow" +missing-panics-doc = "allow" +missing-safety-doc = "warn" +missing-spin-loop = "warn" +missing-trait-methods = "allow" +missing-transmute-annotations = "warn" +mistyped-literal-suffixes = "deny" +mixed-attributes-style = "warn" +mixed-case-hex-literals = "warn" +mixed-read-write-in-expression = "allow" +mod-module-files = "allow" +module-inception = "warn" +module-name-repetitions = "allow" +modulo-arithmetic = "allow" +modulo-one = "deny" +multi-assignments = "warn" +multiple-bound-locations = "warn" +multiple-crate-versions = "allow" +multiple-inherent-impl = "allow" +multiple-unsafe-ops-per-block = "allow" +must-use-candidate = "allow" +must-use-unit = "warn" +mut-from-ref = "deny" +mut-mut = "allow" +mut-mutex-lock = "warn" +mut-range-bound = "warn" +mutable-key-type = "warn" +mutex-atomic = "allow" +mutex-integer = "allow" +naive-bytecount = "allow" +needless-arbitrary-self-type = "warn" +needless-as-bytes = "warn" +needless-bitwise-bool = "allow" +needless-bool = "warn" +needless-bool-assign = "warn" +needless-borrow = "warn" +needless-borrowed-reference = "warn" +needless-borrows-for-generic-args = "warn" +needless-character-iteration = "warn" +needless-collect = "allow" +needless-continue = "allow" +needless-doctest-main = "warn" +needless-else = "warn" +needless-for-each = "allow" +needless-ifs = "warn" +needless-late-init = "warn" +needless-lifetimes = "warn" +needless-match = "warn" +needless-maybe-sized = "warn" +needless-option-as-deref = "warn" +needless-option-take = "warn" +needless-parens-on-range-literals = "warn" +needless-pass-by-ref-mut = "allow" +needless-pass-by-value = "allow" +needless-pub-self = "warn" +needless-question-mark = "warn" +needless-range-loop = "warn" +needless-raw-string-hashes = "allow" +needless-raw-strings = "allow" +needless-return = "warn" +needless-return-with-question-mark = "warn" +needless-splitn = "warn" +needless-type-cast = "allow" +needless-update = "warn" +neg-cmp-op-on-partial-ord = "warn" +neg-multiply = "warn" +negative-feature-names = "allow" +never-loop = "deny" +new-ret-no-self = "warn" +new-without-default = "warn" +no-effect = "warn" +no-effect-replace = "warn" +no-effect-underscore-binding = "allow" +no-mangle-with-rust-abi = "allow" +non-ascii-literal = "allow" +non-canonical-clone-impl = "warn" +non-canonical-partial-ord-impl = "warn" +non-minimal-cfg = "warn" +non-octal-unix-permissions = "deny" +non-send-fields-in-send-ty = "allow" +non-std-lazy-statics = "allow" +non-zero-suggestions = "allow" +nonminimal-bool = "warn" +nonsensical-open-options = "deny" +nonstandard-macro-braces = "allow" +not-unsafe-ptr-arg-deref = "deny" +obfuscated-if-else = "warn" +octal-escapes = "warn" +ok-expect = "warn" +only-used-in-recursion = "warn" +op-ref = "warn" +option-as-ref-cloned = "allow" +option-as-ref-deref = "warn" +option-env-unwrap = "deny" +option-filter-map = "warn" +option-if-let-else = "allow" +option-map-or-none = "warn" +option-map-unit-fn = "warn" +option-option = "allow" +or-fun-call = "allow" +or-then-unwrap = "warn" +out-of-bounds-indexing = "deny" +overly-complex-bool-expr = "deny" +owned-cow = "warn" +panic = "allow" +panic-in-result-fn = "allow" +panicking-overflow-checks = "deny" +panicking-unwrap = "deny" +partial-pub-fields = "allow" +partialeq-ne-impl = "warn" +partialeq-to-none = "warn" +path-buf-push-overwrite = "allow" +path-ends-with-ext = "warn" +pathbuf-init-then-push = "allow" +pattern-type-mismatch = "allow" +permissions-set-readonly-false = "warn" +pointer-format = "allow" +pointers-in-nomem-asm-block = "warn" +possible-missing-comma = "deny" +possible-missing-else = "warn" +precedence = "warn" +precedence-bits = "allow" +print-in-format-impl = "warn" +print-literal = "warn" +print-stderr = "allow" +print-stdout = "allow" +print-with-newline = "warn" +println-empty-string = "warn" +ptr-arg = "warn" +ptr-as-ptr = "allow" +ptr-cast-constness = "allow" +ptr-eq = "warn" +ptr-offset-by-literal = "allow" +ptr-offset-with-cast = "warn" +pub-underscore-fields = "allow" +pub-use = "allow" +pub-with-shorthand = "allow" +pub-without-shorthand = "allow" +question-mark = "warn" +question-mark-used = "allow" +range-minus-one = "allow" +range-plus-one = "allow" +range-zip-with-len = "warn" +rc-buffer = "allow" +rc-clone-in-vec-init = "warn" +rc-mutex = "allow" +read-line-without-trim = "deny" +read-zero-byte-vec = "allow" +readonly-write-lock = "warn" +recursive-format-impl = "deny" +redundant-allocation = "warn" +redundant-as-str = "warn" +redundant-async-block = "warn" +redundant-at-rest-pattern = "warn" +redundant-clone = "allow" +redundant-closure = "warn" +redundant-closure-call = "warn" +redundant-closure-for-method-calls = "allow" +redundant-comparisons = "deny" +redundant-else = "allow" +redundant-feature-names = "allow" +redundant-field-names = "warn" +redundant-guards = "warn" +redundant-iter-cloned = "warn" +redundant-locals = "warn" +redundant-pattern = "warn" +redundant-pattern-matching = "warn" +redundant-pub-crate = "allow" +redundant-slicing = "warn" +redundant-static-lifetimes = "warn" +redundant-test-prefix = "allow" +redundant-type-annotations = "allow" +ref-as-ptr = "allow" +ref-binding-to-reference = "allow" +ref-option = "allow" +ref-option-ref = "allow" +ref-patterns = "allow" +regex-creation-in-loops = "warn" +renamed-function-params = "allow" +repeat-once = "warn" +repeat-vec-with-capacity = "warn" +replace-box = "warn" +repr-packed-without-abi = "warn" +reserve-after-initialization = "warn" +rest-pat-in-fully-bound-structs = "allow" +result-filter-map = "warn" +result-large-err = "warn" +result-map-or-into-option = "warn" +result-map-unit-fn = "warn" +result-unit-err = "warn" +return-and-then = "allow" +return-self-not-must-use = "allow" +reversed-empty-ranges = "deny" +same-functions-in-if-condition = "allow" +same-item-push = "warn" +same-length-and-capacity = "allow" +same-name-method = "allow" +search-is-some = "allow" +seek-from-current = "warn" +seek-to-start-instead-of-rewind = "warn" +self-assignment = "deny" +self-named-constructors = "warn" +self-named-module-files = "allow" +self-only-used-in-recursion = "allow" +semicolon-if-nothing-returned = "allow" +semicolon-inside-block = "allow" +semicolon-outside-block = "allow" +separated-literal-suffix = "allow" +serde-api-misuse = "deny" +set-contains-or-insert = "allow" +shadow-reuse = "allow" +shadow-same = "allow" +shadow-unrelated = "allow" +short-circuit-statement = "warn" +should-implement-trait = "warn" +should-panic-without-expect = "allow" +significant-drop-in-scrutinee = "allow" +significant-drop-tightening = "allow" +similar-names = "allow" +single-call-fn = "allow" +single-char-add-str = "warn" +single-char-lifetime-names = "allow" +single-char-pattern = "allow" +single-component-path-imports = "warn" +single-element-loop = "warn" +single-match = "warn" +single-match-else = "allow" +single-option-map = "allow" +single-range-in-vec-init = "warn" +size-of-in-element-count = "deny" +size-of-ref = "warn" +skip-while-next = "warn" +sliced-string-as-bytes = "warn" +slow-vector-initialization = "warn" +stable-sort-primitive = "allow" +std-instead-of-alloc = "allow" +std-instead-of-core = "allow" +str-split-at-newline = "allow" +str-to-string = "allow" +string-add = "allow" +string-add-assign = "allow" +string-extend-chars = "warn" +string-from-utf8-as-bytes = "warn" +string-lit-as-bytes = "allow" +string-lit-chars-any = "allow" +string-slice = "allow" +strlen-on-c-strings = "warn" +struct-excessive-bools = "allow" +struct-field-names = "allow" +suboptimal-flops = "allow" +suspicious-arithmetic-impl = "warn" +suspicious-assignment-formatting = "warn" +suspicious-command-arg-space = "warn" +suspicious-doc-comments = "warn" +suspicious-else-formatting = "warn" +suspicious-map = "warn" +suspicious-op-assign-impl = "warn" +suspicious-open-options = "warn" +suspicious-operation-groupings = "allow" +suspicious-splitn = "deny" +suspicious-to-owned = "warn" +suspicious-unary-op-formatting = "warn" +suspicious-xor-used-as-pow = "allow" +swap-ptr-to-ref = "warn" +swap-with-temporary = "warn" +tabs-in-doc-comments = "warn" +temporary-assignment = "warn" +test-attr-in-doctest = "warn" +tests-outside-test-module = "allow" +to-digit-is-some = "warn" +to-string-in-format-args = "warn" +to-string-trait-impl = "warn" +todo = "allow" +too-long-first-doc-paragraph = "allow" +too-many-arguments = "warn" +too-many-lines = "allow" +toplevel-ref-arg = "warn" +trailing-empty-array = "allow" +trait-duplication-in-bounds = "allow" +transmute-bytes-to-str = "warn" +transmute-int-to-bool = "warn" +transmute-int-to-non-zero = "warn" +transmute-null-to-fn = "deny" +transmute-ptr-to-ptr = "allow" +transmute-ptr-to-ref = "warn" +transmute-undefined-repr = "allow" +transmutes-expressible-as-ptr-casts = "warn" +transmuting-null = "deny" +trim-split-whitespace = "warn" +trivial-regex = "allow" +trivially-copy-pass-by-ref = "allow" +try-err = "allow" +tuple-array-conversions = "allow" +type-complexity = "warn" +type-id-on-box = "warn" +type-repetition-in-bounds = "allow" +unbuffered-bytes = "warn" +unchecked-time-subtraction = "allow" +unconditional-recursion = "warn" +undocumented-unsafe-blocks = "allow" +unicode-not-nfc = "allow" +unimplemented = "allow" +uninhabited-references = "allow" +uninit-assumed-init = "deny" +uninit-vec = "deny" +uninlined-format-args = "allow" +unit-arg = "warn" +unit-cmp = "deny" +unit-hash = "deny" +unit-return-expecting-ord = "deny" +unnecessary-box-returns = "allow" +unnecessary-cast = "warn" +unnecessary-clippy-cfg = "warn" +unnecessary-debug-formatting = "allow" +unnecessary-fallible-conversions = "warn" +unnecessary-filter-map = "warn" +unnecessary-find-map = "warn" +unnecessary-first-then-check = "warn" +unnecessary-fold = "warn" +unnecessary-get-then-check = "warn" +unnecessary-join = "allow" +unnecessary-lazy-evaluations = "warn" +unnecessary-literal-bound = "allow" +unnecessary-literal-unwrap = "warn" +unnecessary-map-on-constructor = "warn" +unnecessary-map-or = "warn" +unnecessary-min-or-max = "warn" +unnecessary-mut-passed = "warn" +unnecessary-operation = "warn" +unnecessary-option-map-or-else = "warn" +unnecessary-owned-empty-strings = "warn" +unnecessary-result-map-or-else = "warn" +unnecessary-safety-comment = "allow" +unnecessary-safety-doc = "allow" +unnecessary-self-imports = "allow" +unnecessary-semicolon = "allow" +unnecessary-sort-by = "warn" +unnecessary-struct-initialization = "allow" +unnecessary-to-owned = "warn" +unnecessary-trailing-comma = "allow" +unnecessary-unwrap = "warn" +unnecessary-wraps = "allow" +unneeded-field-pattern = "allow" +unneeded-struct-pattern = "warn" +unneeded-wildcard-pattern = "warn" +unnested-or-patterns = "allow" +unreachable = "allow" +unreadable-literal = "allow" +unsafe-derive-deserialize = "allow" +unsafe-removed-from-name = "warn" +unseparated-literal-suffix = "allow" +unsound-collection-transmute = "deny" +unused-async = "allow" +unused-enumerate-index = "warn" +unused-format-specs = "warn" +unused-io-amount = "deny" +unused-peekable = "allow" +unused-result-ok = "allow" +unused-rounding = "allow" +unused-self = "allow" +unused-trait-names = "allow" +unused-unit = "warn" +unusual-byte-groupings = "warn" +unwrap-in-result = "allow" +unwrap-or-default = "warn" +unwrap-used = "allow" +upper-case-acronyms = "warn" +use-debug = "allow" +use-self = "allow" +used-underscore-binding = "allow" +used-underscore-items = "allow" +useless-asref = "warn" +useless-attribute = "deny" +useless-concat = "warn" +useless-conversion = "warn" +useless-format = "warn" +useless-let-if-seq = "allow" +useless-nonzero-new-unchecked = "warn" +useless-transmute = "warn" +useless-vec = "warn" +vec-box = "warn" +vec-init-then-push = "warn" +vec-resize-to-zero = "deny" +verbose-bit-mask = "allow" +verbose-file-reads = "allow" +volatile-composites = "allow" +waker-clone-wake = "warn" +while-float = "allow" +while-immutable-condition = "deny" +while-let-loop = "warn" +while-let-on-iterator = "warn" +wildcard-dependencies = "allow" +wildcard-enum-match-arm = "allow" +wildcard-imports = "allow" +wildcard-in-or-patterns = "warn" +write-literal = "warn" +write-with-newline = "warn" +writeln-empty-string = "warn" +wrong-self-convention = "warn" +wrong-transmute = "deny" +zero-divided-by-zero = "warn" +zero-prefixed-literal = "warn" +zero-ptr = "warn" +zero-repeat-side-effects = "warn" +zero-sized-map-values = "allow" +zombie-processes = "warn" +zst-offset = "deny" + +[workspace.lints.rust] +aarch64-softfloat-neon = "warn" +absolute-paths-not-starting-with-crate = "allow" +ambiguous-associated-items = "deny" +ambiguous-derive-helpers = "warn" +ambiguous-glob-imported-traits = "warn" +ambiguous-glob-imports = "deny" +ambiguous-glob-reexports = "warn" +ambiguous-import-visibilities = "warn" +ambiguous-negative-literals = "allow" +ambiguous-panic-imports = "warn" +ambiguous-wide-pointer-comparisons = "warn" +anonymous-parameters = "warn" +arithmetic-overflow = "deny" +array-into-iter = "warn" +asm-sub-register = "warn" +async-fn-in-trait = "warn" +bad-asm-style = "warn" +bare-trait-objects = "warn" +binary-asm-labels = "deny" +bindings-with-variant-name = "deny" +boxed-slice-into-iter = "warn" +break-with-label-and-loop = "warn" +clashing-extern-declarations = "warn" +closure-returning-async-block = "allow" +coherence-leak-check = "warn" +conflicting-repr-hints = "deny" +confusable-idents = "warn" +const-evaluatable-unchecked = "warn" +const-item-interior-mutations = "warn" +const-item-mutation = "warn" +dangerous-implicit-autorefs = "deny" +dangling-pointers-from-locals = "warn" +dangling-pointers-from-temporaries = "warn" +dead-code = "warn" +default-overrides-default-fields = "deny" +dependency-on-unit-never-type-fallback = "deny" +deprecated = "warn" +deprecated-in-future = "allow" +deprecated-safe-2024 = "allow" +deprecated-where-clause-location = "warn" +deref-into-dyn-supertrait = "allow" +deref-nullptr = "deny" +double-negations = "warn" +drop-bounds = "warn" +dropping-copy-types = "warn" +dropping-references = "warn" +duplicate-features = "deny" +duplicate-macro-attributes = "warn" +dyn-drop = "warn" +edition-2024-expr-fragment-specifier = "allow" +elided-lifetimes-in-associated-constant = "deny" +elided-lifetimes-in-paths = "allow" +ellipsis-inclusive-range-patterns = "warn" +enum-intrinsics-non-enums = "deny" +explicit-builtin-cfgs-in-flags = "deny" +explicit-outlives-requirements = "allow" +exported-private-dependencies = "warn" +ffi-unwind-calls = "allow" +for-loops-over-fallibles = "warn" +forbidden-lint-groups = "warn" +forgetting-copy-types = "warn" +forgetting-references = "warn" +function-casts-as-integer = "warn" +function-item-references = "warn" +fuzzy-provenance-casts = "allow" +hidden-glob-reexports = "warn" +if-let-rescope = "allow" +ill-formed-attribute-input = "deny" +impl-trait-overcaptures = "allow" +impl-trait-redundant-captures = "allow" +improper-ctypes = "warn" +improper-ctypes-definitions = "warn" +improper-gpu-kernel-arg = "warn" +incomplete-features = "warn" +incomplete-include = "deny" +ineffective-unstable-trait-impl = "deny" +inline-always-mismatching-target-features = "warn" +inline-no-sanitize = "warn" +integer-to-ptr-transmutes = "warn" +internal-eq-trait-method-impls = "warn" +internal-features = "warn" +invalid-atomic-ordering = "deny" +invalid-doc-attributes = "warn" +invalid-from-utf8 = "warn" +invalid-from-utf8-unchecked = "deny" +invalid-macro-export-arguments = "deny" +invalid-nan-comparisons = "warn" +invalid-null-arguments = "deny" +invalid-reference-casting = "deny" +invalid-type-param-default = "deny" +invalid-value = "warn" +irrefutable-let-patterns = "warn" +keyword-idents-2018 = "allow" +keyword-idents-2024 = "allow" +large-assignments = "warn" +late-bound-lifetime-arguments = "warn" +legacy-derive-helpers = "deny" +let-underscore-drop = "allow" +let-underscore-lock = "deny" +linker-info = "allow" +linker-messages = "allow" +long-running-const-eval = "deny" +lossy-provenance-casts = "allow" +macro-expanded-macro-exports-accessed-by-absolute-paths = "deny" +macro-use-extern-crate = "allow" +malformed-diagnostic-attributes = "warn" +malformed-diagnostic-format-literals = "warn" +map-unit-fn = "warn" +meta-variable-misuse = "allow" +mismatched-lifetime-syntaxes = "warn" +misplaced-diagnostic-attributes = "warn" +missing-abi = "warn" +missing-copy-implementations = "allow" +missing-debug-implementations = "allow" +missing-docs = "allow" +missing-gpu-kernel-export-name = "warn" +missing-unsafe-on-extern = "allow" +mixed-script-confusables = "warn" +multiple-supertrait-upcastable = "allow" +must-not-suspend = "allow" +mutable-transmutes = "deny" +named-arguments-used-positionally = "warn" +named-asm-labels = "deny" +never-type-fallback-flowing-into-unsafe = "deny" +no-mangle-const-items = "deny" +no-mangle-generic-items = "warn" +non-ascii-idents = "allow" +non-camel-case-types = "warn" +non-contiguous-range-endpoints = "warn" +non-exhaustive-omitted-patterns = "allow" +non-fmt-panics = "warn" +non-local-definitions = "warn" +non-shorthand-field-patterns = "warn" +non-snake-case = "warn" +non-upper-case-globals = "warn" +noop-method-call = "warn" +opaque-hidden-inferred-bound = "warn" +out-of-scope-macro-calls = "deny" +overflowing-literals = "deny" +overlapping-range-endpoints = "warn" +path-statements = "warn" +patterns-in-fns-without-body = "deny" +private-bounds = "warn" +private-interfaces = "warn" +proc-macro-derive-resolution-fallback = "deny" +ptr-to-integer-transmute-in-consts = "warn" +pub-use-of-private-extern-crate = "deny" +redundant-imports = "allow" +redundant-lifetimes = "allow" +redundant-semicolons = "warn" +refining-impl-trait-internal = "warn" +refining-impl-trait-reachable = "warn" +renamed-and-removed-lints = "warn" +repr-c-enums-larger-than-int = "warn" +repr-transparent-non-zst-fields = "deny" +resolving-to-items-shadowing-supertrait-items = "allow" +rtsan-nonblocking-async = "warn" +rust-2021-incompatible-closure-captures = "allow" +rust-2021-incompatible-or-patterns = "allow" +rust-2021-prefixes-incompatible-syntax = "allow" +rust-2021-prelude-collisions = "allow" +rust-2024-guarded-string-incompatible-syntax = "allow" +rust-2024-incompatible-pat = "allow" +rust-2024-prelude-collisions = "allow" +self-constructor-from-outer-item = "warn" +semicolon-in-expressions-from-macros = "deny" +shadowing-supertrait-items = "allow" +single-use-lifetimes = "allow" +special-module-name = "warn" +stable-features = "warn" +static-mut-refs = "warn" +suspicious-double-ref-op = "warn" +tail-expr-drop-order = "allow" +test-unstable-lint = "deny" +text-direction-codepoint-in-comment = "deny" +text-direction-codepoint-in-literal = "deny" +trivial-bounds = "warn" +trivial-casts = "allow" +trivial-numeric-casts = "allow" +type-alias-bounds = "warn" +tyvar-behind-raw-pointer = "warn" +uncommon-codepoints = "warn" +unconditional-panic = "deny" +unconditional-recursion = "warn" +uncovered-param-in-projection = "warn" +undropped-manually-drops = "deny" +unexpected-cfgs = "warn" +unfulfilled-lint-expectations = "warn" +ungated-async-fn-track-caller = "warn" +uninhabited-static = "deny" +unit-bindings = "allow" +unknown-crate-types = "deny" +unknown-diagnostic-attributes = "warn" +unknown-lints = "warn" +unnameable-test-items = "warn" +unnameable-types = "allow" +unnecessary-transmutes = "warn" +unpredictable-function-pointer-comparisons = "warn" +unqualified-local-imports = "allow" +unreachable-cfg-select-predicates = "warn" +unreachable-code = "warn" +unreachable-patterns = "warn" +unreachable-pub = "allow" +unsafe-attr-outside-unsafe = "allow" +unsafe-code = "allow" +unsafe-op-in-unsafe-fn = "allow" +unstable-features = "allow" +unstable-name-collisions = "warn" +unstable-syntax-pre-expansion = "warn" +unsupported-calling-conventions = "warn" +unused-allocation = "warn" +unused-assignments = "warn" +unused-associated-type-bounds = "warn" +unused-attributes = "warn" +unused-braces = "warn" +unused-comparisons = "warn" +unused-crate-dependencies = "allow" +unused-doc-comments = "warn" +unused-extern-crates = "allow" +unused-features = "warn" +unused-import-braces = "allow" +unused-imports = "warn" +unused-labels = "warn" +unused-lifetimes = "allow" +unused-macro-rules = "allow" +unused-macros = "warn" +unused-must-use = "warn" +unused-mut = "warn" +unused-parens = "warn" +unused-qualifications = "allow" +unused-results = "allow" +unused-unsafe = "warn" +unused-variables = "warn" +unused-visibilities = "warn" +useless-deprecated = "deny" +useless-ptr-null-checks = "warn" +uses-power-alignment = "warn" +varargs-without-pattern = "warn" +variant-size-differences = "allow" +warnings = "warn" +while-true = "warn" + +[workspace.lints.rustdoc] +bare-urls = "warn" +broken-intra-doc-links = "warn" +invalid-codeblock-attributes = "warn" +invalid-html-tags = "warn" +invalid-rust-codeblocks = "warn" +missing-crate-level-docs = "allow" +missing-doc-code-examples = "allow" +private-doc-tests = "allow" +private-intra-doc-links = "warn" +redundant-explicit-links = "warn" +unescaped-backticks = "allow" diff --git a/lints/1.97.toml b/lints/1.97.toml new file mode 100644 index 0000000..dc8a9b4 --- /dev/null +++ b/lints/1.97.toml @@ -0,0 +1,1075 @@ +[workspace.lints.clippy] +absolute-paths = "allow" +absurd-extreme-comparisons = "deny" +alloc-instead-of-core = "allow" +allow-attributes = "allow" +allow-attributes-without-reason = "allow" +almost-complete-range = "warn" +almost-swapped = "deny" +approx-constant = "deny" +arbitrary-source-item-ordering = "allow" +arc-with-non-send-sync = "warn" +arithmetic-side-effects = "allow" +as-conversions = "allow" +as-pointer-underscore = "allow" +as-ptr-cast-mut = "allow" +as-underscore = "allow" +assertions-on-constants = "warn" +assertions-on-result-states = "allow" +assign-op-pattern = "warn" +assigning-clones = "allow" +async-yields-async = "deny" +await-holding-invalid-type = "warn" +await-holding-lock = "warn" +await-holding-refcell-ref = "warn" +bad-bit-mask = "deny" +big-endian-bytes = "allow" +bind-instead-of-map = "warn" +blanket-clippy-restriction-lints = "warn" +blocks-in-conditions = "warn" +bool-assert-comparison = "warn" +bool-comparison = "warn" +bool-to-int-with-if = "allow" +borrow-as-ptr = "allow" +borrow-deref-ref = "warn" +borrow-interior-mutable-const = "warn" +borrowed-box = "warn" +box-collection = "warn" +box-default = "warn" +boxed-local = "warn" +branches-sharing-code = "allow" +builtin-type-shadow = "warn" +byte-char-slices = "warn" +bytes-count-to-len = "warn" +bytes-nth = "warn" +cargo-common-metadata = "allow" +case-sensitive-file-extension-comparisons = "allow" +cast-abs-to-unsigned = "warn" +cast-enum-constructor = "warn" +cast-enum-truncation = "warn" +cast-lossless = "allow" +cast-nan-to-int = "warn" +cast-possible-truncation = "allow" +cast-possible-wrap = "allow" +cast-precision-loss = "allow" +cast-ptr-alignment = "allow" +cast-sign-loss = "allow" +cast-slice-different-sizes = "deny" +cast-slice-from-raw-parts = "warn" +cfg-not-test = "allow" +char-indices-as-byte-indices = "deny" +char-lit-as-u8 = "warn" +chars-last-cmp = "warn" +chars-next-cmp = "warn" +checked-conversions = "allow" +clear-with-drain = "allow" +clone-on-copy = "warn" +clone-on-ref-ptr = "allow" +cloned-instead-of-copied = "allow" +cloned-ref-to-slice-refs = "warn" +cmp-null = "warn" +cmp-owned = "warn" +coerce-container-to-any = "allow" +cognitive-complexity = "allow" +collapsible-else-if = "allow" +collapsible-if = "warn" +collapsible-match = "warn" +collapsible-str-replace = "warn" +collection-is-never-read = "allow" +comparison-chain = "allow" +comparison-to-empty = "warn" +confusing-method-to-numeric-cast = "warn" +const-is-empty = "warn" +copy-iterator = "allow" +crate-in-macro-def = "warn" +create-dir = "allow" +crosspointer-transmute = "warn" +dbg-macro = "allow" +debug-assert-with-mut-call = "allow" +decimal-bitwise-operands = "allow" +decimal-literal-representation = "allow" +declare-interior-mutable-const = "warn" +default-constructed-unit-structs = "warn" +default-instead-of-iter-empty = "warn" +default-numeric-fallback = "allow" +default-trait-access = "allow" +default-union-representation = "allow" +deprecated-cfg-attr = "warn" +deprecated-clippy-cfg-attr = "warn" +deprecated-semver = "deny" +deref-addrof = "warn" +deref-by-slicing = "allow" +derivable-impls = "warn" +derive-ord-xor-partial-ord = "deny" +derive-partial-eq-without-eq = "allow" +derived-hash-with-manual-eq = "deny" +disallowed-fields = "warn" +disallowed-macros = "warn" +disallowed-methods = "warn" +disallowed-names = "warn" +disallowed-script-idents = "allow" +disallowed-types = "warn" +diverging-sub-expression = "warn" +doc-broken-link = "allow" +doc-comment-double-space-linebreaks = "allow" +doc-include-without-cfg = "allow" +doc-lazy-continuation = "warn" +doc-link-code = "allow" +doc-link-with-quotes = "allow" +doc-markdown = "allow" +doc-nested-refdefs = "warn" +doc-overindented-list-items = "warn" +doc-paragraphs-missing-punctuation = "allow" +doc-suspicious-footnotes = "warn" +double-comparisons = "warn" +double-ended-iterator-last = "warn" +double-must-use = "warn" +double-parens = "warn" +drain-collect = "warn" +drop-non-drop = "warn" +duplicate-mod = "warn" +duplicate-underscore-argument = "warn" +duplicated-attributes = "warn" +duration-suboptimal-units = "allow" +duration-subsec = "warn" +eager-transmute = "deny" +elidable-lifetime-names = "allow" +else-if-without-else = "allow" +empty-docs = "warn" +empty-drop = "allow" +empty-enum-variants-with-brackets = "allow" +empty-enums = "allow" +empty-line-after-doc-comments = "warn" +empty-line-after-outer-attr = "warn" +empty-loop = "warn" +empty-structs-with-brackets = "allow" +enum-clike-unportable-variant = "deny" +enum-glob-use = "allow" +enum-variant-names = "warn" +eq-op = "deny" +equatable-if-let = "allow" +erasing-op = "deny" +err-expect = "warn" +error-impl-error = "allow" +excessive-nesting = "warn" +excessive-precision = "warn" +exhaustive-enums = "allow" +exhaustive-structs = "allow" +exit = "allow" +expect-fun-call = "warn" +expect-used = "allow" +expl-impl-clone-on-copy = "allow" +explicit-auto-deref = "warn" +explicit-counter-loop = "warn" +explicit-deref-methods = "allow" +explicit-into-iter-loop = "allow" +explicit-iter-loop = "allow" +explicit-write = "warn" +extend-with-drain = "warn" +extra-unused-lifetimes = "warn" +extra-unused-type-parameters = "warn" +fallible-impl-from = "allow" +field-reassign-with-default = "warn" +field-scoped-visibility-modifiers = "allow" +filetype-is-file = "allow" +filter-map-bool-then = "warn" +filter-map-identity = "warn" +filter-map-next = "allow" +filter-next = "warn" +flat-map-identity = "warn" +flat-map-option = "allow" +float-arithmetic = "allow" +float-cmp = "allow" +float-cmp-const = "allow" +float-equality-without-abs = "warn" +fn-params-excessive-bools = "allow" +fn-to-numeric-cast = "warn" +fn-to-numeric-cast-any = "allow" +fn-to-numeric-cast-with-truncation = "warn" +for-kv-map = "warn" +forget-non-drop = "warn" +format-collect = "allow" +format-in-format-args = "warn" +format-push-string = "allow" +four-forward-slashes = "warn" +from-iter-instead-of-collect = "allow" +from-over-into = "warn" +from-raw-with-void-ptr = "warn" +from-str-radix-10 = "warn" +future-not-send = "allow" +get-first = "warn" +get-last-with-len = "warn" +get-unwrap = "allow" +host-endian-bytes = "allow" +identity-op = "warn" +if-let-mutex = "deny" +if-not-else = "allow" +if-same-then-else = "warn" +if-then-some-else-none = "allow" +ifs-same-cond = "deny" +ignore-without-reason = "allow" +ignored-unit-patterns = "allow" +impl-hash-borrow-with-str-and-bytes = "deny" +impl-trait-in-params = "allow" +implicit-clone = "allow" +implicit-hasher = "allow" +implicit-return = "allow" +implicit-saturating-add = "warn" +implicit-saturating-sub = "warn" +implied-bounds-in-impls = "warn" +impossible-comparisons = "deny" +imprecise-flops = "allow" +incompatible-msrv = "warn" +inconsistent-digit-grouping = "warn" +inconsistent-struct-constructor = "allow" +index-refutable-slice = "allow" +indexing-slicing = "allow" +ineffective-bit-mask = "deny" +ineffective-open-options = "warn" +inefficient-to-string = "allow" +infallible-destructuring-match = "warn" +infallible-try-from = "warn" +infinite-iter = "deny" +infinite-loop = "allow" +inherent-to-string = "warn" +inherent-to-string-shadow-display = "deny" +init-numbered-fields = "warn" +inline-always = "allow" +inline-asm-x86-att-syntax = "allow" +inline-asm-x86-intel-syntax = "allow" +inline-fn-without-body = "deny" +inline-modules = "allow" +inline-trait-bounds = "allow" +inspect-for-each = "warn" +int-plus-one = "warn" +integer-division = "allow" +integer-division-remainder-used = "allow" +into-iter-on-ref = "warn" +into-iter-without-iter = "allow" +invalid-regex = "deny" +invalid-upcast-comparisons = "allow" +inverted-saturating-sub = "deny" +invisible-characters = "deny" +io-other-error = "warn" +ip-constant = "allow" +is-digit-ascii-radix = "warn" +items-after-statements = "allow" +items-after-test-module = "warn" +iter-cloned-collect = "warn" +iter-count = "warn" +iter-filter-is-ok = "allow" +iter-filter-is-some = "allow" +iter-kv-map = "warn" +iter-next-loop = "deny" +iter-next-slice = "warn" +iter-not-returning-iterator = "allow" +iter-nth = "warn" +iter-nth-zero = "warn" +iter-on-empty-collections = "allow" +iter-on-single-items = "allow" +iter-out-of-bounds = "warn" +iter-over-hash-type = "allow" +iter-overeager-cloned = "warn" +iter-skip-next = "warn" +iter-skip-zero = "deny" +iter-with-drain = "allow" +iter-without-into-iter = "allow" +iterator-step-by-zero = "deny" +join-absolute-paths = "warn" +just-underscores-and-digits = "warn" +large-const-arrays = "warn" +large-digit-groups = "allow" +large-enum-variant = "warn" +large-futures = "allow" +large-include-file = "allow" +large-stack-arrays = "allow" +large-stack-frames = "allow" +large-types-passed-by-value = "allow" +legacy-numeric-constants = "warn" +len-without-is-empty = "warn" +len-zero = "warn" +let-and-return = "warn" +let-underscore-future = "warn" +let-underscore-lock = "deny" +let-underscore-must-use = "allow" +let-underscore-untyped = "allow" +let-unit-value = "warn" +let-with-type-underscore = "warn" +lines-filter-map-ok = "warn" +linkedlist = "allow" +lint-groups-priority = "deny" +literal-string-with-formatting-args = "allow" +little-endian-bytes = "allow" +lossy-float-literal = "allow" +macro-metavars-in-unsafe = "warn" +macro-use-imports = "allow" +main-recursion = "warn" +manual-abs-diff = "warn" +manual-assert = "allow" +manual-assert-eq = "allow" +manual-async-fn = "warn" +manual-bits = "warn" +manual-c-str-literals = "warn" +manual-checked-ops = "warn" +manual-clamp = "warn" +manual-clear = "warn" +manual-contains = "warn" +manual-dangling-ptr = "warn" +manual-div-ceil = "warn" +manual-filter = "warn" +manual-filter-map = "warn" +manual-find = "warn" +manual-find-map = "warn" +manual-flatten = "warn" +manual-hash-one = "warn" +manual-ignore-case-cmp = "warn" +manual-ilog2 = "allow" +manual-inspect = "warn" +manual-instant-elapsed = "allow" +manual-is-ascii-check = "warn" +manual-is-finite = "warn" +manual-is-infinite = "warn" +manual-is-multiple-of = "warn" +manual-is-power-of-two = "allow" +manual-is-variant-and = "allow" +manual-let-else = "allow" +manual-main-separator-str = "warn" +manual-map = "warn" +manual-memcpy = "warn" +manual-midpoint = "allow" +manual-next-back = "warn" +manual-non-exhaustive = "warn" +manual-noop-waker = "warn" +manual-ok-err = "warn" +manual-ok-or = "warn" +manual-option-as-slice = "warn" +manual-option-zip = "warn" +manual-pattern-char-comparison = "warn" +manual-pop-if = "warn" +manual-range-contains = "warn" +manual-range-patterns = "warn" +manual-rem-euclid = "warn" +manual-repeat-n = "warn" +manual-retain = "warn" +manual-rotate = "warn" +manual-saturating-arithmetic = "warn" +manual-slice-fill = "warn" +manual-slice-size-calculation = "warn" +manual-split-once = "warn" +manual-str-repeat = "warn" +manual-string-new = "allow" +manual-strip = "warn" +manual-swap = "warn" +manual-take = "warn" +manual-try-fold = "warn" +manual-unwrap-or = "warn" +manual-unwrap-or-default = "warn" +manual-while-let-some = "warn" +many-single-char-names = "allow" +map-all-any-identity = "warn" +map-clone = "warn" +map-collect-result-unit = "warn" +map-entry = "warn" +map-err-ignore = "allow" +map-flatten = "warn" +map-identity = "warn" +map-unwrap-or = "allow" +map-with-unused-argument-over-ranges = "allow" +match-as-ref = "warn" +match-bool = "allow" +match-like-matches-macro = "warn" +match-overlapping-arm = "warn" +match-ref-pats = "warn" +match-result-ok = "warn" +match-same-arms = "allow" +match-single-binding = "warn" +match-str-case-mismatch = "deny" +match-wild-err-arm = "allow" +match-wildcard-for-single-variants = "allow" +maybe-infinite-iter = "allow" +mem-forget = "allow" +mem-replace-option-with-none = "warn" +mem-replace-option-with-some = "warn" +mem-replace-with-default = "warn" +mem-replace-with-uninit = "deny" +min-ident-chars = "allow" +min-max = "deny" +mismatching-type-param-order = "allow" +misnamed-getters = "warn" +misrefactored-assign-op = "warn" +missing-assert-message = "allow" +missing-asserts-for-indexing = "allow" +missing-const-for-fn = "allow" +missing-const-for-thread-local = "warn" +missing-docs-in-private-items = "allow" +missing-enforced-import-renames = "warn" +missing-errors-doc = "allow" +missing-fields-in-debug = "allow" +missing-inline-in-public-items = "allow" +missing-panics-doc = "allow" +missing-safety-doc = "warn" +missing-spin-loop = "warn" +missing-trait-methods = "allow" +missing-transmute-annotations = "warn" +mistyped-literal-suffixes = "deny" +mixed-attributes-style = "warn" +mixed-case-hex-literals = "warn" +mixed-read-write-in-expression = "allow" +mod-module-files = "allow" +module-inception = "warn" +module-name-repetitions = "allow" +modulo-arithmetic = "allow" +modulo-one = "deny" +multi-assignments = "warn" +multiple-bound-locations = "warn" +multiple-crate-versions = "allow" +multiple-inherent-impl = "allow" +multiple-unsafe-ops-per-block = "allow" +must-use-candidate = "allow" +must-use-unit = "warn" +mut-from-ref = "deny" +mut-mut = "allow" +mut-mutex-lock = "warn" +mut-range-bound = "warn" +mutable-key-type = "warn" +mutex-atomic = "allow" +mutex-integer = "allow" +naive-bytecount = "allow" +needless-arbitrary-self-type = "warn" +needless-as-bytes = "warn" +needless-bitwise-bool = "allow" +needless-bool = "warn" +needless-bool-assign = "warn" +needless-borrow = "warn" +needless-borrowed-reference = "warn" +needless-borrows-for-generic-args = "warn" +needless-character-iteration = "warn" +needless-collect = "allow" +needless-continue = "allow" +needless-doctest-main = "warn" +needless-else = "warn" +needless-for-each = "allow" +needless-ifs = "warn" +needless-late-init = "warn" +needless-lifetimes = "warn" +needless-match = "warn" +needless-maybe-sized = "warn" +needless-option-as-deref = "warn" +needless-option-take = "warn" +needless-parens-on-range-literals = "warn" +needless-pass-by-ref-mut = "allow" +needless-pass-by-value = "allow" +needless-pub-self = "warn" +needless-question-mark = "warn" +needless-range-loop = "warn" +needless-raw-string-hashes = "allow" +needless-raw-strings = "allow" +needless-return = "warn" +needless-return-with-question-mark = "warn" +needless-splitn = "warn" +needless-type-cast = "allow" +needless-update = "warn" +neg-cmp-op-on-partial-ord = "warn" +neg-multiply = "warn" +negative-feature-names = "allow" +never-loop = "deny" +new-ret-no-self = "warn" +new-without-default = "warn" +no-effect = "warn" +no-effect-replace = "warn" +no-effect-underscore-binding = "allow" +no-mangle-with-rust-abi = "allow" +non-ascii-literal = "allow" +non-canonical-clone-impl = "warn" +non-canonical-partial-ord-impl = "warn" +non-minimal-cfg = "warn" +non-octal-unix-permissions = "deny" +non-send-fields-in-send-ty = "allow" +non-std-lazy-statics = "allow" +non-zero-suggestions = "allow" +nonminimal-bool = "allow" +nonsensical-open-options = "deny" +nonstandard-macro-braces = "allow" +not-unsafe-ptr-arg-deref = "deny" +obfuscated-if-else = "warn" +octal-escapes = "warn" +ok-expect = "warn" +only-used-in-recursion = "warn" +op-ref = "warn" +option-as-ref-cloned = "allow" +option-as-ref-deref = "warn" +option-env-unwrap = "deny" +option-filter-map = "warn" +option-if-let-else = "allow" +option-map-or-none = "warn" +option-map-unit-fn = "warn" +option-option = "allow" +or-fun-call = "allow" +or-then-unwrap = "warn" +out-of-bounds-indexing = "deny" +overly-complex-bool-expr = "allow" +owned-cow = "warn" +panic = "allow" +panic-in-result-fn = "allow" +panicking-overflow-checks = "deny" +panicking-unwrap = "deny" +partial-pub-fields = "allow" +partialeq-ne-impl = "warn" +partialeq-to-none = "warn" +path-buf-push-overwrite = "allow" +path-ends-with-ext = "warn" +pathbuf-init-then-push = "allow" +pattern-type-mismatch = "allow" +permissions-set-readonly-false = "warn" +pointer-format = "allow" +pointers-in-nomem-asm-block = "warn" +possible-missing-comma = "deny" +possible-missing-else = "warn" +precedence = "warn" +precedence-bits = "allow" +print-in-format-impl = "warn" +print-literal = "warn" +print-stderr = "allow" +print-stdout = "allow" +print-with-newline = "warn" +println-empty-string = "warn" +ptr-arg = "warn" +ptr-as-ptr = "allow" +ptr-cast-constness = "allow" +ptr-eq = "warn" +ptr-offset-by-literal = "allow" +ptr-offset-with-cast = "warn" +pub-underscore-fields = "allow" +pub-use = "allow" +pub-with-shorthand = "allow" +pub-without-shorthand = "allow" +question-mark = "warn" +question-mark-used = "allow" +range-minus-one = "allow" +range-plus-one = "allow" +range-zip-with-len = "warn" +rc-buffer = "allow" +rc-clone-in-vec-init = "warn" +rc-mutex = "allow" +read-line-without-trim = "deny" +read-zero-byte-vec = "allow" +readonly-write-lock = "warn" +recursive-format-impl = "deny" +redundant-allocation = "warn" +redundant-as-str = "warn" +redundant-async-block = "warn" +redundant-at-rest-pattern = "warn" +redundant-clone = "allow" +redundant-closure = "warn" +redundant-closure-call = "warn" +redundant-closure-for-method-calls = "allow" +redundant-comparisons = "deny" +redundant-else = "allow" +redundant-feature-names = "allow" +redundant-field-names = "warn" +redundant-guards = "warn" +redundant-iter-cloned = "warn" +redundant-locals = "warn" +redundant-pattern = "warn" +redundant-pattern-matching = "warn" +redundant-pub-crate = "allow" +redundant-slicing = "warn" +redundant-static-lifetimes = "warn" +redundant-test-prefix = "allow" +redundant-type-annotations = "allow" +ref-as-ptr = "allow" +ref-binding-to-reference = "allow" +ref-option = "allow" +ref-option-ref = "allow" +ref-patterns = "allow" +regex-creation-in-loops = "warn" +renamed-function-params = "allow" +repeat-once = "warn" +repeat-vec-with-capacity = "warn" +replace-box = "warn" +repr-packed-without-abi = "warn" +reserve-after-initialization = "warn" +rest-pat-in-fully-bound-structs = "allow" +result-filter-map = "warn" +result-large-err = "warn" +result-map-or-into-option = "warn" +result-map-unit-fn = "warn" +result-unit-err = "warn" +return-and-then = "allow" +return-self-not-must-use = "allow" +reversed-empty-ranges = "deny" +same-functions-in-if-condition = "allow" +same-item-push = "warn" +same-length-and-capacity = "allow" +same-name-method = "allow" +search-is-some = "allow" +seek-from-current = "warn" +seek-to-start-instead-of-rewind = "warn" +self-assignment = "deny" +self-named-constructors = "warn" +self-named-module-files = "allow" +self-only-used-in-recursion = "allow" +semicolon-if-nothing-returned = "allow" +semicolon-inside-block = "allow" +semicolon-outside-block = "allow" +separated-literal-suffix = "allow" +serde-api-misuse = "deny" +set-contains-or-insert = "allow" +shadow-reuse = "allow" +shadow-same = "allow" +shadow-unrelated = "allow" +short-circuit-statement = "warn" +should-implement-trait = "warn" +should-panic-without-expect = "allow" +significant-drop-in-scrutinee = "allow" +significant-drop-tightening = "allow" +similar-names = "allow" +single-call-fn = "allow" +single-char-add-str = "warn" +single-char-lifetime-names = "allow" +single-char-pattern = "allow" +single-component-path-imports = "warn" +single-element-loop = "warn" +single-match = "warn" +single-match-else = "allow" +single-option-map = "allow" +single-range-in-vec-init = "warn" +size-of-in-element-count = "deny" +size-of-ref = "warn" +skip-while-next = "warn" +sliced-string-as-bytes = "warn" +slow-vector-initialization = "warn" +some-filter = "warn" +stable-sort-primitive = "allow" +std-instead-of-alloc = "allow" +std-instead-of-core = "allow" +str-split-at-newline = "allow" +str-to-string = "allow" +string-add = "allow" +string-add-assign = "allow" +string-extend-chars = "warn" +string-from-utf8-as-bytes = "warn" +string-lit-as-bytes = "allow" +string-lit-chars-any = "allow" +string-slice = "allow" +strlen-on-c-strings = "warn" +struct-excessive-bools = "allow" +struct-field-names = "allow" +suboptimal-flops = "allow" +suspicious-arithmetic-impl = "warn" +suspicious-assignment-formatting = "warn" +suspicious-command-arg-space = "warn" +suspicious-doc-comments = "warn" +suspicious-else-formatting = "warn" +suspicious-map = "warn" +suspicious-op-assign-impl = "warn" +suspicious-open-options = "warn" +suspicious-operation-groupings = "allow" +suspicious-splitn = "deny" +suspicious-to-owned = "warn" +suspicious-unary-op-formatting = "warn" +suspicious-xor-used-as-pow = "allow" +swap-ptr-to-ref = "warn" +swap-with-temporary = "warn" +tabs-in-doc-comments = "warn" +temporary-assignment = "warn" +test-attr-in-doctest = "warn" +tests-outside-test-module = "allow" +to-digit-is-some = "warn" +to-string-in-format-args = "warn" +to-string-trait-impl = "warn" +todo = "allow" +too-long-first-doc-paragraph = "allow" +too-many-arguments = "warn" +too-many-lines = "allow" +toplevel-ref-arg = "warn" +trailing-empty-array = "allow" +trait-duplication-in-bounds = "allow" +transmute-bytes-to-str = "warn" +transmute-int-to-bool = "warn" +transmute-int-to-non-zero = "warn" +transmute-null-to-fn = "deny" +transmute-ptr-to-ptr = "allow" +transmute-ptr-to-ref = "warn" +transmute-undefined-repr = "allow" +transmutes-expressible-as-ptr-casts = "warn" +transmuting-null = "deny" +trim-split-whitespace = "warn" +trivial-regex = "allow" +trivially-copy-pass-by-ref = "allow" +try-err = "allow" +tuple-array-conversions = "allow" +type-complexity = "warn" +type-id-on-box = "warn" +type-repetition-in-bounds = "allow" +unbuffered-bytes = "warn" +unchecked-time-subtraction = "allow" +unconditional-recursion = "warn" +undocumented-unsafe-blocks = "allow" +unicode-not-nfc = "allow" +unimplemented = "allow" +uninhabited-references = "allow" +uninit-assumed-init = "deny" +uninit-vec = "deny" +uninlined-format-args = "allow" +unit-arg = "warn" +unit-cmp = "deny" +unit-hash = "deny" +unit-return-expecting-ord = "deny" +unnecessary-box-returns = "allow" +unnecessary-cast = "warn" +unnecessary-clippy-cfg = "warn" +unnecessary-debug-formatting = "allow" +unnecessary-fallible-conversions = "warn" +unnecessary-filter-map = "warn" +unnecessary-find-map = "warn" +unnecessary-first-then-check = "warn" +unnecessary-fold = "warn" +unnecessary-get-then-check = "warn" +unnecessary-join = "allow" +unnecessary-lazy-evaluations = "warn" +unnecessary-literal-bound = "allow" +unnecessary-literal-unwrap = "warn" +unnecessary-map-on-constructor = "warn" +unnecessary-map-or = "warn" +unnecessary-min-or-max = "warn" +unnecessary-mut-passed = "warn" +unnecessary-operation = "warn" +unnecessary-option-map-or-else = "warn" +unnecessary-owned-empty-strings = "warn" +unnecessary-result-map-or-else = "warn" +unnecessary-safety-comment = "allow" +unnecessary-safety-doc = "allow" +unnecessary-self-imports = "allow" +unnecessary-semicolon = "allow" +unnecessary-sort-by = "warn" +unnecessary-struct-initialization = "allow" +unnecessary-to-owned = "warn" +unnecessary-trailing-comma = "allow" +unnecessary-unwrap = "warn" +unnecessary-wraps = "allow" +unneeded-field-pattern = "allow" +unneeded-struct-pattern = "warn" +unneeded-wildcard-pattern = "warn" +unnested-or-patterns = "allow" +unreachable = "allow" +unreadable-literal = "allow" +unsafe-derive-deserialize = "allow" +unsafe-removed-from-name = "warn" +unseparated-literal-suffix = "allow" +unsound-collection-transmute = "deny" +unused-async = "allow" +unused-enumerate-index = "warn" +unused-format-specs = "warn" +unused-io-amount = "deny" +unused-peekable = "allow" +unused-result-ok = "allow" +unused-rounding = "allow" +unused-self = "allow" +unused-trait-names = "allow" +unused-unit = "warn" +unusual-byte-groupings = "warn" +unwrap-in-result = "allow" +unwrap-or-default = "warn" +unwrap-used = "allow" +upper-case-acronyms = "warn" +use-debug = "allow" +use-self = "allow" +used-underscore-binding = "allow" +used-underscore-items = "allow" +useless-asref = "warn" +useless-attribute = "deny" +useless-borrows-in-formatting = "warn" +useless-concat = "warn" +useless-conversion = "warn" +useless-format = "warn" +useless-let-if-seq = "allow" +useless-nonzero-new-unchecked = "warn" +useless-transmute = "warn" +useless-vec = "warn" +vec-box = "warn" +vec-init-then-push = "warn" +vec-resize-to-zero = "deny" +verbose-bit-mask = "allow" +verbose-file-reads = "allow" +volatile-composites = "allow" +waker-clone-wake = "warn" +while-float = "allow" +while-immutable-condition = "deny" +while-let-loop = "warn" +while-let-on-iterator = "warn" +wildcard-dependencies = "allow" +wildcard-enum-match-arm = "allow" +wildcard-imports = "allow" +wildcard-in-or-patterns = "warn" +write-literal = "warn" +write-with-newline = "warn" +writeln-empty-string = "warn" +wrong-self-convention = "warn" +wrong-transmute = "deny" +zero-divided-by-zero = "warn" +zero-prefixed-literal = "warn" +zero-ptr = "warn" +zero-repeat-side-effects = "warn" +zero-sized-map-values = "allow" +zombie-processes = "warn" +zst-offset = "deny" + +[workspace.lints.rust] +aarch64-softfloat-neon = "warn" +absolute-paths-not-starting-with-crate = "allow" +ambiguous-associated-items = "deny" +ambiguous-derive-helpers = "warn" +ambiguous-glob-imported-traits = "warn" +ambiguous-glob-imports = "deny" +ambiguous-glob-reexports = "warn" +ambiguous-import-visibilities = "warn" +ambiguous-negative-literals = "allow" +ambiguous-panic-imports = "warn" +ambiguous-wide-pointer-comparisons = "warn" +anonymous-parameters = "warn" +arithmetic-overflow = "deny" +array-into-iter = "warn" +asm-sub-register = "warn" +async-fn-in-trait = "warn" +bad-asm-style = "warn" +bare-trait-objects = "warn" +binary-asm-labels = "deny" +bindings-with-variant-name = "deny" +boxed-slice-into-iter = "warn" +break-with-label-and-loop = "warn" +clashing-extern-declarations = "warn" +closure-returning-async-block = "allow" +coherence-leak-check = "warn" +conflicting-repr-hints = "deny" +confusable-idents = "warn" +const-evaluatable-unchecked = "warn" +const-item-interior-mutations = "warn" +const-item-mutation = "warn" +dangerous-implicit-autorefs = "deny" +dangling-pointers-from-locals = "warn" +dangling-pointers-from-temporaries = "warn" +dead-code = "warn" +dead-code-pub-in-binary = "allow" +default-overrides-default-fields = "deny" +dependency-on-unit-never-type-fallback = "deny" +deprecated = "warn" +deprecated-in-future = "allow" +deprecated-llvm-intrinsic = "allow" +deprecated-safe-2024 = "allow" +deprecated-where-clause-location = "warn" +deref-into-dyn-supertrait = "allow" +deref-nullptr = "deny" +double-negations = "warn" +drop-bounds = "warn" +dropping-copy-types = "warn" +dropping-references = "warn" +duplicate-features = "deny" +duplicate-macro-attributes = "warn" +dyn-drop = "warn" +edition-2024-expr-fragment-specifier = "allow" +elided-lifetimes-in-associated-constant = "deny" +elided-lifetimes-in-paths = "allow" +ellipsis-inclusive-range-patterns = "warn" +enum-intrinsics-non-enums = "deny" +explicit-builtin-cfgs-in-flags = "deny" +explicit-outlives-requirements = "allow" +exported-private-dependencies = "warn" +ffi-unwind-calls = "allow" +float-literal-f32-fallback = "warn" +for-loops-over-fallibles = "warn" +forbidden-lint-groups = "warn" +forgetting-copy-types = "warn" +forgetting-references = "warn" +function-casts-as-integer = "warn" +function-item-references = "warn" +fuzzy-provenance-casts = "allow" +hidden-glob-reexports = "warn" +if-let-rescope = "allow" +ill-formed-attribute-input = "deny" +impl-trait-overcaptures = "allow" +impl-trait-redundant-captures = "allow" +improper-ctypes = "warn" +improper-ctypes-definitions = "warn" +improper-gpu-kernel-arg = "warn" +incomplete-features = "warn" +incomplete-include = "deny" +ineffective-unstable-trait-impl = "deny" +inline-no-sanitize = "warn" +integer-to-ptr-transmutes = "warn" +internal-eq-trait-method-impls = "warn" +internal-features = "warn" +invalid-atomic-ordering = "deny" +invalid-doc-attributes = "warn" +invalid-from-utf8 = "warn" +invalid-from-utf8-unchecked = "deny" +invalid-macro-export-arguments = "deny" +invalid-nan-comparisons = "warn" +invalid-null-arguments = "deny" +invalid-reference-casting = "deny" +invalid-type-param-default = "deny" +invalid-value = "warn" +irrefutable-let-patterns = "warn" +keyword-idents-2018 = "allow" +keyword-idents-2024 = "allow" +large-assignments = "warn" +late-bound-lifetime-arguments = "warn" +legacy-derive-helpers = "deny" +let-underscore-drop = "allow" +let-underscore-lock = "deny" +linker-info = "allow" +linker-messages = "warn" +long-running-const-eval = "deny" +lossy-provenance-casts = "allow" +macro-expanded-macro-exports-accessed-by-absolute-paths = "deny" +macro-use-extern-crate = "allow" +malformed-diagnostic-attributes = "warn" +malformed-diagnostic-format-literals = "warn" +map-unit-fn = "warn" +meta-variable-misuse = "allow" +mismatched-lifetime-syntaxes = "warn" +misplaced-diagnostic-attributes = "warn" +missing-abi = "warn" +missing-copy-implementations = "allow" +missing-debug-implementations = "allow" +missing-docs = "allow" +missing-gpu-kernel-export-name = "warn" +missing-unsafe-on-extern = "allow" +mixed-script-confusables = "warn" +multiple-supertrait-upcastable = "allow" +must-not-suspend = "allow" +mutable-transmutes = "deny" +named-arguments-used-positionally = "warn" +named-asm-labels = "deny" +never-type-fallback-flowing-into-unsafe = "deny" +no-mangle-const-items = "deny" +no-mangle-generic-items = "warn" +non-ascii-idents = "allow" +non-camel-case-types = "warn" +non-contiguous-range-endpoints = "warn" +non-exhaustive-omitted-patterns = "allow" +non-fmt-panics = "warn" +non-local-definitions = "warn" +non-shorthand-field-patterns = "warn" +non-snake-case = "warn" +non-upper-case-globals = "warn" +noop-method-call = "warn" +opaque-hidden-inferred-bound = "warn" +out-of-scope-macro-calls = "deny" +overflowing-literals = "deny" +overlapping-range-endpoints = "warn" +path-statements = "warn" +patterns-in-fns-without-body = "deny" +private-bounds = "warn" +private-interfaces = "warn" +proc-macro-derive-resolution-fallback = "deny" +ptr-to-integer-transmute-in-consts = "warn" +pub-use-of-private-extern-crate = "deny" +redundant-imports = "allow" +redundant-lifetimes = "allow" +redundant-semicolons = "warn" +refining-impl-trait-internal = "warn" +refining-impl-trait-reachable = "warn" +renamed-and-removed-lints = "warn" +repr-c-enums-larger-than-int = "warn" +repr-transparent-non-zst-fields = "deny" +resolving-to-items-shadowing-supertrait-items = "allow" +rtsan-nonblocking-async = "warn" +rust-2021-incompatible-closure-captures = "allow" +rust-2021-incompatible-or-patterns = "allow" +rust-2021-prefixes-incompatible-syntax = "allow" +rust-2021-prelude-collisions = "allow" +rust-2024-guarded-string-incompatible-syntax = "allow" +rust-2024-incompatible-pat = "allow" +rust-2024-prelude-collisions = "allow" +self-constructor-from-outer-item = "warn" +semicolon-in-expressions-from-macros = "deny" +shadowing-supertrait-items = "allow" +single-use-lifetimes = "allow" +special-module-name = "warn" +stable-features = "warn" +static-mut-refs = "warn" +suspicious-double-ref-op = "warn" +tail-call-track-caller = "warn" +tail-expr-drop-order = "allow" +test-unstable-lint = "deny" +text-direction-codepoint-in-comment = "deny" +text-direction-codepoint-in-literal = "deny" +trivial-bounds = "warn" +trivial-casts = "allow" +trivial-numeric-casts = "allow" +type-alias-bounds = "warn" +tyvar-behind-raw-pointer = "warn" +uncommon-codepoints = "warn" +unconditional-panic = "deny" +unconditional-recursion = "warn" +uncovered-param-in-projection = "warn" +undropped-manually-drops = "deny" +unexpected-cfgs = "warn" +unfulfilled-lint-expectations = "warn" +ungated-async-fn-track-caller = "warn" +uninhabited-static = "deny" +unit-bindings = "allow" +unknown-crate-types = "deny" +unknown-diagnostic-attributes = "warn" +unknown-lints = "warn" +unnameable-test-items = "warn" +unnameable-types = "allow" +unnecessary-transmutes = "warn" +unpredictable-function-pointer-comparisons = "warn" +unqualified-local-imports = "allow" +unreachable-cfg-select-predicates = "warn" +unreachable-code = "warn" +unreachable-patterns = "warn" +unreachable-pub = "allow" +unsafe-attr-outside-unsafe = "allow" +unsafe-code = "allow" +unsafe-op-in-unsafe-fn = "allow" +unstable-features = "allow" +unstable-name-collisions = "warn" +unstable-syntax-pre-expansion = "warn" +unsupported-calling-conventions = "warn" +unused-allocation = "warn" +unused-assignments = "warn" +unused-associated-type-bounds = "warn" +unused-attributes = "warn" +unused-braces = "warn" +unused-comparisons = "warn" +unused-crate-dependencies = "allow" +unused-doc-comments = "warn" +unused-extern-crates = "allow" +unused-features = "warn" +unused-import-braces = "allow" +unused-imports = "warn" +unused-labels = "warn" +unused-lifetimes = "allow" +unused-macro-rules = "allow" +unused-macros = "warn" +unused-must-use = "warn" +unused-mut = "warn" +unused-parens = "warn" +unused-qualifications = "allow" +unused-results = "allow" +unused-unsafe = "warn" +unused-variables = "warn" +unused-visibilities = "warn" +useless-deprecated = "deny" +useless-ptr-null-checks = "warn" +uses-power-alignment = "warn" +varargs-without-pattern = "deny" +variant-size-differences = "allow" +warnings = "warn" +while-true = "warn" + +[workspace.lints.rustdoc] +bare-urls = "warn" +broken-intra-doc-links = "warn" +invalid-codeblock-attributes = "warn" +invalid-html-tags = "warn" +invalid-rust-codeblocks = "warn" +missing-crate-level-docs = "allow" +missing-doc-code-examples = "allow" +private-doc-tests = "allow" +private-intra-doc-links = "warn" +redundant-explicit-links = "warn" +unescaped-backticks = "allow" diff --git a/rust-toolchain.toml b/rust-toolchain.toml new file mode 100644 index 0000000..2abcf93 --- /dev/null +++ b/rust-toolchain.toml @@ -0,0 +1,2 @@ +[toolchain] +channel = "1.97"