Update embassy-sync and embassy-time (#185) #197
audit.yml
on: push
Cancel previous runs
7s
security_audit
19s
Annotations
59 warnings
Cancel previous runs
The following actions uses node12 which is deprecated and will be forced to run on node16: styfle/[email protected]. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
security_audit
The following actions uses node12 which is deprecated and will be forced to run on node16: actions-rs/audit-check@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
security_audit
1 warnings found!
|
usage of wildcard import:
examples/src/common/general/mod.rs#L6
warning: usage of wildcard import
--> examples/src/common/general/mod.rs:6:5
|
6 | use responses::*;
| ^^^^^^^^^^^^ help: try: `responses::{ManufacturerId, ModelId, SoftwareVersion, WifiMac}`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wildcard_imports
= note: `-W clippy::wildcard-imports` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::wildcard_imports)]`
|
unnecessary boolean `not` operation:
atat/src/asynch/client.rs#L116
warning: unnecessary boolean `not` operation
--> atat/src/asynch/client.rs:116:9
|
116 | / if !Cmd::EXPECTS_RESPONSE_CODE {
117 | | self.send_command(cmd_slice).await?;
118 | | cmd.parse(Ok(&[]))
119 | | } else {
... |
123 | | cmd.parse((&response).into())
124 | | }
| |_________^
|
= help: remove the `!` and swap the blocks of the `if`/`else`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_not_else
|
consider adding a `;` to the last statement for consistent formatting:
atat/src/asynch/client.rs#L104
warning: consider adding a `;` to the last statement for consistent formatting
--> atat/src/asynch/client.rs:104:13
|
104 | cooldown.await
| ^^^^^^^^^^^^^^ help: add a `;` here: `cooldown.await;`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
|
matching over `()` is more explicit:
atat/src/asynch/client.rs#L86
warning: matching over `()` is more explicit
--> atat/src/asynch/client.rs:86:32
|
86 | Either::Right((_, fut)) => {
| ^ help: use `()` instead of `_`: `()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ignored_unit_patterns
|
this could be a `const fn`:
atat/src/asynch/client.rs#L20
warning: this could be a `const fn`
--> atat/src/asynch/client.rs:20:5
|
20 | / pub(crate) fn new(
21 | | writer: W,
22 | | res_channel: &'a ResponseChannel<INGRESS_BUF_SIZE>,
23 | | config: Config,
... |
30 | | }
31 | | }
| |_____^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_fn
|
unnecessary boolean `not` operation:
atat/src/blocking/client.rs#L118
warning: unnecessary boolean `not` operation
--> atat/src/blocking/client.rs:118:9
|
118 | / if !Cmd::EXPECTS_RESPONSE_CODE {
119 | | self.send_command(cmd_slice)?;
120 | | cmd.parse(Ok(&[]))
121 | | } else {
... |
124 | | cmd.parse((&response).into())
125 | | }
| |_________^
|
= help: remove the `!` and swap the blocks of the `if`/`else`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_not_else
= note: `-W clippy::if-not-else` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::if_not_else)]`
|
this could be a `const fn`:
atat/src/blocking/client.rs#L28
warning: this could be a `const fn`
--> atat/src/blocking/client.rs:28:5
|
28 | / pub(crate) fn new(
29 | | writer: W,
30 | | res_channel: &'a ResponseChannel<INGRESS_BUF_SIZE>,
31 | | config: Config,
... |
38 | | }
39 | | }
| |_____^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_fn
|
docs for function which may panic missing `# Panics` section:
atat/src/urc_channel.rs#L33
warning: docs for function which may panic missing `# Panics` section
--> atat/src/urc_channel.rs:33:5
|
33 | pub fn publisher(&self) -> UrcPublisher<Urc, CAPACITY, SUBSCRIBERS> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
note: first possible panic found here
--> atat/src/urc_channel.rs:34:9
|
34 | self.0.publisher().unwrap()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_panics_doc
|
this method could have a `#[must_use]` attribute:
atat/src/urc_channel.rs#L29
warning: this method could have a `#[must_use]` attribute
--> atat/src/urc_channel.rs:29:5
|
29 | pub const fn new() -> Self {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add the attribute: `#[must_use] pub const fn new() -> Self`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#must_use_candidate
|
matching over `()` is more explicit:
atat/src/traits.rs#L108
warning: matching over `()` is more explicit
--> atat/src/traits.rs:108:48
|
108 | String::try_from(utf8_string).map_err(|_| Error::Parse)
| ^ help: use `()` instead of `_`: `()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ignored_unit_patterns
|
use of a fallible conversion when an infallible one could be used:
atat/src/response.rs#L75
warning: use of a fallible conversion when an infallible one could be used
--> atat/src/response.rs:75:57
|
75 | Err(InternalError::ConnectionError((*e).try_into().unwrap()))
| ^^^^^^^^^^^^^^^^^^^ help: use: `into()`
|
= note: converting `u8` to `ConnectionError` cannot fail
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fallible_conversions
|
use of a fallible conversion when an infallible one could be used:
atat/src/response.rs#L73
warning: use of a fallible conversion when an infallible one could be used
--> atat/src/response.rs:73:71
|
73 | Response::CmsError(e) => Err(InternalError::CmsError((*e).try_into().unwrap())),
| ^^^^^^^^^^^^^^^^^^^ help: use: `into()`
|
= note: converting `u16` to `CmsError` cannot fail
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fallible_conversions
|
use of a fallible conversion when an infallible one could be used:
atat/src/response.rs#L72
warning: use of a fallible conversion when an infallible one could be used
--> atat/src/response.rs:72:71
|
72 | Response::CmeError(e) => Err(InternalError::CmeError((*e).try_into().unwrap())),
| ^^^^^^^^^^^^^^^^^^^ help: use: `into()`
|
= note: converting `u16` to `CmeError` cannot fail
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fallible_conversions
= note: `-W clippy::unnecessary-fallible-conversions` implied by `-W clippy::all`
= help: to override `-W clippy::all` add `#[allow(clippy::unnecessary_fallible_conversions)]`
|
docs for function which may panic missing `# Panics` section:
atat/src/response.rs#L22
warning: docs for function which may panic missing `# Panics` section
--> atat/src/response.rs:22:5
|
22 | pub fn ok(value: &[u8]) -> Self {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
note: first possible panic found here
--> atat/src/response.rs:23:22
|
23 | Response::Ok(Vec::from_slice(value).unwrap())
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_panics_doc
|
this method could have a `#[must_use]` attribute:
atat/src/response.rs#L22
warning: this method could have a `#[must_use]` attribute
--> atat/src/response.rs:22:5
|
22 | pub fn ok(value: &[u8]) -> Self {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add the attribute: `#[must_use] pub fn ok(value: &[u8]) -> Self`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#must_use_candidate
|
you are deriving `PartialEq` and can implement `Eq`:
atat/src/response.rs#L4
warning: you are deriving `PartialEq` and can implement `Eq`
--> atat/src/response.rs:4:24
|
4 | #[derive(Debug, Clone, PartialEq)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
|
consider adding a `;` to the last statement for consistent formatting:
atat/src/ingress.rs#L265
warning: consider adding a `;` to the last statement for consistent formatting
--> atat/src/ingress.rs:265:33
|
265 | ... debug!("Received OK ({}/{})", swallowed, self.pos,)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add a `;` here: `debug!("Received OK ({}/{})", swallowed, self.pos,);`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
|
consider adding a `;` to the last statement for consistent formatting:
atat/src/ingress.rs#L180
warning: consider adding a `;` to the last statement for consistent formatting
--> atat/src/ingress.rs:180:33
|
180 | ... debug!("Received OK ({}/{})", swallowed, self.pos,)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add a `;` here: `debug!("Received OK ({}/{})", swallowed, self.pos,);`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
= note: `-W clippy::semicolon-if-nothing-returned` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::semicolon_if_nothing_returned)]`
|
this could be a `const fn`:
atat/src/ingress.rs#L105
warning: this could be a `const fn`
--> atat/src/ingress.rs:105:5
|
105 | / pub fn new(
106 | | digester: D,
107 | | res_publisher: ResponsePublisher<'a, INGRESS_BUF_SIZE>,
108 | | urc_publisher: UrcPublisher<'a, Urc, URC_CAPACITY, URC_SUBSCRIBERS>,
... |
116 | | }
117 | | }
| |_____^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_fn
= note: `-W clippy::missing-const-for-fn` implied by `-W clippy::nursery`
= help: to override `-W clippy::nursery` add `#[allow(clippy::missing_const_for_fn)]`
|
you are deriving `PartialEq` and can implement `Eq`:
atat/src/ingress.rs#L6
warning: you are deriving `PartialEq` and can implement `Eq`
--> atat/src/ingress.rs:6:17
|
6 | #[derive(Debug, PartialEq)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
= note: `-W clippy::derive-partial-eq-without-eq` implied by `-W clippy::nursery`
= help: to override `-W clippy::nursery` add `#[allow(clippy::derive_partial_eq_without_eq)]`
|
this method could have a `#[must_use]` attribute:
atat/src/error/cms_error.rs#L88
warning: this method could have a `#[must_use]` attribute
--> atat/src/error/cms_error.rs:88:5
|
88 | pub const fn from_msg(s: &[u8]) -> Self {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add the attribute: `#[must_use] pub const fn from_msg(s: &[u8]) -> Self`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#must_use_candidate
|
this method could have a `#[must_use]` attribute:
atat/src/error/cme_error.rs#L506
warning: this method could have a `#[must_use]` attribute
--> atat/src/error/cme_error.rs:506:5
|
506 | pub const fn from_msg(s: &[u8]) -> Self {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add the attribute: `#[must_use] pub const fn from_msg(s: &[u8]) -> Self`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#must_use_candidate
|
use Option::map_or_else instead of an if let/else:
atat/src/digest.rs#L477
warning: use Option::map_or_else instead of an if let/else
--> atat/src/digest.rs:477:9
|
477 | / match x.iter().position(|&x| x != b' ') {
478 | | Some(offset) => &x[offset..],
479 | | None => &x[0..0],
480 | | }
| |_________^ help: try: `x.iter().position(|&x| x != b' ').map_or_else(|| &x[0..0], |offset| &x[offset..])`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_if_let_else
= note: `-W clippy::option-if-let-else` implied by `-W clippy::nursery`
= help: to override `-W clippy::nursery` add `#[allow(clippy::option_if_let_else)]`
|
this function could have a `#[must_use]` attribute:
atat/src/digest.rs#L476
warning: this function could have a `#[must_use]` attribute
--> atat/src/digest.rs:476:5
|
476 | pub fn trim_start_ascii_space(x: &[u8]) -> &[u8] {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add the attribute: `#[must_use] pub fn trim_start_ascii_space(x: &[u8]) -> &[u8]`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#must_use_candidate
|
this could be rewritten as `let...else`:
atat/src/digest.rs#L468
warning: this could be rewritten as `let...else`
--> atat/src/digest.rs:468:9
|
468 | / let from = match x.iter().position(|x| !x.is_ascii_whitespace()) {
469 | | Some(i) => i,
470 | | None => return &x[0..0],
471 | | };
| |__________^ help: consider writing: `let Some(from) = x.iter().position(|x| !x.is_ascii_whitespace()) else { return &x[0..0] };`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_let_else
= note: `-W clippy::manual-let-else` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::manual_let_else)]`
|
matching over `()` is more explicit:
atat/src/digest.rs#L407
warning: matching over `()` is more explicit
--> atat/src/digest.rs:407:35
|
407 | let (i, (prefix_data, _, error_msg)) = tuple((
| ^ help: use `()` instead of `_`: `()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ignored_unit_patterns
= note: `-W clippy::ignored-unit-patterns` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::ignored_unit_patterns)]`
|
item in documentation is missing backticks:
atat/src/digest.rs#L35
warning: item in documentation is missing backticks
--> atat/src/digest.rs:35:54
|
35 | /// - if a URC exists but is incomplete, return [ParseError::Incomplete]
| ^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown
help: try
|
35 | /// - if a URC exists but is incomplete, return [`ParseError::Incomplete`]
| ~~~~~~~~~~~~~~~~~~~~~~~~
|
item in documentation is missing backticks:
atat/src/digest.rs#L34
warning: item in documentation is missing backticks
--> atat/src/digest.rs:34:37
|
34 | /// - if no URC exists, return [ParseError::NoMatch]
| ^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown
= note: `-W clippy::doc-markdown` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::doc_markdown)]`
help: try
|
34 | /// - if no URC exists, return [`ParseError::NoMatch`]
| ~~~~~~~~~~~~~~~~~~~~~
|
docs for function which may panic missing `# Panics` section:
atat/src/buffers.rs#L60
warning: docs for function which may panic missing `# Panics` section
--> atat/src/buffers.rs:60:5
|
60 | / pub fn split_blocking<W: Write, D: Digester>(
61 | | &self,
62 | | writer: W,
63 | | digester: D,
... |
67 | | crate::blocking::Client<W, INGRESS_BUF_SIZE>,
68 | | ) {
| |_____^
|
note: first possible panic found here
--> atat/src/buffers.rs:72:17
|
72 | self.res_channel.publisher().unwrap(),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_panics_doc
|
docs for function which may panic missing `# Panics` section:
atat/src/buffers.rs#L41
warning: docs for function which may panic missing `# Panics` section
--> atat/src/buffers.rs:41:5
|
41 | / pub fn split<W: embedded_io_async::Write, D: Digester>(
42 | | &self,
43 | | writer: W,
44 | | digester: D,
... |
48 | | crate::asynch::Client<W, INGRESS_BUF_SIZE>,
49 | | ) {
| |_____^
|
note: first possible panic found here
--> atat/src/buffers.rs:53:17
|
53 | self.res_channel.publisher().unwrap(),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_panics_doc
= note: `-W clippy::missing-panics-doc` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::missing_panics_doc)]`
|
this method could have a `#[must_use]` attribute:
atat/src/buffers.rs#L25
warning: this method could have a `#[must_use]` attribute
--> atat/src/buffers.rs:25:5
|
25 | pub const fn new() -> Self {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add the attribute: `#[must_use] pub const fn new() -> Self`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#must_use_candidate
= note: `-W clippy::must-use-candidate` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::must_use_candidate)]`
|
useless use of `vec!`:
atat_derive/src/helpers.rs#L55
warning: useless use of `vec!`
--> atat_derive/src/helpers.rs:55:17
|
55 | bounds: vec![trait_bound].iter().cloned().collect(),
| ^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[trait_bound]`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec
= note: `-W clippy::useless-vec` implied by `-W clippy::all`
= help: to override `-W clippy::all` add `#[allow(clippy::useless_vec)]`
|
use Option::map_or_else instead of an if let/else:
atat_derive/src/cmd.rs#L63
warning: use Option::map_or_else instead of an if let/else
--> atat_derive/src/cmd.rs:63:34
|
63 | let reattempt_on_parse_err = match reattempt_on_parse_err {
| __________________________________^
64 | | Some(reattempt_on_parse_err) => {
65 | | quote! {
66 | | const REATTEMPT_ON_PARSE_ERR: bool = #reattempt_on_parse_err;
... |
69 | | None => quote! {},
70 | | };
| |_____^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_if_let_else
help: try
|
63 ~ let reattempt_on_parse_err = reattempt_on_parse_err.map_or_else(|| quote! {}, |reattempt_on_parse_err| quote! {
64 + const REATTEMPT_ON_PARSE_ERR: bool = #reattempt_on_parse_err;
65 ~ });
|
|
use Option::map_or_else instead of an if let/else:
atat_derive/src/cmd.rs#L54
warning: use Option::map_or_else instead of an if let/else
--> atat_derive/src/cmd.rs:54:20
|
54 | let attempts = match attempts {
| ____________________^
55 | | Some(attempts) => {
56 | | quote! {
57 | | const ATTEMPTS: u8 = #attempts;
... |
60 | | None => quote! {},
61 | | };
| |_____^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_if_let_else
help: try
|
54 ~ let attempts = attempts.map_or_else(|| quote! {}, |attempts| quote! {
55 + const ATTEMPTS: u8 = #attempts;
56 ~ });
|
|
use Option::map_or_else instead of an if let/else:
atat_derive/src/cmd.rs#L45
warning: use Option::map_or_else instead of an if let/else
--> atat_derive/src/cmd.rs:45:21
|
45 | let abortable = match abortable {
| _____________________^
46 | | Some(abortable) => {
47 | | quote! {
48 | | const CAN_ABORT: bool = #abortable;
... |
51 | | None => quote! {},
52 | | };
| |_____^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_if_let_else
help: try
|
45 ~ let abortable = abortable.map_or_else(|| quote! {}, |abortable| quote! {
46 + const CAN_ABORT: bool = #abortable;
47 ~ });
|
|
use Option::map_or_else instead of an if let/else:
atat_derive/src/cmd.rs#L36
warning: use Option::map_or_else instead of an if let/else
--> atat_derive/src/cmd.rs:36:19
|
36 | let timeout = match timeout_ms {
| ___________________^
37 | | Some(timeout_ms) => {
38 | | quote! {
39 | | const MAX_TIMEOUT_MS: u32 = #timeout_ms;
... |
42 | | None => quote! {},
43 | | };
| |_____^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_if_let_else
= note: `-W clippy::option-if-let-else` implied by `-W clippy::nursery`
= help: to override `-W clippy::nursery` add `#[allow(clippy::option_if_let_else)]`
help: try
|
36 ~ let timeout = timeout_ms.map_or_else(|| quote! {}, |timeout_ms| quote! {
37 + const MAX_TIMEOUT_MS: u32 = #timeout_ms;
38 ~ });
|
|
useless use of `vec!`:
atat_derive/src/helpers.rs#L55
warning: useless use of `vec!`
--> atat_derive/src/helpers.rs:55:17
|
55 | bounds: vec![trait_bound].iter().cloned().collect(),
| ^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[trait_bound]`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec
= note: `-W clippy::useless-vec` implied by `-W clippy::all`
= help: to override `-W clippy::all` add `#[allow(clippy::useless_vec)]`
|
matching over `()` is more explicit:
serde_at/src/ser/mod.rs#L414
warning: matching over `()` is more explicit
--> serde_at/src/ser/mod.rs:414:36
|
414 | buf.resize_default(N).map_err(|_| Error::BufferFull)?;
| ^ help: use `()` instead of `_`: `()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ignored_unit_patterns
= note: `-W clippy::ignored-unit-patterns` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::ignored_unit_patterns)]`
|
unnecessary boolean `not` operation:
serde_at/src/ser/mod.rs#L362
warning: unnecessary boolean `not` operation
--> serde_at/src/ser/mod.rs:362:26
|
362 | let ser_struct = if !self.nested_struct {
| __________________________^
363 | | // all calls to serialize_struct after this one will be nested structs
364 | | self.nested_struct = true;
365 | | self.extend_from_slice(self.options.cmd_prefix.as_bytes())?;
... |
369 | | SerializeStruct::new(self, true)
370 | | };
| |_________^
|
= help: remove the `!` and swap the blocks of the `if`/`else`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_not_else
= note: `-W clippy::if-not-else` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::if_not_else)]`
|
use Option::map_or_else instead of an if let/else:
atat_derive/src/cmd.rs#L63
warning: use Option::map_or_else instead of an if let/else
--> atat_derive/src/cmd.rs:63:34
|
63 | let reattempt_on_parse_err = match reattempt_on_parse_err {
| __________________________________^
64 | | Some(reattempt_on_parse_err) => {
65 | | quote! {
66 | | const REATTEMPT_ON_PARSE_ERR: bool = #reattempt_on_parse_err;
... |
69 | | None => quote! {},
70 | | };
| |_____^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_if_let_else
help: try
|
63 ~ let reattempt_on_parse_err = reattempt_on_parse_err.map_or_else(|| quote! {}, |reattempt_on_parse_err| quote! {
64 + const REATTEMPT_ON_PARSE_ERR: bool = #reattempt_on_parse_err;
65 ~ });
|
|
use Option::map_or_else instead of an if let/else:
atat_derive/src/cmd.rs#L54
warning: use Option::map_or_else instead of an if let/else
--> atat_derive/src/cmd.rs:54:20
|
54 | let attempts = match attempts {
| ____________________^
55 | | Some(attempts) => {
56 | | quote! {
57 | | const ATTEMPTS: u8 = #attempts;
... |
60 | | None => quote! {},
61 | | };
| |_____^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_if_let_else
help: try
|
54 ~ let attempts = attempts.map_or_else(|| quote! {}, |attempts| quote! {
55 + const ATTEMPTS: u8 = #attempts;
56 ~ });
|
|
use Option::map_or_else instead of an if let/else:
atat_derive/src/cmd.rs#L45
warning: use Option::map_or_else instead of an if let/else
--> atat_derive/src/cmd.rs:45:21
|
45 | let abortable = match abortable {
| _____________________^
46 | | Some(abortable) => {
47 | | quote! {
48 | | const CAN_ABORT: bool = #abortable;
... |
51 | | None => quote! {},
52 | | };
| |_____^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_if_let_else
help: try
|
45 ~ let abortable = abortable.map_or_else(|| quote! {}, |abortable| quote! {
46 + const CAN_ABORT: bool = #abortable;
47 ~ });
|
|
use Option::map_or_else instead of an if let/else:
atat_derive/src/cmd.rs#L36
warning: use Option::map_or_else instead of an if let/else
--> atat_derive/src/cmd.rs:36:19
|
36 | let timeout = match timeout_ms {
| ___________________^
37 | | Some(timeout_ms) => {
38 | | quote! {
39 | | const MAX_TIMEOUT_MS: u32 = #timeout_ms;
... |
42 | | None => quote! {},
43 | | };
| |_____^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_if_let_else
= note: `-W clippy::option-if-let-else` implied by `-W clippy::nursery`
= help: to override `-W clippy::nursery` add `#[allow(clippy::option_if_let_else)]`
help: try
|
36 ~ let timeout = timeout_ms.map_or_else(|| quote! {}, |timeout_ms| quote! {
37 + const MAX_TIMEOUT_MS: u32 = #timeout_ms;
38 ~ });
|
|
this `else { if .. }` block can be collapsed:
serde_at/src/de/mod.rs#L178
warning: this `else { if .. }` block can be collapsed
--> serde_at/src/de/mod.rs:178:20
|
178 | } else {
| ____________________^
179 | | if let Some(c) = self.peek() {
180 | | if (c as char).is_alphanumeric() || (c as char).is_whitespace() {
181 | | self.eat_char();
... |
187 | | }
188 | | }
| |_____________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_else_if
= note: `-W clippy::collapsible-else-if` implied by `-W clippy::all`
= help: to override `-W clippy::all` add `#[allow(clippy::collapsible_else_if)]`
help: collapse nested if block
|
178 ~ } else if let Some(c) = self.peek() {
179 + if (c as char).is_alphanumeric() || (c as char).is_whitespace() {
180 + self.eat_char();
181 + } else {
182 + return Err(Error::EofWhileParsingString);
183 + }
184 + } else {
185 + return Ok(&self.slice[start..self.index]);
186 + }
|
|
redundant else block:
serde_at/src/de/mod.rs#L178
warning: redundant else block
--> serde_at/src/de/mod.rs:178:20
|
178 | } else {
| ____________________^
179 | | if let Some(c) = self.peek() {
180 | | if (c as char).is_alphanumeric() || (c as char).is_whitespace() {
181 | | self.eat_char();
... |
187 | | }
188 | | }
| |_____________^
|
= help: remove the `else` block and move the contents out
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_else
|
redundant else block:
serde_at/src/de/mod.rs#L127
warning: redundant else block
--> serde_at/src/de/mod.rs:127:16
|
127 | } else {
| ________________^
128 | | loop {
129 | | match self.peek() {
130 | | Some(b'"') => {
... |
168 | | }
169 | | }
| |_________^
|
= help: remove the `else` block and move the contents out
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_else
= note: `-W clippy::redundant-else` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::redundant_else)]`
|
matching over `()` is more explicit:
serde_at/src/ser/mod.rs#L414
warning: matching over `()` is more explicit
--> serde_at/src/ser/mod.rs:414:36
|
414 | buf.resize_default(N).map_err(|_| Error::BufferFull)?;
| ^ help: use `()` instead of `_`: `()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ignored_unit_patterns
= note: `-W clippy::ignored-unit-patterns` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::ignored_unit_patterns)]`
|
unnecessary boolean `not` operation:
serde_at/src/ser/mod.rs#L362
warning: unnecessary boolean `not` operation
--> serde_at/src/ser/mod.rs:362:26
|
362 | let ser_struct = if !self.nested_struct {
| __________________________^
363 | | // all calls to serialize_struct after this one will be nested structs
364 | | self.nested_struct = true;
365 | | self.extend_from_slice(self.options.cmd_prefix.as_bytes())?;
... |
369 | | SerializeStruct::new(self, true)
370 | | };
| |_________^
|
= help: remove the `!` and swap the blocks of the `if`/`else`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_not_else
= note: `-W clippy::if-not-else` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::if_not_else)]`
|
this `else { if .. }` block can be collapsed:
serde_at/src/de/mod.rs#L178
warning: this `else { if .. }` block can be collapsed
--> serde_at/src/de/mod.rs:178:20
|
178 | } else {
| ____________________^
179 | | if let Some(c) = self.peek() {
180 | | if (c as char).is_alphanumeric() || (c as char).is_whitespace() {
181 | | self.eat_char();
... |
187 | | }
188 | | }
| |_____________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_else_if
= note: `-W clippy::collapsible-else-if` implied by `-W clippy::all`
= help: to override `-W clippy::all` add `#[allow(clippy::collapsible_else_if)]`
help: collapse nested if block
|
178 ~ } else if let Some(c) = self.peek() {
179 + if (c as char).is_alphanumeric() || (c as char).is_whitespace() {
180 + self.eat_char();
181 + } else {
182 + return Err(Error::EofWhileParsingString);
183 + }
184 + } else {
185 + return Ok(&self.slice[start..self.index]);
186 + }
|
|
redundant else block:
serde_at/src/de/mod.rs#L178
warning: redundant else block
--> serde_at/src/de/mod.rs:178:20
|
178 | } else {
| ____________________^
179 | | if let Some(c) = self.peek() {
180 | | if (c as char).is_alphanumeric() || (c as char).is_whitespace() {
181 | | self.eat_char();
... |
187 | | }
188 | | }
| |_____________^
|
= help: remove the `else` block and move the contents out
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_else
|
redundant else block:
serde_at/src/de/mod.rs#L127
warning: redundant else block
--> serde_at/src/de/mod.rs:127:16
|
127 | } else {
| ________________^
128 | | loop {
129 | | match self.peek() {
130 | | Some(b'"') => {
... |
168 | | }
169 | | }
| |_________^
|
= help: remove the `else` block and move the contents out
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_else
= note: `-W clippy::redundant-else` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::redundant_else)]`
|
matching over `()` is more explicit:
serde_at/src/ser/mod.rs#L414
warning: matching over `()` is more explicit
--> serde_at/src/ser/mod.rs:414:36
|
414 | buf.resize_default(N).map_err(|_| Error::BufferFull)?;
| ^ help: use `()` instead of `_`: `()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ignored_unit_patterns
= note: `-W clippy::ignored-unit-patterns` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::ignored_unit_patterns)]`
|
unnecessary boolean `not` operation:
serde_at/src/ser/mod.rs#L362
warning: unnecessary boolean `not` operation
--> serde_at/src/ser/mod.rs:362:26
|
362 | let ser_struct = if !self.nested_struct {
| __________________________^
363 | | // all calls to serialize_struct after this one will be nested structs
364 | | self.nested_struct = true;
365 | | self.extend_from_slice(self.options.cmd_prefix.as_bytes())?;
... |
369 | | SerializeStruct::new(self, true)
370 | | };
| |_________^
|
= help: remove the `!` and swap the blocks of the `if`/`else`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_not_else
= note: `-W clippy::if-not-else` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::if_not_else)]`
|
this `else { if .. }` block can be collapsed:
serde_at/src/de/mod.rs#L178
warning: this `else { if .. }` block can be collapsed
--> serde_at/src/de/mod.rs:178:20
|
178 | } else {
| ____________________^
179 | | if let Some(c) = self.peek() {
180 | | if (c as char).is_alphanumeric() || (c as char).is_whitespace() {
181 | | self.eat_char();
... |
187 | | }
188 | | }
| |_____________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_else_if
= note: `-W clippy::collapsible-else-if` implied by `-W clippy::all`
= help: to override `-W clippy::all` add `#[allow(clippy::collapsible_else_if)]`
help: collapse nested if block
|
178 ~ } else if let Some(c) = self.peek() {
179 + if (c as char).is_alphanumeric() || (c as char).is_whitespace() {
180 + self.eat_char();
181 + } else {
182 + return Err(Error::EofWhileParsingString);
183 + }
184 + } else {
185 + return Ok(&self.slice[start..self.index]);
186 + }
|
|
redundant else block:
serde_at/src/de/mod.rs#L178
warning: redundant else block
--> serde_at/src/de/mod.rs:178:20
|
178 | } else {
| ____________________^
179 | | if let Some(c) = self.peek() {
180 | | if (c as char).is_alphanumeric() || (c as char).is_whitespace() {
181 | | self.eat_char();
... |
187 | | }
188 | | }
| |_____________^
|
= help: remove the `else` block and move the contents out
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_else
|
redundant else block:
serde_at/src/de/mod.rs#L127
warning: redundant else block
--> serde_at/src/de/mod.rs:127:16
|
127 | } else {
| ________________^
128 | | loop {
129 | | match self.peek() {
130 | | Some(b'"') => {
... |
168 | | }
169 | | }
| |_________^
|
= help: remove the `else` block and move the contents out
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_else
= note: `-W clippy::redundant-else` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::redundant_else)]`
|