Skip to content

create recovery timer mechanism #276

create recovery timer mechanism

create recovery timer mechanism #276

GitHub Actions / clippy succeeded Jun 8, 2024 in 1s

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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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