@@ -22,19 +22,52 @@ description = "A Rust framework for developing WSL plugins using safe and idioma
2222[patch .crates-io ]
2323wslpluginapi-sys = { version = " 0.1.0-rc.1" , git = " https://github.com/mveril/wslpluginapi-sys.git" , branch = " develop" }
2424
25+
2526[workspace .lints .rust ]
26- missing_docs = " warn"
27- missing_errors_doc = " warn"
28- missing_panics_doc = " warn"
29- pub_use_of_private_imports = " allow"
27+ unused = " warn"
28+ future_incompatible = " deny"
3029
3130[workspace .lints .clippy ]
32- all = " warn"
31+ all = { level = " warn" , priority = -1 }
3332pedantic = { level = " warn" , priority = -1 }
3433nursery = { level = " warn" , priority = -1 }
35- # useful lib lints
34+ cargo = {level = " warn" , priority = -1 }
35+ # Enable some restriction
3636needless_pass_by_value = " warn"
3737implicit_clone = " warn"
3838unnecessary_wraps = " warn"
39- unwrap_used = " warn"
40- expect_used = " warn"
39+ missing_const_for_fn = " warn"
40+ missing_inline_in_public_items = " warn"
41+ unnecessary_safety_doc = " deny"
42+
43+ # ---- Strong DENY (CI-breaking, catch critical bugs) ----
44+ unwrap_used = " deny" # Avoid panics in production.
45+ expect_used = " deny" # Same as unwrap, no `.expect`.
46+ panic = " deny" # No panic! in library code.
47+ todo = " deny" # No todo! in shipped code.
48+ print_stdout = " deny" # Use logging, not println.
49+ print_stderr = " deny" # Use logging, not eprintln.
50+ dbg_macro = " deny" # No dbg! in release builds.
51+ mem_forget = " deny" # Prevent memory leaks.
52+ await_holding_lock = " deny" # Prevent async deadlocks with held locks.
53+ exit = " deny" # Libraries must not kill the process.
54+
55+ # ---- Useful WARN (signal, but not blocking) ----
56+ undocumented_unsafe_blocks = " warn" # Every unsafe block must be justified with SAFETY.
57+ missing_assert_message = " warn" # Clear messages for all asserts.
58+ integer_division = " warn" # Be explicit about truncating integer division.
59+ indexing_slicing = " warn" # Can panic if index is wrong.
60+ float_arithmetic = " warn" # Flag nondeterministic floating arithmetic.
61+ mutable_key_type = " warn" # Prevent mutable keys in maps (subtle bugs).
62+ manual_non_exhaustive = " warn" # Use #[non_exhaustive] instead of manual tricks.
63+ wrong_self_convention = " warn" # Enforce idiomatic naming for as_/to_/into_ methods.
64+ rc_mutex = " warn"
65+ use_debug = " warn"
66+
67+ [workspace .lints .rustdoc ]
68+ all = " warn"
69+ broken_intra_doc_links = " forbid"
70+ private_intra_doc_links = " deny"
71+ invalid_rust_codeblocks = " deny"
72+ bare_urls = " warn"
73+ missing_crate_level_docs = " warn"
0 commit comments