Skip to content

Health manager update #211

Health manager update

Health manager update #211

Triggered via pull request February 6, 2024 00:34
@TomChiavegatoTomChiavegato
synchronize #88
issue-82
Status Success
Total duration 3m 38s
Artifacts

docs.yml

on: pull_request
Deploy Documentation
3m 27s
Deploy Documentation
Fit to window
Zoom out
Zoom in

Annotations

80 warnings
empty `loop {}` wastes CPU cycles: boards/sensor/src/main.rs#L167
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
using `clone` on type `[u8; 1024]` which implements the `Copy` trait: boards/sensor/src/sbg_manager.rs#L134
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
this function has too many arguments (8/7): boards/sensor/src/communication.rs#L64
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
very complex type used. Consider factoring parts into `type` definitions: boards/sensor/src/communication.rs#L54
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
you seem to be trying to use `match` for an equality check. Consider using `if`: libraries/sbg-rs/src/sbg.rs#L479
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
unsafe function's docs miss `# Safety` section: libraries/sbg-rs/src/sbg.rs#L459
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
unneeded `return` statement: libraries/sbg-rs/src/sbg.rs#L421
warning: unneeded `return` statement --> libraries/sbg-rs/src/sbg.rs:421:23 | 421 | Err(_) => return _SbgErrorCode_SBG_READ_ERROR, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 421 | Err(_) => _SbgErrorCode_SBG_READ_ERROR, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
unneeded `return` statement: libraries/sbg-rs/src/sbg.rs#L420
warning: unneeded `return` statement --> libraries/sbg-rs/src/sbg.rs:420:22 | 420 | Ok(_) => return _SbgErrorCode_SBG_NO_ERROR, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 420 | Ok(_) => _SbgErrorCode_SBG_NO_ERROR, | ~~~~~~~~~~~~~~~~~~~~~~~~~~
unsafe function's docs miss `# Safety` section: libraries/sbg-rs/src/sbg.rs#L406
warning: unsafe function's docs miss `# Safety` section --> libraries/sbg-rs/src/sbg.rs:406:5 | 406 | / pub unsafe extern "C" fn SbgFlushFunc( 407 | | pInterface: *mut _SbgInterface, 408 | | _flags: u32, 409 | | ) -> _SbgErrorCode { | |______________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc
unsafe function's docs miss `# Safety` section: libraries/sbg-rs/src/sbg.rs#L354
warning: unsafe function's docs miss `# Safety` section --> libraries/sbg-rs/src/sbg.rs:354:5 | 354 | / pub unsafe extern "C" fn SbgEComReceiveLogFunc( 355 | | _pHandle: *mut _SbgEComHandle, 356 | | msgClass: u32, 357 | | msg: u32, 358 | | pLogData: *const _SbgBinaryLogData, 359 | | _pUserArg: *mut c_void, 360 | | ) -> _SbgErrorCode { | |______________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc
unsafe function's docs miss `# Safety` section: libraries/sbg-rs/src/sbg.rs#L315
warning: unsafe function's docs miss `# Safety` section --> libraries/sbg-rs/src/sbg.rs:315:5 | 315 | / pub unsafe extern "C" fn SbgInterfaceWriteFunc( 316 | | pInterface: *mut _SbgInterface, 317 | | pBuffer: *const c_void, 318 | | bytesToWrite: usize, 319 | | ) -> _SbgErrorCode { | |______________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc
the loop variable `i` is only used to index `array`: libraries/sbg-rs/src/sbg.rs#L298
warning: the loop variable `i` is only used to index `array` --> libraries/sbg-rs/src/sbg.rs:298:18 | 298 | for i in 0..(bytesToRead) { | ^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop = note: `#[warn(clippy::needless_range_loop)]` on by default help: consider using an iterator | 298 | for <item> in array.iter_mut().take((bytesToRead)) { | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
unneeded `return` statement: libraries/sbg-rs/src/sbg.rs#L309
warning: unneeded `return` statement --> libraries/sbg-rs/src/sbg.rs:309:9 | 309 | return _SbgErrorCode_SBG_NO_ERROR; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return = note: `#[warn(clippy::needless_return)]` on by default help: remove `return` | 309 - return _SbgErrorCode_SBG_NO_ERROR; 309 + _SbgErrorCode_SBG_NO_ERROR |
unsafe function's docs miss `# Safety` section: libraries/sbg-rs/src/sbg.rs#L281
warning: unsafe function's docs miss `# Safety` section --> libraries/sbg-rs/src/sbg.rs:281:5 | 281 | / pub unsafe extern "C" fn SbgInterfaceReadFunc( 282 | | _pInterface: *mut _SbgInterface, 283 | | pBuffer: *mut c_void, 284 | | pBytesRead: *mut usize, 285 | | bytesToRead: usize, 286 | | ) -> _SbgErrorCode { | |______________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc = note: `#[warn(clippy::missing_safety_doc)]` on by default
redundant field names in struct initialization: libraries/sbg-rs/src/sbg.rs#L140
warning: redundant field names in struct initialization --> libraries/sbg-rs/src/sbg.rs:140:13 | 140 | handle: handle, | ^^^^^^^^^^^^^^ help: replace it with: `handle` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names = note: `#[warn(clippy::redundant_field_names)]` on by default
unused import: `self::_SbgEComOutputMonitoringPoint as SbgEComOutputMonitoringPoint`: libraries/sbg-rs/src/bindings.rs#L13476
warning: unused import: `self::_SbgEComOutputMonitoringPoint as SbgEComOutputMonitoringPoint` --> libraries/sbg-rs/src/bindings.rs:13476:9 | 13476 | pub use self::_SbgEComOutputMonitoringPoint as SbgEComOutputMonitoringPoint; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `self::_SbgEComClockUtcStatus as SbgEComClockUtcStatus`: libraries/sbg-rs/src/bindings.rs#L10537
warning: unused import: `self::_SbgEComClockUtcStatus as SbgEComClockUtcStatus` --> libraries/sbg-rs/src/bindings.rs:10537:9 | 10537 | pub use self::_SbgEComClockUtcStatus as SbgEComClockUtcStatus; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `self::_SbgEComClockStatus as SbgEComClockStatus`: libraries/sbg-rs/src/bindings.rs#L10527
warning: unused import: `self::_SbgEComClockStatus as SbgEComClockStatus` --> libraries/sbg-rs/src/bindings.rs:10527:9 | 10527 | pub use self::_SbgEComClockStatus as SbgEComClockStatus; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `self::_SbgEComCanBusStatus as SbgEComCanBusStatus`: libraries/sbg-rs/src/bindings.rs#L10251
warning: unused import: `self::_SbgEComCanBusStatus as SbgEComCanBusStatus` --> libraries/sbg-rs/src/bindings.rs:10251:9 | 10251 | pub use self::_SbgEComCanBusStatus as SbgEComCanBusStatus; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `self::_SbgEComGpsHdtStatus as SbgEComGpsHdtStatus`: libraries/sbg-rs/src/bindings.rs#L8535
warning: unused import: `self::_SbgEComGpsHdtStatus as SbgEComGpsHdtStatus` --> libraries/sbg-rs/src/bindings.rs:8535:9 | 8535 | pub use self::_SbgEComGpsHdtStatus as SbgEComGpsHdtStatus; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `self::_SbgEComGpsPosType as SbgEComGpsPosType`: libraries/sbg-rs/src/bindings.rs#L8523
warning: unused import: `self::_SbgEComGpsPosType as SbgEComGpsPosType` --> libraries/sbg-rs/src/bindings.rs:8523:9 | 8523 | pub use self::_SbgEComGpsPosType as SbgEComGpsPosType; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `self::_SbgEComGpsPosStatus as SbgEComGpsPosStatus`: libraries/sbg-rs/src/bindings.rs#L8497
warning: unused import: `self::_SbgEComGpsPosStatus as SbgEComGpsPosStatus` --> libraries/sbg-rs/src/bindings.rs:8497:9 | 8497 | pub use self::_SbgEComGpsPosStatus as SbgEComGpsPosStatus; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `self::_SbgEComGpsVelType as SbgEComGpsVelType`: libraries/sbg-rs/src/bindings.rs#L8485
warning: unused import: `self::_SbgEComGpsVelType as SbgEComGpsVelType` --> libraries/sbg-rs/src/bindings.rs:8485:9 | 8485 | pub use self::_SbgEComGpsVelType as SbgEComGpsVelType; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `self::_SbgEComGpsVelStatus as SbgEComGpsVelStatus`: libraries/sbg-rs/src/bindings.rs#L8473
warning: unused import: `self::_SbgEComGpsVelStatus as SbgEComGpsVelStatus` --> libraries/sbg-rs/src/bindings.rs:8473:9 | 8473 | pub use self::_SbgEComGpsVelStatus as SbgEComGpsVelStatus; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `self::_SbgEComSolutionMode as SbgEComSolutionMode`: libraries/sbg-rs/src/bindings.rs#L8004
warning: unused import: `self::_SbgEComSolutionMode as SbgEComSolutionMode` --> libraries/sbg-rs/src/bindings.rs:8004:9 | 8004 | pub use self::_SbgEComSolutionMode as SbgEComSolutionMode; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `self::_SbgEComCmd as SbgEComCmd`: libraries/sbg-rs/src/bindings.rs#L7306
warning: unused import: `self::_SbgEComCmd as SbgEComCmd` --> libraries/sbg-rs/src/bindings.rs:7306:9 | 7306 | pub use self::_SbgEComCmd as SbgEComCmd; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `self::_SbgEComIdThirdParty as SbgEComIdThirdParty`: libraries/sbg-rs/src/bindings.rs#L7212
warning: unused import: `self::_SbgEComIdThirdParty as SbgEComIdThirdParty` --> libraries/sbg-rs/src/bindings.rs:7212:9 | 7212 | pub use self::_SbgEComIdThirdParty as SbgEComIdThirdParty; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `self::_SbgEComIdNmea1Log as SbgEComIdNmea1Log`: libraries/sbg-rs/src/bindings.rs#L7184
warning: unused import: `self::_SbgEComIdNmea1Log as SbgEComIdNmea1Log` --> libraries/sbg-rs/src/bindings.rs:7184:9 | 7184 | pub use self::_SbgEComIdNmea1Log as SbgEComIdNmea1Log; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `self::_SbgEComNmeaLog as SbgEComNmeaLog`: libraries/sbg-rs/src/bindings.rs#L7152
warning: unused import: `self::_SbgEComNmeaLog as SbgEComNmeaLog` --> libraries/sbg-rs/src/bindings.rs:7152:9 | 7152 | pub use self::_SbgEComNmeaLog as SbgEComNmeaLog; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `self::_SbgEComLog1MsgId as SbgEComLog1`: libraries/sbg-rs/src/bindings.rs#L7126
warning: unused import: `self::_SbgEComLog1MsgId as SbgEComLog1` --> libraries/sbg-rs/src/bindings.rs:7126:9 | 7126 | pub use self::_SbgEComLog1MsgId as SbgEComLog1; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `self::_SbgEComLog as SbgEComLog`: libraries/sbg-rs/src/bindings.rs#L7118
warning: unused import: `self::_SbgEComLog as SbgEComLog` --> libraries/sbg-rs/src/bindings.rs:7118:9 | 7118 | pub use self::_SbgEComLog as SbgEComLog; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `self::_SbgSBSeekOrigin as SbgSBSeekOrigin`: libraries/sbg-rs/src/bindings.rs#L6822
warning: unused import: `self::_SbgSBSeekOrigin as SbgSBSeekOrigin` --> libraries/sbg-rs/src/bindings.rs:6822:9 | 6822 | pub use self::_SbgSBSeekOrigin as SbgSBSeekOrigin; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
empty `loop {}` wastes CPU cycles: boards/recovery/src/main.rs#L136
warning: empty `loop {}` wastes CPU cycles --> boards/recovery/src/main.rs:136:9 | 136 | 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
an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true: boards/recovery/src/state_machine/mod.rs#L106
warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true --> boards/recovery/src/state_machine/mod.rs:106:1 | 106 | 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>` | 106 ~ impl From<RocketStates> for state::StateData { 107 ~ fn from(val: RocketStates) -> Self { 108 ~ match val { |
very complex type used. Consider factoring parts into `type` definitions: boards/communication/src/main.rs#L60
warning: very complex type used. Consider factoring parts into `type` definitions --> boards/communication/src/main.rs:60:21 | 60 | sd_manager: SdManager< | _____________________^ 61 | | Spi< 62 | | Config< 63 | | Pads< ... | 73 | | Pin<PB14, Output<PushPull>>, 74 | | >, | |_________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
this expression creates a reference which is immediately dereferenced by the compiler: boards/communication/src/main.rs#L253
warning: this expression creates a reference which is immediately dereferenced by the compiler --> boards/communication/src/main.rs:253:42 | 253 | manager.write(&mut file, &msg_ser)?; | ^^^^^^^^ help: change this to: `msg_ser` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
this expression creates a reference which is immediately dereferenced by the compiler: boards/communication/src/main.rs#L250
warning: this expression creates a reference which is immediately dereferenced by the compiler --> boards/communication/src/main.rs:250:42 | 250 | manager.write(&mut file, &msg_ser)?; | ^^^^^^^^ help: change this to: `msg_ser` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow = note: `#[warn(clippy::needless_borrow)]` on by default
empty `loop {}` wastes CPU cycles: boards/communication/src/main.rs#L200
warning: empty `loop {}` wastes CPU cycles --> boards/communication/src/main.rs:200:9 | 200 | 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
this function has too many arguments (11/7): boards/communication/src/health.rs#L64
warning: this function has too many arguments (11/7) --> boards/communication/src/health.rs:64:5 | 64 | / pub fn new( 65 | | reader: Adc<ADC0>, 66 | | reader1: Adc<ADC1>, 67 | | pin_3v3: Pin<PB01, Alternate<B>>, ... | 75 | | pin_failover: Pin<PB05, Alternate<B>>, 76 | | ) -> Self { | |_____________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
this function has too many arguments (8/7): boards/recovery/src/communication.rs#L62
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
very complex type used. Consider factoring parts into `type` definitions: boards/recovery/src/communication.rs#L52
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
variants `DeployDrogue` and `DeployMain` are never constructed: boards/recovery/src/state_machine/mod.rs#L72
warning: variants `DeployDrogue` and `DeployMain` are never constructed --> boards/recovery/src/state_machine/mod.rs:72:5 | 71 | pub enum RocketEvents { | ------------ variants in this enum 72 | DeployDrogue, | ^^^^^^^^^^^^ 73 | DeployMain, | ^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
unneeded `return` statement: boards/communication/src/data_manager.rs#L46
warning: unneeded `return` statement --> boards/communication/src/data_manager.rs:46:9 | 46 | return RadioRate::Slow; | ^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 46 - return RadioRate::Slow; 46 + RadioRate::Slow |
unneeded `return` statement: boards/communication/src/communication.rs#L311
warning: unneeded `return` statement --> boards/communication/src/communication.rs:311:13 | 311 | return Err(mavlink::error::MessageReadError::Io.into()); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 311 - return Err(mavlink::error::MessageReadError::Io.into()); 311 + Err(mavlink::error::MessageReadError::Io.into()) |
unneeded `return` statement: boards/communication/src/communication.rs#L307
warning: unneeded `return` statement --> boards/communication/src/communication.rs:307:21 | 307 | return Err(mavlink::error::MessageReadError::Io.into()); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 307 - return Err(mavlink::error::MessageReadError::Io.into()); 307 + Err(mavlink::error::MessageReadError::Io.into()) |
unneeded `return` statement: boards/communication/src/communication.rs#L302
warning: unneeded `return` statement --> boards/communication/src/communication.rs:302:21 | 302 | return Ok(postcard::from_bytes::<Message>(&msg.message)?); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return = note: `#[warn(clippy::needless_return)]` on by default help: remove `return` | 302 - return Ok(postcard::from_bytes::<Message>(&msg.message)?); 302 + Ok(postcard::from_bytes::<Message>(&msg.message)?) |
this function has too many arguments (8/7): boards/communication/src/communication.rs#L72
warning: this function has too many arguments (8/7) --> boards/communication/src/communication.rs:72:5 | 72 | / pub fn new<S>( 73 | | can_rx: Pin<PA23, AlternateI>, 74 | | can_tx: Pin<PA22, AlternateI>, 75 | | pclk_can: Pclk<Can0, Gclk0Id>, ... | 80 | | loopback: bool, 81 | | ) -> (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
very complex type used. Consider factoring parts into `type` definitions: boards/communication/src/communication.rs#L62
warning: very complex type used. Consider factoring parts into `type` definitions --> boards/communication/src/communication.rs:62:14 | 62 | pub can: Can< | ______________^ 63 | | 'static, 64 | | Can0, 65 | | Dependencies<Can0, Gclk0Id, Pin<PA23, Alternate<I>>, Pin<PA22, Alternate<I>>, CAN0>, 66 | | Capacities, 67 | | >, | |_____^ | = 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
empty `loop {}` wastes CPU cycles: boards/camera/src/main.rs#L127
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
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#L111
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 { |
you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`: boards/camera/src/data_manager.rs#L109
warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` --> boards/camera/src/data_manager.rs:109:47 | 109 | messages::Data::Sensor(sensor) => match sensor.data { | _______________________________________________^ 110 | | messages::sensor::SensorData::Air(air_data) => { 111 | | self.air = Some(air_data); 112 | | } 113 | | _ => {} 114 | | }, | |_____________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match help: try | 109 ~ messages::Data::Sensor(sensor) => if let messages::sensor::SensorData::Air(air_data) = sensor.data { 110 + self.air = Some(air_data); 111 ~ }, |
you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`: boards/camera/src/data_manager.rs#L108
warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` --> boards/camera/src/data_manager.rs:108:9 | 108 | / match data.data { 109 | | messages::Data::Sensor(sensor) => match sensor.data { 110 | | messages::sensor::SensorData::Air(air_data) => { 111 | | self.air = Some(air_data); ... | 115 | | _ => {} 116 | | } | |_________^ | = 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 | 108 ~ if let messages::Data::Sensor(sensor) = data.data { match sensor.data { 109 + messages::sensor::SensorData::Air(air_data) => { 110 + self.air = Some(air_data); 111 + } 112 + _ => {} 113 + } } |
this function has too many arguments (8/7): boards/camera/src/communication.rs#L58
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
very complex type used. Consider factoring parts into `type` definitions: boards/camera/src/communication.rs#L48
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
variants `DeployDrogue` and `DeployMain` are never constructed: boards/camera/src/state_machine/mod.rs#L77
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, | ^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
empty `loop {}` wastes CPU cycles: boards/sensor_v2/src/main.rs#L64
warning: empty `loop {}` wastes CPU cycles --> boards/sensor_v2/src/main.rs:64:9 | 64 | 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
empty `loop {}` wastes CPU cycles: boards/power/src/main.rs#L113
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
this function has too many arguments (8/7): boards/power/src/communication.rs#L60
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
very complex type used. Consider factoring parts into `type` definitions: boards/power/src/communication.rs#L50
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
field `data_manager` is never read: boards/sensor_v2/src/main.rs#L26
warning: field `data_manager` is never read --> boards/sensor_v2/src/main.rs:26:9 | 26 | data_manager: DataManager, | ^^^^^^^^^^^^ ... 35 | fn init(mut ctx: init::Context) -> (SharedResources, LocalResources, init::Monotonics) { | --------------- field in this struct
fields `data_manager` and `can0` are never read: boards/power/src/main.rs#L35
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
method `handle_data` is never used: boards/power/src/data_manager.rs#L10
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) { | ^^^^^^^^^^^
methods `clone_sensors` and `handle_data` are never used: boards/sensor_v2/src/data_manager.rs#L32
warning: methods `clone_sensors` and `handle_data` are never used --> boards/sensor_v2/src/data_manager.rs:32:12 | 19 | impl DataManager { | ---------------- methods in this implementation ... 32 | pub fn clone_sensors(&self) -> [Option<SensorData>; 10] { | ^^^^^^^^^^^^^ ... 47 | pub fn handle_data(&mut self, data: Message) -> Result<(), HydraError> { | ^^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
field `line_interrupts` is never read: boards/power/src/communication.rs#L56
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
variable does not need to be mutable: boards/sensor_v2/src/main.rs#L68
warning: variable does not need to be mutable --> boards/sensor_v2/src/main.rs:68:21 | 68 | fn sleep_system(mut cx: sleep_system::Context) { | ----^^ | | | help: remove this `mut`
unused variable: `cx`: boards/sensor_v2/src/main.rs#L68
warning: unused variable: `cx` --> boards/sensor_v2/src/main.rs:68:25 | 68 | fn sleep_system(mut cx: sleep_system::Context) { | ^^ help: if this is intentional, prefix it with an underscore: `_cx`
variable does not need to be mutable: boards/sensor_v2/src/main.rs#L63
warning: variable does not need to be mutable --> boards/sensor_v2/src/main.rs:63:13 | 63 | fn idle(mut ctx: idle::Context) -> ! { | ----^^^ | | | help: remove this `mut`
unused variable: `ctx`: boards/sensor_v2/src/main.rs#L63
warning: unused variable: `ctx` --> boards/sensor_v2/src/main.rs:63:17 | 63 | fn idle(mut ctx: idle::Context) -> ! { | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
variable does not need to be mutable: boards/sensor_v2/src/main.rs#L49
warning: variable does not need to be mutable --> boards/sensor_v2/src/main.rs:49:13 | 49 | let mut button = gpioc.pc13.into_floating_input(); | ----^^^^^^ | | | help: remove this `mut`
variable does not need to be mutable: boards/sensor_v2/src/main.rs#L35
warning: variable does not need to be mutable --> boards/sensor_v2/src/main.rs:35:13 | 35 | fn init(mut ctx: init::Context) -> (SharedResources, LocalResources, init::Monotonics) { | ----^^^ | | | help: remove this `mut` | = note: `#[warn(unused_mut)]` on by default
unused variable: `data`: boards/power/src/data_manager.rs#L10
warning: unused variable: `data` --> boards/power/src/data_manager.rs:10:35 | 10 | pub fn handle_data(&mut self, data: Message) { | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` | = note: `#[warn(unused_variables)]` on by default
unused variable: `info`: boards/sensor_v2/src/main.rs#L16
warning: unused variable: `info` --> boards/sensor_v2/src/main.rs:16:10 | 16 | fn panic(info: &core::panic::PanicInfo) -> ! { | ^^^^ help: if this is intentional, prefix it with an underscore: `_info` | = note: `#[warn(unused_variables)]` on by default
unneeded `return` statement: libraries/common-arm/src/health/health_manager.rs#L78
warning: unneeded `return` statement --> libraries/common-arm/src/health/health_manager.rs:78:13 | 78 | return HealthState::Warning; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 78 - return HealthState::Warning; 78 + HealthState::Warning |
unneeded `return` statement: libraries/common-arm/src/health/health_manager.rs#L70
warning: unneeded `return` statement --> libraries/common-arm/src/health/health_manager.rs:70:17 | 70 | return HealthState::Nominal; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return = note: `#[warn(clippy::needless_return)]` on by default help: remove `return` | 70 - return HealthState::Nominal; 70 + HealthState::Nominal |
Deploy Documentation
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v2, actions-rs/toolchain@v1, actions/cache@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Deploy Documentation
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, actions-rs/toolchain@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Deploy Documentation
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Deploy Documentation
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Deploy Documentation
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Deploy Documentation
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/