You've already forked lint-policy
542 lines
16 KiB
TOML
542 lines
16 KiB
TOML
[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
|