You've already forked lint-policy
546 lines
16 KiB
TOML
546 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.3", 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 = -3 }
|
|
complexity = { level = "warn", priority = -3 }
|
|
correctness = { level = "deny", priority = -2 }
|
|
perf = { level = "warn", priority = -3 }
|
|
style = { level = "warn", priority = -3 }
|
|
suspicious = { level = "warn", priority = -3 }
|
|
|
|
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"
|
|
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_crate_versions = "allow"
|
|
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 = "allow"
|
|
unreadable_literal = "warn"
|
|
unsafe_derive_deserialize = "warn"
|
|
unseparated_literal_suffix = "warn"
|
|
unused_async = "warn"
|
|
unused_async_trait_impl = "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"
|
|
with_capacity_zero = "warn"
|
|
zero_sized_map_values = "warn"
|
|
|
|
[workspace.lints.rust]
|
|
deprecated_safe = { level = "forbid", priority = -1 }
|
|
future_incompatible = { level = "deny", priority = -2 }
|
|
keyword_idents = { level = "deny", priority = -2 }
|
|
let_underscore = { level = "warn", priority = -3 }
|
|
nonstandard_style = { level = "warn", priority = -3 }
|
|
refining_impl_trait = { level = "warn", priority = -3 }
|
|
rust_2018_compatibility = { level = "deny", priority = -2 }
|
|
rust_2018_idioms = { level = "deny", priority = -2 }
|
|
rust_2021_compatibility = { level = "deny", priority = -2 }
|
|
rust_2024_compatibility = { level = "deny", priority = -2 }
|
|
unknown_or_malformed_diagnostic_attributes = { level = "deny", priority = -2 }
|
|
unused = { level = "warn", priority = -3 }
|
|
|
|
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"
|
|
c_void_returns = "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_runtime_symbol_definitions = "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"
|
|
suspicious_runtime_symbol_definitions = "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"
|
|
# implicit_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
|