rsycv 0.0.1

Computer Vision Library implemented in Rust
Documentation
# 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.85"

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 `scripts/clippy_wasm/clippy.toml`!
  "AccessKit",
  "WebGL",
  "WebGL1",
  "WebGL2",
  "WebGPU",
  "VirtualBox",
  "..",
]