# 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.88" 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 = [ 'std::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 = [ # NOTE: 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. { path = "std::env::temp_dir", readon = "Use the tempfile crate instead" }, { path = "std::panic::catch_unwind", reason = "We compile with `panic = abort" }, { path = "std::thread::spawn", readon = "Use `std::thread::Builder` and name the thread" }, ] # 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 = [ { path = "std::sync::Condvar", reason = "Use parking_lot instead" }, { path = "std::sync::Mutex", reason = "Use epaint::mutex instead" }, { path = "std::sync::RwLock", reason = "Use epaint::mutex instead" }, { path = "winit::dpi::LogicalPosition", reason = "We do our own pixels<->point conversion, taking `egui_ctx.zoom_factor` into account" }, { path = "winit::dpi::LogicalSize", reason = "We do our own pixels<->point conversion, taking `egui_ctx.zoom_factor` into account" }, # "std::sync::Once", # enabled for now as the `log_once` macro uses it internally ] # ----------------------------------------------------------------------------- # 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 `scripts/clippy_wasm/clippy.toml`! "AccessKit", "WebGL", "WebGL1", "WebGL2", "WebGPU", "VirtualBox", "..", ]