-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
80 lines (76 loc) · 3.03 KB
/
Copy pathCargo.toml
File metadata and controls
80 lines (76 loc) · 3.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
[package]
name = "sloe"
version = "0.1.0"
edition = "2024"
[[bin]]
name = "sloe"
path = "main.rs"
[dependencies]
sloe_compile = { path = "./compile/" }
kstring = { version = "2.0.4", features = ["max_inline"] }
lsp-server = { version = "0.7.9", default-features = false }
gen-lsp-types = "0.9.0"
serde_json = { version = "1.0.149", default-features = false }
strongly-connected-components = { version = "1.0.0", default-features = false }
[lints.rust]
unused_qualifications = { level = "warn" }
ambiguous-negative-literals = { level = "warn" }
unused_lifetimes = { level = "warn" }
trivial-numeric-casts = { level = "warn" }
# contains false positives when lifetime is used in impl
# single-use-lifetimes = { level = "warn" }
# If you want to contribute, you really don't need to bother with clippy
# I just wanted to try enabling it for myself to maybe find performance issues
[lints.clippy]
todo = { level = "warn" }
shadow_unrelated = { level = "warn" }
unused_trait_names = { level = "warn" }
ref-patterns = { level = "warn" }
pedantic = { level = "warn", priority = -1 }
nursery = { level = "warn", priority = -1 }
int_plus_one = { level = "allow" }
question_mark = { level = "allow" }
items_after_statements = { level = "allow" }
match_like_matches_macro = { level = "allow" }
doc_markdown = { level = "allow" }
bool-to-int-with-if = { level = "allow" }
# might enable later, currently just annoying
type_complexity = { level = "allow" }
single_char_pattern = { level = "allow" }
# generally useful but too many false positives and cases where returning the same trivial expression is perfectly fine
match_same_arms = { level = "allow" }
# has false positives, e.g. for std::path::Path
unnecessary_debug_formatting = { level = "allow" }
redundant_field_names = { level = "allow" }
unwrap_or_default = { level = "allow" }
redundant_closure = { level = "allow" }
collapsible_else_if = { level = "allow" }
# heuristic
too_many_arguments = { level = "allow" }
# sometimes skip(length_of_thing).next is more clear
iter_skip_next = { level = "allow" }
too_many_lines = { level = "allow" }
uninlined_format_args = { level = "allow" }
explicit_iter_loop = { level = "allow" }
similar_names = { level = "allow" }
single_match_else = { level = "allow" }
map_unwrap_or = { level = "allow" }
if_not_else = { level = "allow" }
cast_possible_truncation = { level = "allow" }
cast_sign_loss = { level = "allow" }
cast_possible_wrap = { level = "allow" }
manual_string_new = { level = "allow" }
option_option = { level = "allow" }
elidable_lifetime_names = { level = "allow" }
# not sure how to _only_ allow recursive self in type definitions?
use_self = { level = "allow" }
option_if_let_else = { level = "allow" }
missing_const_for_fn = { level = "allow" }
branches_sharing_code = { level = "allow" }
equatable_if_let = { level = "allow" }
useless_let_if_seq = { level = "allow" }
redundant_closure_for_method_calls = { level = "allow" }
# overkill outside of packages
implicit_hasher = { level = "allow" }
# annoying, not relevant for correctness
inconsistent_struct_constructor = { level = "allow" }