msrv = "1.70.0" disallowed-types = [ { path = "std::sync::Mutex", reason = "Use the faster & simpler non-poisonable primitives in `parking_lot` instead" }, { path = "std::sync::RwLock", reason = "Use the faster & simpler non-poisonable primitives in `parking_lot` instead" }, { path = "std::sync::Condvar", reason = "Use the faster & simpler non-poisonable primitives in `parking_lot` instead" }, { path = "std::sync::Once", reason = "Use the faster & simpler non-poisonable primitives in `parking_lot` instead" }, { path = "std::sync::mpsc::Sender", reason = "Use the non-legacy and faster `crossbeam_channel` crate instead of `std::sync::mpsc`" }, { path = "std::sync::mpsc::SyncSender", reason = "Use the non-legacy and faster `crossbeam_channel` crate instead of `std::sync::mpsc`" }, { path = "std::sync::mpsc::Receiver", reason = "Use the non-legacy and faster `crossbeam_channel` crate instead of `std::sync::mpsc`" }, { path = "std::path::Path", reason = "Use cargo_deny::Path" }, { path = "std::path::PathBuf", reason = "Use cargo_deny::PathBuf" }, { path = "std::collections::LinkedList", reason = "LinkedList as a slow and almost never needed" }, { path = "ring::digest::SHA1_FOR_LEGACY_USE_ONLY", reason = "SHA-1 is cryptographically broken, and we are building new code so should not use it" }, ] disallowed-macros = [ "std::print", "std::println", "std::eprint", "std::eprintln", "std::dbg", ]