diff --git a/clippy.toml b/clippy.toml index f480ca93d7e..5076633912b 100644 --- a/clippy.toml +++ b/clippy.toml @@ -1,77 +1,77 @@ -# There is also a scripts/clippy_wasm/clippy.toml which forbids some methods that are not available in wasm. - -# ----------------------------------------------------------------------------- -# Section identical to scripts/clippy_wasm/clippy.toml: - -msrv = "1.76" - -allow-unwrap-in-tests = true - -# https://doc.rust-lang.org/nightly/clippy/lint_configuration.html#avoid-breaking-exported-api -# We want suggestions, even if it changes public API. -avoid-breaking-exported-api = false - -max-fn-params-bools = 2 # TODO(emilk): decrease this to 1 - -# https://rust-lang.github.io/rust-clippy/master/index.html#/large_include_file -max-include-file-size = 1000000 - -# https://rust-lang.github.io/rust-clippy/master/index.html#/type_complexity -type-complexity-threshold = 350 - -# ----------------------------------------------------------------------------- - -# https://rust-lang.github.io/rust-clippy/master/index.html#disallowed_macros -disallowed-macros = [ - 'dbg', - 'std::unimplemented', - - # TODO(emilk): consider forbidding these to encourage the use of proper log stream, and then explicitly allow legitimate uses - # 'std::eprint', - # 'std::eprintln', - # 'std::print', - # 'std::println', -] - -# https://rust-lang.github.io/rust-clippy/master/index.html#disallowed_methods -disallowed-methods = [ - "std::env::temp_dir", # Use the tempdir crate instead - - # There are many things that aren't allowed on wasm, - # but we cannot disable them all here (because of e.g. https://github.com/rust-lang/rust-clippy/issues/10406) - # so we do that in `clipppy_wasm.toml` instead. - - "std::thread::spawn", # Use `std::thread::Builder` and name the thread - - "sha1::Digest::new", # SHA1 is cryptographically broken - - "std::panic::catch_unwind", # We compile with `panic = "abort"` -] - -# https://rust-lang.github.io/rust-clippy/master/index.html#disallowed_names -disallowed-names = [] - -# https://rust-lang.github.io/rust-clippy/master/index.html#disallowed_types -disallowed-types = [ - # Use the faster & simpler non-poisonable primitives in `parking_lot` instead - "std::sync::Mutex", - "std::sync::RwLock", - "std::sync::Condvar", - # "std::sync::Once", # enabled for now as the `log_once` macro uses it internally - - "ring::digest::SHA1_FOR_LEGACY_USE_ONLY", # SHA1 is cryptographically broken - - "winit::dpi::LogicalSize", # We do our own pixels<->point conversion, taking `egui_ctx.zoom_factor` into account - "winit::dpi::LogicalPosition", # We do our own pixels<->point conversion, taking `egui_ctx.zoom_factor` into account -] - -# ----------------------------------------------------------------------------- - -# Allow-list of words for markdown in docstrings https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown -doc-valid-idents = [ - # You must also update the same list in the root `clippy.toml`! - "AccessKit", - "WebGL", - "WebGPU", - "..", -] +# There is also a scripts/clippy_wasm/clippy.toml which forbids some methods that are not available in wasm. + +# ----------------------------------------------------------------------------- +# Section identical to scripts/clippy_wasm/clippy.toml: + +msrv = "1.76" + +allow-unwrap-in-tests = true + +# https://doc.rust-lang.org/nightly/clippy/lint_configuration.html#avoid-breaking-exported-api +# We want suggestions, even if it changes public API. +avoid-breaking-exported-api = false + +max-fn-params-bools = 2 # TODO(emilk): decrease this to 1 + +# https://rust-lang.github.io/rust-clippy/master/index.html#/large_include_file +max-include-file-size = 1000000 + +# https://rust-lang.github.io/rust-clippy/master/index.html#/type_complexity +type-complexity-threshold = 350 + +# ----------------------------------------------------------------------------- + +# https://rust-lang.github.io/rust-clippy/master/index.html#disallowed_macros +disallowed-macros = [ + 'dbg', + 'std::unimplemented', + + # TODO(emilk): consider forbidding these to encourage the use of proper log stream, and then explicitly allow legitimate uses + # 'std::eprint', + # 'std::eprintln', + # 'std::print', + # 'std::println', +] + +# https://rust-lang.github.io/rust-clippy/master/index.html#disallowed_methods +disallowed-methods = [ + "std::env::temp_dir", # Use the tempdir crate instead + + # There are many things that aren't allowed on wasm, + # but we cannot disable them all here (because of e.g. https://github.com/rust-lang/rust-clippy/issues/10406) + # so we do that in `clipppy_wasm.toml` instead. + + "std::thread::spawn", # Use `std::thread::Builder` and name the thread + + "sha1::Digest::new", # SHA1 is cryptographically broken + + "std::panic::catch_unwind", # We compile with `panic = "abort"` +] + +# https://rust-lang.github.io/rust-clippy/master/index.html#disallowed_names +disallowed-names = [] + +# https://rust-lang.github.io/rust-clippy/master/index.html#disallowed_types +disallowed-types = [ + # Use the faster & simpler non-poisonable primitives in `parking_lot` instead + "std::sync::Mutex", + "std::sync::RwLock", + "std::sync::Condvar", + # "std::sync::Once", # enabled for now as the `log_once` macro uses it internally + + "ring::digest::SHA1_FOR_LEGACY_USE_ONLY", # SHA1 is cryptographically broken + + "winit::dpi::LogicalSize", # We do our own pixels<->point conversion, taking `egui_ctx.zoom_factor` into account + "winit::dpi::LogicalPosition", # We do our own pixels<->point conversion, taking `egui_ctx.zoom_factor` into account +] + +# ----------------------------------------------------------------------------- + +# Allow-list of words for markdown in docstrings https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown +doc-valid-idents = [ + # You must also update the same list in the root `clippy.toml`! + "AccessKit", + "WebGL", + "WebGPU", + "..", +]