create recovery timer mechanism #276
clippy
88 warnings
Details
Results
Message level | Amount |
---|---|
Internal compiler error | 0 |
Error | 0 |
Warning | 88 |
Note | 0 |
Help | 0 |
Versions
- rustc 1.78.0 (9b00956e5 2024-04-29)
- cargo 1.78.0 (54d8815d0 2024-03-26)
- clippy 0.1.78 (9b00956 2024-04-29)
Annotations
Check warning on line 144 in boards/recovery/src/main.rs
github-actions / clippy
empty `loop {}` wastes CPU cycles
warning: empty `loop {}` wastes CPU cycles
--> boards/recovery/src/main.rs:144:9
|
144 | loop {}
| ^^^^^^^
|
= help: you should either use `panic!()` or add a call pausing or sleeping the thread to the loop body
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_loop
= note: `#[warn(clippy::empty_loop)]` on by default
Check warning on line 167 in boards/sensor/src/main.rs
github-actions / clippy
empty `loop {}` wastes CPU cycles
warning: empty `loop {}` wastes CPU cycles
--> boards/sensor/src/main.rs:167:9
|
167 | loop {}
| ^^^^^^^
|
= help: you should either use `panic!()` or add a call pausing or sleeping the thread to the loop body
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_loop
= note: `#[warn(clippy::empty_loop)]` on by default
Check warning on line 134 in boards/sensor/src/sbg_manager.rs
github-actions / clippy
using `clone` on type `[u8; 1024]` which implements the `Copy` trait
warning: using `clone` on type `[u8; 1024]` which implements the `Copy` trait
--> boards/sensor/src/sbg_manager.rs:134:33
|
134 | let buf_clone = buf.clone();
| ^^^^^^^^^^^ help: try dereferencing it: `*buf`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
= note: `#[warn(clippy::clone_on_copy)]` on by default
Check warning on line 73 in boards/sensor/src/communication.rs
github-actions / clippy
this function has too many arguments (8/7)
warning: this function has too many arguments (8/7)
--> boards/sensor/src/communication.rs:64:5
|
64 | / pub fn new<S>(
65 | | can_rx: Pin<PA23, AlternateI>,
66 | | can_tx: Pin<PA22, AlternateI>,
67 | | pclk_can: Pclk<Can0, Gclk0Id>,
... |
72 | | loopback: bool,
73 | | ) -> (Self, S::Inc)
| |_______________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
= note: `#[warn(clippy::too_many_arguments)]` on by default
Check warning on line 59 in boards/sensor/src/communication.rs
github-actions / clippy
very complex type used. Consider factoring parts into `type` definitions
warning: very complex type used. Consider factoring parts into `type` definitions
--> boards/sensor/src/communication.rs:54:14
|
54 | pub can: Can<
| ______________^
55 | | 'static,
56 | | Can0,
57 | | Dependencies<Can0, Gclk0Id, Pin<PA23, Alternate<I>>, Pin<PA22, Alternate<I>>, CAN0>,
58 | | Capacities,
59 | | >,
| |_____^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
= note: `#[warn(clippy::type_complexity)]` on by default
Check warning on line 71 in boards/recovery/src/communication.rs
github-actions / clippy
this function has too many arguments (8/7)
warning: this function has too many arguments (8/7)
--> boards/recovery/src/communication.rs:62:5
|
62 | / pub fn new<S>(
63 | | can_rx: Pin<PA23, AlternateI>,
64 | | can_tx: Pin<PA22, AlternateI>,
65 | | pclk_can: Pclk<Can0, Gclk0Id>,
... |
70 | | loopback: bool,
71 | | ) -> (Self, S::Inc)
| |_______________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
= note: `#[warn(clippy::too_many_arguments)]` on by default
Check warning on line 57 in boards/recovery/src/communication.rs
github-actions / clippy
very complex type used. Consider factoring parts into `type` definitions
warning: very complex type used. Consider factoring parts into `type` definitions
--> boards/recovery/src/communication.rs:52:14
|
52 | pub can: Can<
| ______________^
53 | | 'static,
54 | | Can0,
55 | | Dependencies<Can0, Gclk0Id, Pin<PA23, Alternate<I>>, Pin<PA22, Alternate<I>>, CAN0>,
56 | | Capacities,
57 | | >,
| |_____^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
= note: `#[warn(clippy::type_complexity)]` on by default
Check warning on line 77 in boards/recovery/src/state_machine/mod.rs
github-actions / clippy
variants `DeployDrogue` and `DeployMain` are never constructed
warning: variants `DeployDrogue` and `DeployMain` are never constructed
--> boards/recovery/src/state_machine/mod.rs:77:5
|
76 | pub enum RocketEvents {
| ------------ variants in this enum
77 | DeployDrogue,
| ^^^^^^^^^^^^
78 | DeployMain,
| ^^^^^^^^^^
Check warning on line 18 in boards/recovery/src/state_machine/mod.rs
github-actions / clippy
methods `lock_can`, `lock_data_manager`, `lock_gpio`, and `lock_recovery_timer` are never used
warning: methods `lock_can`, `lock_data_manager`, `lock_gpio`, and `lock_recovery_timer` are never used
--> boards/recovery/src/state_machine/mod.rs:18:8
|
17 | pub trait StateMachineSharedResources {
| --------------------------- methods in this trait
18 | fn lock_can(&mut self, f: &dyn Fn(&mut CanDevice0));
| ^^^^^^^^
19 | fn lock_data_manager(&mut self, f: &dyn Fn(&mut DataManager));
| ^^^^^^^^^^^^^^^^^
20 | fn lock_gpio(&mut self, f: &dyn Fn(&mut GPIOManager));
| ^^^^^^^^^
21 | fn lock_recovery_timer(&mut self, f: &dyn Fn(&mut TimerCounter2));
| ^^^^^^^^^^^^^^^^^^^
|
= note: `#[warn(dead_code)]` on by default
Check warning on line 127 in boards/camera/src/main.rs
github-actions / clippy
empty `loop {}` wastes CPU cycles
warning: empty `loop {}` wastes CPU cycles
--> boards/camera/src/main.rs:127:9
|
127 | loop {}
| ^^^^^^^
|
= help: you should either use `panic!()` or add a call pausing or sleeping the thread to the loop body
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_loop
= note: `#[warn(clippy::empty_loop)]` on by default
Check warning on line 111 in boards/camera/src/state_machine/mod.rs
github-actions / clippy
an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true
warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true
--> boards/camera/src/state_machine/mod.rs:111:1
|
111 | impl Into<state::StateData> for RocketStates {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: `impl From<Local> for Foreign` is allowed by the orphan rules, for more information see
https://doc.rust-lang.org/reference/items/implementations.html#trait-implementation-coherence
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into
= note: `#[warn(clippy::from_over_into)]` on by default
help: replace the `Into` implementation with `From<state_machine::RocketStates>`
|
111 ~ impl From<RocketStates> for state::StateData {
112 ~ fn from(val: RocketStates) -> Self {
113 ~ match val {
|
Check warning on line 113 in boards/power/src/main.rs
github-actions / clippy
empty `loop {}` wastes CPU cycles
warning: empty `loop {}` wastes CPU cycles
--> boards/power/src/main.rs:113:9
|
113 | loop {}
| ^^^^^^^
|
= help: you should either use `panic!()` or add a call pausing or sleeping the thread to the loop body
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_loop
= note: `#[warn(clippy::empty_loop)]` on by default
Check warning on line 69 in boards/power/src/communication.rs
github-actions / clippy
this function has too many arguments (8/7)
warning: this function has too many arguments (8/7)
--> boards/power/src/communication.rs:60:5
|
60 | / pub fn new<S>(
61 | | can_rx: Pin<PA23, AlternateI>,
62 | | can_tx: Pin<PA22, AlternateI>,
63 | | pclk_can: Pclk<Can0, Gclk0Id>,
... |
68 | | loopback: bool,
69 | | ) -> (Self, S::Inc)
| |_______________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
= note: `#[warn(clippy::too_many_arguments)]` on by default
Check warning on line 55 in boards/power/src/communication.rs
github-actions / clippy
very complex type used. Consider factoring parts into `type` definitions
warning: very complex type used. Consider factoring parts into `type` definitions
--> boards/power/src/communication.rs:50:14
|
50 | pub can: Can<
| ______________^
51 | | 'static,
52 | | Can0,
53 | | Dependencies<Can0, Gclk0Id, Pin<PA23, Alternate<I>>, Pin<PA22, Alternate<I>>, CAN0>,
54 | | Capacities,
55 | | >,
| |_____^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
= note: `#[warn(clippy::type_complexity)]` on by default
Check warning on line 35 in boards/power/src/main.rs
github-actions / clippy
fields `data_manager` and `can0` are never read
warning: fields `data_manager` and `can0` are never read
--> boards/power/src/main.rs:35:9
|
35 | data_manager: DataManager,
| ^^^^^^^^^^^^
36 | can0: CanDevice0,
| ^^^^
...
52 | fn init(cx: init::Context) -> (Shared, Local, init::Monotonics) {
| ------ fields in this struct
Check warning on line 10 in boards/power/src/data_manager.rs
github-actions / clippy
method `handle_data` is never used
warning: method `handle_data` is never used
--> boards/power/src/data_manager.rs:10:12
|
6 | impl DataManager {
| ---------------- method in this implementation
...
10 | pub fn handle_data(&mut self, _data: Message) {
| ^^^^^^^^^^^
Check warning on line 56 in boards/power/src/communication.rs
github-actions / clippy
field `line_interrupts` is never read
warning: field `line_interrupts` is never read
--> boards/power/src/communication.rs:56:5
|
49 | pub struct CanDevice0 {
| ---------- field in this struct
...
56 | line_interrupts: OwnedInterruptSet<Can0, EnabledLine0>,
| ^^^^^^^^^^^^^^^
|
= note: `#[warn(dead_code)]` on by default
Check warning on line 120 in boards/camera/src/data_manager.rs
github-actions / clippy
you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
--> boards/camera/src/data_manager.rs:115:47
|
115 | messages::Data::Sensor(sensor) => match sensor.data {
| _______________________________________________^
116 | | messages::sensor::SensorData::Air(air_data) => {
117 | | self.air = Some(air_data);
118 | | }
119 | | _ => {}
120 | | },
| |_____________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match
help: try
|
115 ~ messages::Data::Sensor(sensor) => if let messages::sensor::SensorData::Air(air_data) = sensor.data {
116 + self.air = Some(air_data);
117 ~ },
|
Check warning on line 122 in boards/camera/src/data_manager.rs
github-actions / clippy
you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
--> boards/camera/src/data_manager.rs:114:9
|
114 | / match data.data {
115 | | messages::Data::Sensor(sensor) => match sensor.data {
116 | | messages::sensor::SensorData::Air(air_data) => {
117 | | self.air = Some(air_data);
... |
121 | | _ => {}
122 | | }
| |_________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match
= note: `#[warn(clippy::single_match)]` on by default
help: try
|
114 ~ if let messages::Data::Sensor(sensor) = data.data { match sensor.data {
115 + messages::sensor::SensorData::Air(air_data) => {
116 + self.air = Some(air_data);
117 + }
118 + _ => {}
119 + } }
|
Check warning on line 67 in boards/camera/src/communication.rs
github-actions / clippy
this function has too many arguments (8/7)
warning: this function has too many arguments (8/7)
--> boards/camera/src/communication.rs:58:5
|
58 | / pub fn new<S>(
59 | | can_rx: Pin<PA23, AlternateI>,
60 | | can_tx: Pin<PA22, AlternateI>,
61 | | pclk_can: Pclk<Can0, Gclk0Id>,
... |
66 | | loopback: bool,
67 | | ) -> (Self, S::Inc)
| |_______________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
= note: `#[warn(clippy::too_many_arguments)]` on by default
Check warning on line 53 in boards/camera/src/communication.rs
github-actions / clippy
very complex type used. Consider factoring parts into `type` definitions
warning: very complex type used. Consider factoring parts into `type` definitions
--> boards/camera/src/communication.rs:48:14
|
48 | pub can: Can<
| ______________^
49 | | 'static,
50 | | Can0,
51 | | Dependencies<Can0, Gclk0Id, Pin<PA23, Alternate<I>>, Pin<PA22, Alternate<I>>, CAN0>,
52 | | Capacities,
53 | | >,
| |_____^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
= note: `#[warn(clippy::type_complexity)]` on by default
Check warning on line 77 in boards/camera/src/state_machine/mod.rs
github-actions / clippy
variants `DeployDrogue` and `DeployMain` are never constructed
warning: variants `DeployDrogue` and `DeployMain` are never constructed
--> boards/camera/src/state_machine/mod.rs:77:5
|
76 | pub enum RocketEvents {
| ------------ variants in this enum
77 | DeployDrogue,
| ^^^^^^^^^^^^
78 | DeployMain,
| ^^^^^^^^^^
Check warning on line 18 in boards/camera/src/state_machine/mod.rs
github-actions / clippy
methods `lock_can`, `lock_data_manager`, `lock_gpio`, and `run_em` are never used
warning: methods `lock_can`, `lock_data_manager`, `lock_gpio`, and `run_em` are never used
--> boards/camera/src/state_machine/mod.rs:18:8
|
17 | pub trait StateMachineSharedResources {
| --------------------------- methods in this trait
18 | fn lock_can(&mut self, f: &dyn Fn(&mut CanDevice0));
| ^^^^^^^^
19 | fn lock_data_manager(&mut self, f: &dyn Fn(&mut DataManager));
| ^^^^^^^^^^^^^^^^^
20 | fn lock_gpio(&mut self, f: &dyn Fn(&mut GPIOManager));
| ^^^^^^^^^
21 | fn run_em(&mut self, f: &dyn Fn() -> Result<(), HydraError>);
| ^^^^^^
|
= note: `#[warn(dead_code)]` on by default
Check warning on line 486 in libraries/sbg-rs/src/sbg.rs
github-actions / clippy
you seem to be trying to use `match` for an equality check. Consider using `if`
warning: you seem to be trying to use `match` for an equality check. Consider using `if`
--> libraries/sbg-rs/src/sbg.rs:479:5
|
479 | / match logType {
480 | | // silently handle errors
481 | | // _SbgDebugLogType_SBG_DEBUG_LOG_TYPE_ERROR => error!("SBG Error"),
482 | | _SbgDebugLogType_SBG_DEBUG_LOG_TYPE_WARNING => warn!("SBG Warning"),
... |
485 | | _ => (),
486 | | };
| |_____^ help: try: `if logType == _SbgDebugLogType_SBG_DEBUG_LOG_TYPE_WARNING { warn!("SBG Warning") }`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match
= note: `#[warn(clippy::single_match)]` on by default
Check warning on line 467 in libraries/sbg-rs/src/sbg.rs
github-actions / clippy
unsafe function's docs miss `# Safety` section
warning: unsafe function's docs miss `# Safety` section
--> libraries/sbg-rs/src/sbg.rs:459:1
|
459 | / pub unsafe extern "C" fn sbgPlatformDebugLogMsg(
460 | | _pFileName: *const ::core::ffi::c_char,
461 | | _pFunctionName: *const ::core::ffi::c_char,
462 | | _line: u32,
... |
466 | | _pFormat: *const ::core::ffi::c_char,
467 | | ) {
| |_^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc