fix: allow deserializing BDAddr from non-borrowed strings #443
Annotations
36 warnings
format
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
format
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v2. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|
usage of `contains_key` followed by `insert` on a `HashMap`:
src/corebluetooth/internal.rs#L556
warning: usage of `contains_key` followed by `insert` on a `HashMap`
--> src/corebluetooth/internal.rs:556:9
|
556 | / if self.peripherals.contains_key(&uuid) {
557 | | if let Some(name) = name {
558 | | self.dispatch_event(CoreBluetoothEvent::DeviceUpdated {
559 | | uuid,
... |
574 | | .await;
575 | | }
| |_________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry
= note: `#[warn(clippy::map_entry)]` on by default
help: try
|
556 ~ if let std::collections::hash_map::Entry::Vacant(e) = self.peripherals.entry(uuid) {
557 + // Create our channels
558 + let (event_sender, event_receiver) = mpsc::channel(256);
559 + e.insert(PeripheralInternal::new(peripheral, event_sender));
560 + self.dispatch_event(CoreBluetoothEvent::DeviceDiscovered {
561 + uuid,
562 + name: name.map(|name| name.to_string()),
563 + event_receiver,
564 + })
565 + .await;
566 + } else {
567 + if let Some(name) = name {
568 + self.dispatch_event(CoreBluetoothEvent::DeviceUpdated {
569 + uuid,
570 + name: name.to_string(),
571 + })
572 + .await;
573 + }
574 + }
|
|
deref which would be done by auto-deref:
src/corebluetooth/internal.rs#L92
warning: deref which would be done by auto-deref
--> src/corebluetooth/internal.rs:92:61
|
92 | let properties = CharacteristicInternal::form_flags(&*characteristic);
| ^^^^^^^^^^^^^^^^ help: try: `&characteristic`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref
= note: `#[warn(clippy::explicit_auto_deref)]` on by default
|
doc list item without indentation:
src/corebluetooth/future.rs#L39
warning: doc list item without indentation
--> src/corebluetooth/future.rs:39:9
|
39 | /// corresponding future.
| ^
|
= help: if this is supposed to be its own paragraph, add a blank line
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation
= note: `#[warn(clippy::doc_lazy_continuation)]` on by default
help: indent this line
|
39 | /// corresponding future.
| ++
|
this expression creates a reference which is immediately dereferenced by the compiler:
src/corebluetooth/central_delegate.rs#L694
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> src/corebluetooth/central_delegate.rs:694:48
|
694 | data: get_descriptor_value(&descriptor),
| ^^^^^^^^^^^ help: change this to: `descriptor`
|
= 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
|
redundant field names in struct initialization:
src/corebluetooth/peripheral.rs#L171
warning: redundant field names in struct initialization
--> src/corebluetooth/peripheral.rs:171:16
|
171 | Self { shared: shared }
| ^^^^^^^^^^^^^^ help: replace it with: `shared`
|
= 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
|
this `match` can be collapsed into the outer `match`:
src/bluez/adapter.rs#L183
warning: this `match` can be collapsed into the outer `match`
--> src/bluez/adapter.rs:183:34
|
183 | } if id == adapter_id => match adapter_event {
| __________________________________^
184 | | AdapterEvent::Powered { powered } => {
185 | | let state = get_central_state(powered);
186 | | Some(CentralEvent::StateUpdate(state))
187 | | }
188 | | _ => None,
189 | | },
| |_________^
|
help: the outer pattern can be modified to include the inner pattern
--> src/bluez/adapter.rs:182:20
|
182 | event: adapter_event,
| ^^^^^^^^^^^^^ replace this binding
183 | } if id == adapter_id => match adapter_event {
184 | AdapterEvent::Powered { powered } => {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ with this pattern, prefixed by `adapter_event`:
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match
= note: `#[warn(clippy::collapsible_match)]` on by default
|
build (macos)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, actions-rs/clippy-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/
|
build (macos)
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v2, actions-rs/clippy-check@v1. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|
build (linux)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, actions-rs/clippy-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/
|
build (linux)
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v2, actions-rs/clippy-check@v1. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|
build (windows)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, actions-rs/clippy-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/
|
build (windows)
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v2, actions-rs/clippy-check@v1. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|
redundant closure:
src/droidplug/mod.rs#L14
warning: redundant closure
--> src/droidplug/mod.rs:14:36
|
14 | GLOBAL_ADAPTER.get_or_try_init(|| adapter::Adapter::new())?;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `adapter::Adapter::new`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure
= note: `#[warn(clippy::redundant_closure)]` on by default
|
using `clone` on type `JObject<'_>` which implements the `Copy` trait:
src/droidplug/jni/objects.rs#L722
warning: using `clone` on type `JObject<'_>` which implements the `Copy` trait
--> src/droidplug/jni/objects.rs:722:33
|
722 | .is_same_object(services_obj.clone(), JObject::null())?
| ^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*services_obj`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
|
using `clone` on type `JObject<'_>` which implements the `Copy` trait:
src/droidplug/jni/objects.rs#L705
warning: using `clone` on type `JObject<'_>` which implements the `Copy` trait
--> src/droidplug/jni/objects.rs:705:33
|
705 | .is_same_object(service_data_obj.clone(), JObject::null())?
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*service_data_obj`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
|
using `clone` on type `JObject<'_>` which implements the `Copy` trait:
src/droidplug/jni/objects.rs#L689
warning: using `clone` on type `JObject<'_>` which implements the `Copy` trait
--> src/droidplug/jni/objects.rs:689:33
|
689 | .is_same_object(manufacturer_specific_data_obj.clone(), JObject::null())?
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*manufacturer_specific_data_obj`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
|
using `clone` on type `JObject<'_>` which implements the `Copy` trait:
src/droidplug/jni/objects.rs#L649
warning: using `clone` on type `JObject<'_>` which implements the `Copy` trait
--> src/droidplug/jni/objects.rs:649:29
|
649 | .is_same_object(record_obj.clone(), JObject::null())?
| ^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*record_obj`
|
= 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
|
question mark operator is useless here:
src/droidplug/jni/objects.rs#L475
warning: question mark operator is useless here
--> src/droidplug/jni/objects.rs:475:9
|
475 | Ok(uuid_obj.as_uuid()?)
| ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing question mark and `Ok()`: `uuid_obj.as_uuid()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark
|
question mark operator is useless here:
src/droidplug/jni/objects.rs#L398
warning: question mark operator is useless here
--> src/droidplug/jni/objects.rs:398:9
|
398 | Ok(uuid_obj.as_uuid()?)
| ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing question mark and `Ok()`: `uuid_obj.as_uuid()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark
|
question mark operator is useless here:
src/droidplug/jni/objects.rs#L337
warning: question mark operator is useless here
--> src/droidplug/jni/objects.rs:337:9
|
337 | Ok(uuid_obj.as_uuid()?)
| ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing question mark and `Ok()`: `uuid_obj.as_uuid()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark
= note: `#[warn(clippy::needless_question_mark)]` on by default
|
this expression borrows a value the compiler would automatically borrow:
src/droidplug/peripheral.rs#L256
warning: this expression borrows a value the compiler would automatically borrow
--> src/droidplug/peripheral.rs:256:9
|
256 | (&guard.services).clone()
| ^^^^^^^^^^^^^^^^^ help: change this to: `guard.services`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
|
this expression borrows a value the compiler would automatically borrow:
src/droidplug/peripheral.rs#L227
warning: this expression borrows a value the compiler would automatically borrow
--> src/droidplug/peripheral.rs:227:9
|
227 | (&guard.characteristics).clone()
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `guard.characteristics`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
|
this expression borrows a value the compiler would automatically borrow:
src/droidplug/peripheral.rs#L222
warning: this expression borrows a value the compiler would automatically borrow
--> src/droidplug/peripheral.rs:222:12
|
222 | Ok((&guard.properties).clone())
| ^^^^^^^^^^^^^^^^^^^ help: change this to: `guard.properties`
|
= 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
|
function `notifications_stream_from_broadcast_receiver` is never used:
src/common/util.rs#L14
warning: function `notifications_stream_from_broadcast_receiver` is never used
--> src/common/util.rs:14:8
|
14 | pub fn notifications_stream_from_broadcast_receiver(
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
method `peripheral_mut` is never used:
src/common/adapter_manager.rs#L76
warning: method `peripheral_mut` is never used
--> src/common/adapter_manager.rs:76:12
|
42 | / impl<PeripheralType> AdapterManager<PeripheralType>
43 | | where
44 | | PeripheralType: Peripheral + 'static,
| |_________________________________________- method in this implementation
...
76 | pub fn peripheral_mut(
| ^^^^^^^^^^^^^^
|
= note: `#[warn(dead_code)]` on by default
|
variable does not need to be mutable:
src/droidplug/peripheral.rs#L168
warning: variable does not need to be mutable
--> src/droidplug/peripheral.rs:168:44
|
168 | pub(crate) fn report_properties(&self, mut properties: PeripheralProperties) {
| ----^^^^^^^^^^
| |
| help: remove this `mut`
|
= note: `#[warn(unused_mut)]` on by default
|
redundant field names in struct initialization:
src/droidplug/peripheral.rs#L293
warning: redundant field names in struct initialization
--> src/droidplug/peripheral.rs:293:25
|
293 | descriptors: descriptors,
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `descriptors`
|
= 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: `descriptors`:
src/droidplug/peripheral.rs#L11
warning: unused import: `descriptors`
--> src/droidplug/peripheral.rs:11:5
|
11 | descriptors,
| ^^^^^^^^^^^
|
= note: `#[warn(unused_imports)]` on by default
|
build (android)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, actions/setup-java@v2, actions-rs/toolchain@v1, actions-rs/clippy-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/
|
build (android)
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v2, actions/setup-java@v2, actions-rs/toolchain@v1, actions-rs/clippy-check@v1. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|
build (android)
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/
|
build (android)
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/
|
build (android)
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/
|
build (android)
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/
|