diff --git a/Cargo.toml b/Cargo.toml index b0f7823a..e5a02b4b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -28,6 +28,20 @@ repository = "https://github.com/OpenDevicePartnership/embedded-services" [workspace.lints.rust] warnings = "deny" +[workspace.lints.clippy] +correctness = "deny" +expect_used = "deny" +indexing_slicing = "deny" +panic = "deny" +panic_in_result_fn = "deny" +perf = "deny" +suspicious = "deny" +style = "deny" +todo = "deny" +unimplemented = "deny" +unreachable = "deny" +unwrap_used = "deny" + [workspace.dependencies] aligned = "0.4" anyhow = "1.0" diff --git a/debug-service/src/lib.rs b/debug-service/src/lib.rs index f30f73e0..82784721 100644 --- a/debug-service/src/lib.rs +++ b/debug-service/src/lib.rs @@ -1,4 +1,8 @@ #![no_std] +#![allow(clippy::expect_used)] +#![allow(clippy::indexing_slicing)] +#![allow(clippy::unwrap_used)] + mod debug_service; mod defmt_ring_logger; pub mod task; diff --git a/embedded-service/src/broadcaster/immediate.rs b/embedded-service/src/broadcaster/immediate.rs index ee60b971..5e014d40 100644 --- a/embedded-service/src/broadcaster/immediate.rs +++ b/embedded-service/src/broadcaster/immediate.rs @@ -74,6 +74,7 @@ impl Immediate { } #[cfg(test)] +#[allow(clippy::unwrap_used)] mod test { use super::*; use embassy_sync::pubsub::{PubSubChannel, WaitResult}; diff --git a/embedded-service/src/buffer.rs b/embedded-service/src/buffer.rs index 19221ef4..4234d698 100644 --- a/embedded-service/src/buffer.rs +++ b/embedded-service/src/buffer.rs @@ -320,6 +320,7 @@ macro_rules! define_static_buffer { } #[cfg(test)] +#[allow(clippy::unwrap_used)] mod test { extern crate std; use super::*; diff --git a/embedded-service/src/ec_type/mod.rs b/embedded-service/src/ec_type/mod.rs index 1393a3b5..970afd5a 100644 --- a/embedded-service/src/ec_type/mod.rs +++ b/embedded-service/src/ec_type/mod.rs @@ -504,6 +504,7 @@ pub fn mem_map_to_time_alarm_msg( } #[cfg(test)] +#[allow(clippy::unwrap_used)] mod tests { use super::*; diff --git a/embedded-service/src/ec_type/protocols/mctp.rs b/embedded-service/src/ec_type/protocols/mctp.rs index 058856e7..3f71f4cc 100644 --- a/embedded-service/src/ec_type/protocols/mctp.rs +++ b/embedded-service/src/ec_type/protocols/mctp.rs @@ -1341,6 +1341,7 @@ mod tests { } #[test] + #[allow(clippy::panic)] fn odp_header_error_on_short_buffer() { let header = OdpHeader { request_bit: false, diff --git a/embedded-service/src/hid/command.rs b/embedded-service/src/hid/command.rs index 89a91ee0..0798995d 100644 --- a/embedded-service/src/hid/command.rs +++ b/embedded-service/src/hid/command.rs @@ -562,6 +562,8 @@ impl<'a> Command<'a> { } #[cfg(test)] +#[allow(clippy::indexing_slicing)] +#[allow(clippy::unwrap_used)] mod test { use super::*; use crate::define_static_buffer; diff --git a/embedded-service/src/hid/mod.rs b/embedded-service/src/hid/mod.rs index 892531fc..c79e32d6 100644 --- a/embedded-service/src/hid/mod.rs +++ b/embedded-service/src/hid/mod.rs @@ -350,6 +350,7 @@ pub async fn send_request(tp: &Endpoint, to: DeviceId, request: Request<'static> } #[cfg(test)] +#[allow(clippy::unwrap_used)] mod test { use super::*; diff --git a/embedded-service/src/intrusive_list.rs b/embedded-service/src/intrusive_list.rs index 64393b6d..797ec617 100644 --- a/embedded-service/src/intrusive_list.rs +++ b/embedded-service/src/intrusive_list.rs @@ -414,6 +414,7 @@ mod test { } #[test] + #[allow(clippy::unwrap_used)] fn test_monotype_list() { let list_a = IntrusiveList::new(); let list_b = IntrusiveList::new(); @@ -462,6 +463,7 @@ mod test { } #[test] + #[allow(clippy::unwrap_used)] fn test_multitype_list() { // list with multiple types within it (same registration type) let list_a = IntrusiveList::new(); @@ -498,6 +500,7 @@ mod test { } #[test] + #[allow(clippy::unwrap_used)] fn test_multi_list() { // nodes in multiple lists let list_a = IntrusiveList::new(); @@ -554,6 +557,7 @@ mod test { } #[test] + #[allow(clippy::unwrap_used)] fn test_multi_registration_list() { // list with multiple registration types let list = IntrusiveList::new(); diff --git a/embedded-service/src/ipc/deferred.rs b/embedded-service/src/ipc/deferred.rs index 1b3bb4ca..6099c601 100644 --- a/embedded-service/src/ipc/deferred.rs +++ b/embedded-service/src/ipc/deferred.rs @@ -102,6 +102,7 @@ impl Request<'_, M, C, R> { } #[cfg(test)] +#[allow(clippy::unwrap_used)] mod tests { use super::*; use crate::GlobalRawMutex; diff --git a/embedded-service/src/type_c/event.rs b/embedded-service/src/type_c/event.rs index aef14e02..df7dbd4b 100644 --- a/embedded-service/src/type_c/event.rs +++ b/embedded-service/src/type_c/event.rs @@ -517,6 +517,7 @@ impl IntoIterator for PortPending { } #[cfg(test)] +#[allow(clippy::unwrap_used)] mod tests { use super::*; diff --git a/espi-service/src/lib.rs b/espi-service/src/lib.rs index 2c549385..658cb1c0 100644 --- a/espi-service/src/lib.rs +++ b/espi-service/src/lib.rs @@ -1,4 +1,8 @@ #![no_std] +#![allow(clippy::expect_used)] +#![allow(clippy::indexing_slicing)] +#![allow(clippy::panic)] +#![allow(clippy::unwrap_used)] mod espi_service; pub mod task; diff --git a/keyboard-service/Cargo.toml b/keyboard-service/Cargo.toml index 4f105eaf..a549dbf2 100644 --- a/keyboard-service/Cargo.toml +++ b/keyboard-service/Cargo.toml @@ -36,3 +36,6 @@ log = [ "embassy-sync/log", "hid-service/log", ] + +[lints] +workspace = true diff --git a/keyboard-service/src/lib.rs b/keyboard-service/src/lib.rs index 23263d46..30d936a2 100644 --- a/keyboard-service/src/lib.rs +++ b/keyboard-service/src/lib.rs @@ -5,6 +5,10 @@ //! Otherwise, users may manually implement the `HidKeyboard` trait for custom scanning logic //! or hardware-implemented key scanners. #![no_std] +#![allow(clippy::expect_used)] +#![allow(clippy::indexing_slicing)] +#![allow(clippy::panic_in_result_fn)] +#![allow(clippy::unwrap_used)] pub mod gpio_kb; pub mod hid_kb; diff --git a/partition-manager/generation/src/tests/mod.rs b/partition-manager/generation/src/tests/mod.rs index ff6dafc4..e72e44ec 100644 --- a/partition-manager/generation/src/tests/mod.rs +++ b/partition-manager/generation/src/tests/mod.rs @@ -1,3 +1,5 @@ +#![allow(clippy::unwrap_used)] + mod access; mod duplicate; mod overflow; diff --git a/partition-manager/partition-manager/src/test/mod.rs b/partition-manager/partition-manager/src/test/mod.rs index a22a089c..af0efe82 100644 --- a/partition-manager/partition-manager/src/test/mod.rs +++ b/partition-manager/partition-manager/src/test/mod.rs @@ -1,3 +1,6 @@ +#![allow(clippy::panic)] +#![allow(clippy::unwrap_used)] + mod mock; #[cfg(feature = "bdd")] diff --git a/thermal-service/Cargo.toml b/thermal-service/Cargo.toml index f06eae3d..df9dd26f 100644 --- a/thermal-service/Cargo.toml +++ b/thermal-service/Cargo.toml @@ -39,3 +39,6 @@ log = [ "embassy-time/log", "embassy-sync/log", ] + +[lints] +workspace = true \ No newline at end of file diff --git a/thermal-service/src/lib.rs b/thermal-service/src/lib.rs index 9fabbaac..b43c7d7d 100644 --- a/thermal-service/src/lib.rs +++ b/thermal-service/src/lib.rs @@ -1,5 +1,7 @@ //! Thermal service #![no_std] +#![allow(clippy::todo)] +#![allow(clippy::unwrap_used)] use embassy_sync::once_lock::OnceLock; use embedded_sensors_hal_async::temperature::DegreesCelsius; diff --git a/type-c-service/src/lib.rs b/type-c-service/src/lib.rs index 4dfea19f..a53d22e3 100644 --- a/type-c-service/src/lib.rs +++ b/type-c-service/src/lib.rs @@ -120,6 +120,7 @@ impl PortEventStreamer { } #[cfg(test)] +#[allow(clippy::unwrap_used)] mod tests { use core::sync::atomic::AtomicBool; diff --git a/type-c-service/src/service/config.rs b/type-c-service/src/service/config.rs index 7545a481..1baaaab6 100644 --- a/type-c-service/src/service/config.rs +++ b/type-c-service/src/service/config.rs @@ -110,6 +110,7 @@ pub struct Config { } #[cfg(test)] +#[allow(clippy::unwrap_used)] mod tests { use super::*;