[INFO] fetching crate blurmac 0.0.1...
[INFO] checking blurmac-0.0.1 against master#c2f2db79ca3024f68d22b45aa22b570775c2c4ad for pr-124157
[INFO] extracting crate blurmac 0.0.1 into /workspace/builds/worker-5-tc1/source
[INFO] validating manifest of crates.io crate blurmac 0.0.1 on toolchain c2f2db79ca3024f68d22b45aa22b570775c2c4ad
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate blurmac 0.0.1
[INFO] finished tweaking crates.io crate blurmac 0.0.1
[INFO] tweaked toml for crates.io crate blurmac 0.0.1 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 6 packages to latest compatible versions
[INFO] [stderr]       Adding log v0.3.9 (latest: v0.4.21)
[INFO] [stderr]       Adding malloc_buf v0.0.6 (latest: v1.0.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 910d58224e0ffc3f33445858cdcef83d2fc7b92b74b0ab2012ea0ce049efc451
[INFO] running `Command { std: "docker" "start" "-a" "910d58224e0ffc3f33445858cdcef83d2fc7b92b74b0ab2012ea0ce049efc451", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "910d58224e0ffc3f33445858cdcef83d2fc7b92b74b0ab2012ea0ce049efc451", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "910d58224e0ffc3f33445858cdcef83d2fc7b92b74b0ab2012ea0ce049efc451", kill_on_drop: false }`
[INFO] [stdout] 910d58224e0ffc3f33445858cdcef83d2fc7b92b74b0ab2012ea0ce049efc451
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 188437b718abbbbbd885766c69c08c490c14d677bfe6da07cef94b52b469af85
[INFO] running `Command { std: "docker" "start" "-a" "188437b718abbbbbd885766c69c08c490c14d677bfe6da07cef94b52b469af85", kill_on_drop: false }`
[INFO] [stderr]     Checking malloc_buf v0.0.6
[INFO] [stderr]     Checking log v0.3.9
[INFO] [stderr]     Checking objc v0.2.7
[INFO] [stderr]     Checking blurmac v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `std::sync::atomic::ATOMIC_U64_INIT`
[INFO] [stdout]   --> src/utils.rs:10:46
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::atomic::{AtomicU64, Ordering, ATOMIC_U64_INIT};
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              no `ATOMIC_U64_INIT` in `sync::atomic`
[INFO] [stdout]    |                                              help: a similar name exists in the module: `ATOMIC_BOOL_INIT`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `std::sync::atomic::ATOMIC_U64_INIT`
[INFO] [stdout]   --> src/utils.rs:10:46
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::atomic::{AtomicU64, Ordering, ATOMIC_U64_INIT};
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              no `ATOMIC_U64_INIT` in `sync::atomic`
[INFO] [stdout]    |                                              help: a similar name exists in the module: `ATOMIC_BOOL_INIT`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]  --> src/delegate.rs:9:23
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::{Once, ONCE_INIT};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/delegate.rs:27:48
[INFO] [stdout]    |
[INFO] [stdout] 27 |         static REGISTER_DELEGATE_CLASS: Once = ONCE_INIT;
[INFO] [stdout]    |                                                ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]    |
[INFO] [stdout] 27 |         static REGISTER_DELEGATE_CLASS: Once = Once::new();
[INFO] [stdout]    |                                                ~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]  --> src/delegate.rs:9:23
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::{Once, ONCE_INIT};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/delegate.rs:27:48
[INFO] [stdout]    |
[INFO] [stdout] 27 |         static REGISTER_DELEGATE_CLASS: Once = ONCE_INIT;
[INFO] [stdout]    |                                                ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]    |
[INFO] [stdout] 27 |         static REGISTER_DELEGATE_CLASS: Once = Once::new();
[INFO] [stdout]    |                                                ~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `integer_atomics`
[INFO] [stdout]  --> src/lib.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | #![feature(integer_atomics)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `integer_atomics`
[INFO] [stdout]  --> src/lib.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | #![feature(integer_atomics)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/adapter.rs:29:51
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn init() -> Result<BluetoothAdapter, Box<Error>> {
[INFO] [stdout]    |                                                   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn init() -> Result<BluetoothAdapter, Box<dyn Error>> {
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/adapter.rs:48:50
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn get_name(&self) -> Result<String, Box<Error>> {
[INFO] [stdout]    |                                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn get_name(&self) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/adapter.rs:55:53
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn get_address(&self) -> Result<String, Box<Error>> {
[INFO] [stdout]    |                                                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn get_address(&self) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/adapter.rs:62:48
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn get_class(&self) -> Result<u32, Box<Error>> {
[INFO] [stdout]    |                                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn get_class(&self) -> Result<u32, Box<dyn Error>> {
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/adapter.rs:69:50
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn is_powered(&self) -> Result<bool, Box<Error>> {
[INFO] [stdout]    |                                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn is_powered(&self) -> Result<bool, Box<dyn Error>> {
[INFO] [stdout]    |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/adapter.rs:77:62
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn set_powered(&self, value: bool) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                              ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn set_powered(&self, value: bool) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/adapter.rs:84:55
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn is_discoverable(&self) -> Result<bool, Box<Error>> {
[INFO] [stdout]    |                                                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn is_discoverable(&self) -> Result<bool, Box<dyn Error>> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/adapter.rs:89:67
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn set_discoverable(&self, value: bool) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                                   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn set_discoverable(&self, value: bool) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/adapter.rs:96:62
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub fn get_device_list(&self) -> Result<Vec<String>, Box<Error>> {
[INFO] [stdout]    |                                                              ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub fn get_device_list(&self) -> Result<Vec<String>, Box<dyn Error>> {
[INFO] [stdout]    |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/adapter.rs:109:49
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn start_discovery(&self) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn start_discovery(&self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/adapter.rs:119:48
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn stop_discovery(&self) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn stop_discovery(&self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/adapter.rs:127:51
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn get_alias(&self) -> Result<String, Box<Error>> {
[INFO] [stdout]     |                                                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn get_alias(&self) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/adapter.rs:132:63
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub fn set_alias(&self, _value: String) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub fn set_alias(&self, _value: String) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/adapter.rs:137:51
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn is_pairable(&self) -> Result<bool, Box<Error>> {
[INFO] [stdout]     |                                                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn is_pairable(&self) -> Result<bool, Box<dyn Error>> {
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/adapter.rs:142:64
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn set_pairable(&self, _value: bool) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn set_pairable(&self, _value: bool) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/adapter.rs:147:59
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub fn get_pairable_timeout(&self) -> Result<u32, Box<Error>> {
[INFO] [stdout]     |                                                           ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub fn get_pairable_timeout(&self) -> Result<u32, Box<dyn Error>> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/adapter.rs:152:71
[INFO] [stdout]     |
[INFO] [stdout] 152 |     pub fn set_pairable_timeout(&self, _value: u32) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 152 |     pub fn set_pairable_timeout(&self, _value: u32) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/adapter.rs:157:63
[INFO] [stdout]     |
[INFO] [stdout] 157 |     pub fn get_discoverable_timeout(&self) -> Result<u32, Box<Error>> {
[INFO] [stdout]     |                                                               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 157 |     pub fn get_discoverable_timeout(&self) -> Result<u32, Box<dyn Error>> {
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/adapter.rs:162:75
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub fn set_discoverable_timeout(&self, _value: u32) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                                           ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub fn set_discoverable_timeout(&self, _value: u32) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/adapter.rs:167:54
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn is_discovering(&self) -> Result<bool, Box<Error>> {
[INFO] [stdout]     |                                                      ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn is_discovering(&self) -> Result<bool, Box<dyn Error>> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/adapter.rs:29:51
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn init() -> Result<BluetoothAdapter, Box<Error>> {
[INFO] [stdout]    |                                                   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn init() -> Result<BluetoothAdapter, Box<dyn Error>> {
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/adapter.rs:172:56
[INFO] [stdout]     |
[INFO] [stdout] 172 |     pub fn get_uuids(&self) -> Result<Vec<String>, Box<Error>> {
[INFO] [stdout]     |                                                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 172 |     pub fn get_uuids(&self) -> Result<Vec<String>, Box<dyn Error>> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/adapter.rs:177:62
[INFO] [stdout]     |
[INFO] [stdout] 177 |     pub fn get_vendor_id_source(&self) -> Result<String, Box<Error>> {
[INFO] [stdout]     |                                                              ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 177 |     pub fn get_vendor_id_source(&self) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/adapter.rs:182:52
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub fn get_vendor_id(&self) -> Result<u32, Box<Error>> {
[INFO] [stdout]     |                                                    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub fn get_vendor_id(&self) -> Result<u32, Box<dyn Error>> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/adapter.rs:187:53
[INFO] [stdout]     |
[INFO] [stdout] 187 |     pub fn get_product_id(&self) -> Result<u32, Box<Error>> {
[INFO] [stdout]     |                                                     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 187 |     pub fn get_product_id(&self) -> Result<u32, Box<dyn Error>> {
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/adapter.rs:192:52
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub fn get_device_id(&self) -> Result<u32, Box<Error>> {
[INFO] [stdout]     |                                                    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub fn get_device_id(&self) -> Result<u32, Box<dyn Error>> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/adapter.rs:197:71
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub fn get_modalias(&self) -> Result<(String, u32, u32, u32), Box<Error>> {
[INFO] [stdout]     |                                                                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub fn get_modalias(&self) -> Result<(String, u32, u32, u32), Box<dyn Error>> {
[INFO] [stdout]     |                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/adapter.rs:48:50
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn get_name(&self) -> Result<String, Box<Error>> {
[INFO] [stdout]    |                                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn get_name(&self) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/adapter.rs:55:53
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn get_address(&self) -> Result<String, Box<Error>> {
[INFO] [stdout]    |                                                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn get_address(&self) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/adapter.rs:62:48
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn get_class(&self) -> Result<u32, Box<Error>> {
[INFO] [stdout]    |                                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn get_class(&self) -> Result<u32, Box<dyn Error>> {
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/adapter.rs:69:50
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn is_powered(&self) -> Result<bool, Box<Error>> {
[INFO] [stdout]    |                                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn is_powered(&self) -> Result<bool, Box<dyn Error>> {
[INFO] [stdout]    |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/adapter.rs:77:62
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn set_powered(&self, value: bool) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                              ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn set_powered(&self, value: bool) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/adapter.rs:84:55
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn is_discoverable(&self) -> Result<bool, Box<Error>> {
[INFO] [stdout]    |                                                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn is_discoverable(&self) -> Result<bool, Box<dyn Error>> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/adapter.rs:89:67
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn set_discoverable(&self, value: bool) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                                   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn set_discoverable(&self, value: bool) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/adapter.rs:96:62
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub fn get_device_list(&self) -> Result<Vec<String>, Box<Error>> {
[INFO] [stdout]    |                                                              ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub fn get_device_list(&self) -> Result<Vec<String>, Box<dyn Error>> {
[INFO] [stdout]    |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/adapter.rs:109:49
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn start_discovery(&self) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn start_discovery(&self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/adapter.rs:119:48
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn stop_discovery(&self) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn stop_discovery(&self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/adapter.rs:127:51
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn get_alias(&self) -> Result<String, Box<Error>> {
[INFO] [stdout]     |                                                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn get_alias(&self) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/adapter.rs:132:63
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub fn set_alias(&self, _value: String) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub fn set_alias(&self, _value: String) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/adapter.rs:137:51
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn is_pairable(&self) -> Result<bool, Box<Error>> {
[INFO] [stdout]     |                                                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn is_pairable(&self) -> Result<bool, Box<dyn Error>> {
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/delegate.rs:249:102
[INFO] [stdout]     |
[INFO] [stdout] 249 |     pub fn peripheraldata(delegate: *mut Object, peripheral: *mut Object) -> Result<*mut Object, Box<Error>> {
[INFO] [stdout]     |                                                                                                      ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 249 |     pub fn peripheraldata(delegate: *mut Object, peripheral: *mut Object) -> Result<*mut Object, Box<dyn Error>> {
[INFO] [stdout]     |                                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/adapter.rs:142:64
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn set_pairable(&self, _value: bool) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn set_pairable(&self, _value: bool) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/adapter.rs:147:59
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub fn get_pairable_timeout(&self) -> Result<u32, Box<Error>> {
[INFO] [stdout]     |                                                           ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub fn get_pairable_timeout(&self) -> Result<u32, Box<dyn Error>> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/delegate.rs:259:104
[INFO] [stdout]     |
[INFO] [stdout] 259 |     pub fn peripheralevents(delegate: *mut Object, peripheral: *mut Object) -> Result<*mut Object, Box<Error>> {
[INFO] [stdout]     |                                                                                                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 259 |     pub fn peripheralevents(delegate: *mut Object, peripheral: *mut Object) -> Result<*mut Object, Box<dyn Error>> {
[INFO] [stdout]     |                                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/adapter.rs:152:71
[INFO] [stdout]     |
[INFO] [stdout] 152 |     pub fn set_pairable_timeout(&self, _value: u32) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 152 |     pub fn set_pairable_timeout(&self, _value: u32) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/adapter.rs:157:63
[INFO] [stdout]     |
[INFO] [stdout] 157 |     pub fn get_discoverable_timeout(&self) -> Result<u32, Box<Error>> {
[INFO] [stdout]     |                                                               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 157 |     pub fn get_discoverable_timeout(&self) -> Result<u32, Box<dyn Error>> {
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/adapter.rs:162:75
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub fn set_discoverable_timeout(&self, _value: u32) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                                           ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub fn set_discoverable_timeout(&self, _value: u32) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/adapter.rs:167:54
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn is_discovering(&self) -> Result<bool, Box<Error>> {
[INFO] [stdout]     |                                                      ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn is_discovering(&self) -> Result<bool, Box<dyn Error>> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/adapter.rs:172:56
[INFO] [stdout]     |
[INFO] [stdout] 172 |     pub fn get_uuids(&self) -> Result<Vec<String>, Box<Error>> {
[INFO] [stdout]     |                                                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 172 |     pub fn get_uuids(&self) -> Result<Vec<String>, Box<dyn Error>> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/discovery_session.rs:20:101
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn create_session(_adapter: Arc<BluetoothAdapter>) -> Result<BluetoothDiscoverySession, Box<Error>> {
[INFO] [stdout]    |                                                                                                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn create_session(_adapter: Arc<BluetoothAdapter>) -> Result<BluetoothDiscoverySession, Box<dyn Error>> {
[INFO] [stdout]    |                                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/adapter.rs:177:62
[INFO] [stdout]     |
[INFO] [stdout] 177 |     pub fn get_vendor_id_source(&self) -> Result<String, Box<Error>> {
[INFO] [stdout]     |                                                              ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 177 |     pub fn get_vendor_id_source(&self) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/discovery_session.rs:27:53
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn start_discovery(&self) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn start_discovery(&self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/adapter.rs:182:52
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub fn get_vendor_id(&self) -> Result<u32, Box<Error>> {
[INFO] [stdout]     |                                                    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub fn get_vendor_id(&self) -> Result<u32, Box<dyn Error>> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/discovery_session.rs:33:52
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn stop_discovery(&self) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn stop_discovery(&self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/adapter.rs:187:53
[INFO] [stdout]     |
[INFO] [stdout] 187 |     pub fn get_product_id(&self) -> Result<u32, Box<Error>> {
[INFO] [stdout]     |                                                     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 187 |     pub fn get_product_id(&self) -> Result<u32, Box<dyn Error>> {
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/adapter.rs:192:52
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub fn get_device_id(&self) -> Result<u32, Box<Error>> {
[INFO] [stdout]     |                                                    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub fn get_device_id(&self) -> Result<u32, Box<dyn Error>> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/adapter.rs:197:71
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub fn get_modalias(&self) -> Result<(String, u32, u32, u32), Box<Error>> {
[INFO] [stdout]     |                                                                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub fn get_modalias(&self) -> Result<(String, u32, u32, u32), Box<dyn Error>> {
[INFO] [stdout]     |                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/delegate.rs:249:102
[INFO] [stdout]     |
[INFO] [stdout] 249 |     pub fn peripheraldata(delegate: *mut Object, peripheral: *mut Object) -> Result<*mut Object, Box<Error>> {
[INFO] [stdout]     |                                                                                                      ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 249 |     pub fn peripheraldata(delegate: *mut Object, peripheral: *mut Object) -> Result<*mut Object, Box<dyn Error>> {
[INFO] [stdout]     |                                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/delegate.rs:259:104
[INFO] [stdout]     |
[INFO] [stdout] 259 |     pub fn peripheralevents(delegate: *mut Object, peripheral: *mut Object) -> Result<*mut Object, Box<Error>> {
[INFO] [stdout]     |                                                                                                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 259 |     pub fn peripheralevents(delegate: *mut Object, peripheral: *mut Object) -> Result<*mut Object, Box<dyn Error>> {
[INFO] [stdout]     |                                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/device.rs:60:53
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn get_address(&self) -> Result<String, Box<Error>> {
[INFO] [stdout]    |                                                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn get_address(&self) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/discovery_session.rs:20:101
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn create_session(_adapter: Arc<BluetoothAdapter>) -> Result<BluetoothDiscoverySession, Box<Error>> {
[INFO] [stdout]    |                                                                                                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn create_session(_adapter: Arc<BluetoothAdapter>) -> Result<BluetoothDiscoverySession, Box<dyn Error>> {
[INFO] [stdout]    |                                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/device.rs:72:50
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn get_name(&self) -> Result<String, Box<Error>> {
[INFO] [stdout]    |                                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn get_name(&self) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/discovery_session.rs:27:53
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn start_discovery(&self) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn start_discovery(&self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/device.rs:84:56
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn get_uuids(&self) -> Result<Vec<String>, Box<Error>> {
[INFO] [stdout]    |                                                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn get_uuids(&self) -> Result<Vec<String>, Box<dyn Error>> {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/discovery_session.rs:33:52
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn stop_discovery(&self) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn stop_discovery(&self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:103:45
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn connect(&self) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn connect(&self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:113:48
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn disconnect(&self) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn disconnect(&self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:123:52
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn is_connected(&self) -> Result<bool, Box<Error>> {
[INFO] [stdout]     |                                                    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn is_connected(&self) -> Result<bool, Box<dyn Error>> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:134:64
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn get_gatt_services(&self) -> Result<Vec<String>, Box<Error>> {
[INFO] [stdout]     |                                                                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn get_gatt_services(&self) -> Result<Vec<String>, Box<dyn Error>> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:156:47
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn get_rssi(&self) -> Result<i16, Box<Error>> {
[INFO] [stdout]     |                                               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn get_rssi(&self) -> Result<i16, Box<dyn Error>> {
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:162:51
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub fn get_tx_power(&self) -> Result<i16, Box<Error>> {
[INFO] [stdout]     |                                                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub fn get_tx_power(&self) -> Result<i16, Box<dyn Error>> {
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:167:78
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn get_manufacturer_data(&self) -> Result<HashMap<u16, Vec<u8>>, Box<Error>> {
[INFO] [stdout]     |                                                                              ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn get_manufacturer_data(&self) -> Result<HashMap<u16, Vec<u8>>, Box<dyn Error>> {
[INFO] [stdout]     |                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:172:76
[INFO] [stdout]     |
[INFO] [stdout] 172 |     pub fn get_service_data(&self) -> Result<HashMap<String, Vec<u8>>, Box<Error>> {
[INFO] [stdout]     |                                                                            ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 172 |     pub fn get_service_data(&self) -> Result<HashMap<String, Vec<u8>>, Box<dyn Error>> {
[INFO] [stdout]     |                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/device.rs:60:53
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn get_address(&self) -> Result<String, Box<Error>> {
[INFO] [stdout]    |                                                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn get_address(&self) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:177:50
[INFO] [stdout]     |
[INFO] [stdout] 177 |     pub fn get_icon(&self) -> Result<String, Box<Error>> {
[INFO] [stdout]     |                                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 177 |     pub fn get_icon(&self) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/device.rs:72:50
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn get_name(&self) -> Result<String, Box<Error>> {
[INFO] [stdout]    |                                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn get_name(&self) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:182:48
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub fn get_class(&self) -> Result<u32, Box<Error>> {
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub fn get_class(&self) -> Result<u32, Box<dyn Error>> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/device.rs:84:56
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn get_uuids(&self) -> Result<Vec<String>, Box<Error>> {
[INFO] [stdout]    |                                                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn get_uuids(&self) -> Result<Vec<String>, Box<dyn Error>> {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:187:53
[INFO] [stdout]     |
[INFO] [stdout] 187 |     pub fn get_appearance(&self) -> Result<u16, Box<Error>> {
[INFO] [stdout]     |                                                     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 187 |     pub fn get_appearance(&self) -> Result<u16, Box<dyn Error>> {
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:103:45
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn connect(&self) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn connect(&self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:192:49
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub fn is_paired(&self) -> Result<bool, Box<Error>> {
[INFO] [stdout]     |                                                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub fn is_paired(&self) -> Result<bool, Box<dyn Error>> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:197:50
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub fn is_trusted(&self) -> Result<bool, Box<Error>> {
[INFO] [stdout]     |                                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub fn is_trusted(&self) -> Result<bool, Box<dyn Error>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:113:48
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn disconnect(&self) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn disconnect(&self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:123:52
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn is_connected(&self) -> Result<bool, Box<Error>> {
[INFO] [stdout]     |                                                    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn is_connected(&self) -> Result<bool, Box<dyn Error>> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:202:50
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub fn is_blocked(&self) -> Result<bool, Box<Error>> {
[INFO] [stdout]     |                                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub fn is_blocked(&self) -> Result<bool, Box<dyn Error>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:134:64
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn get_gatt_services(&self) -> Result<Vec<String>, Box<Error>> {
[INFO] [stdout]     |                                                                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn get_gatt_services(&self) -> Result<Vec<String>, Box<dyn Error>> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:207:51
[INFO] [stdout]     |
[INFO] [stdout] 207 |     pub fn get_alias(&self) -> Result<String, Box<Error>> {
[INFO] [stdout]     |                                                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 207 |     pub fn get_alias(&self) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:156:47
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn get_rssi(&self) -> Result<i16, Box<Error>> {
[INFO] [stdout]     |                                               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn get_rssi(&self) -> Result<i16, Box<dyn Error>> {
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:212:63
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub fn set_alias(&self, _value: String) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub fn set_alias(&self, _value: String) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:162:51
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub fn get_tx_power(&self) -> Result<i16, Box<Error>> {
[INFO] [stdout]     |                                                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub fn get_tx_power(&self) -> Result<i16, Box<dyn Error>> {
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:217:57
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub fn is_legacy_pairing(&self) -> Result<bool, Box<Error>> {
[INFO] [stdout]     |                                                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub fn is_legacy_pairing(&self) -> Result<bool, Box<dyn Error>> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:222:62
[INFO] [stdout]     |
[INFO] [stdout] 222 |     pub fn get_vendor_id_source(&self) -> Result<String, Box<Error>> {
[INFO] [stdout]     |                                                              ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 222 |     pub fn get_vendor_id_source(&self) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:167:78
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn get_manufacturer_data(&self) -> Result<HashMap<u16, Vec<u8>>, Box<Error>> {
[INFO] [stdout]     |                                                                              ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn get_manufacturer_data(&self) -> Result<HashMap<u16, Vec<u8>>, Box<dyn Error>> {
[INFO] [stdout]     |                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:227:52
[INFO] [stdout]     |
[INFO] [stdout] 227 |     pub fn get_vendor_id(&self) -> Result<u32, Box<Error>> {
[INFO] [stdout]     |                                                    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 227 |     pub fn get_vendor_id(&self) -> Result<u32, Box<dyn Error>> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:232:53
[INFO] [stdout]     |
[INFO] [stdout] 232 |     pub fn get_product_id(&self) -> Result<u32, Box<Error>> {
[INFO] [stdout]     |                                                     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 232 |     pub fn get_product_id(&self) -> Result<u32, Box<dyn Error>> {
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:172:76
[INFO] [stdout]     |
[INFO] [stdout] 172 |     pub fn get_service_data(&self) -> Result<HashMap<String, Vec<u8>>, Box<Error>> {
[INFO] [stdout]     |                                                                            ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 172 |     pub fn get_service_data(&self) -> Result<HashMap<String, Vec<u8>>, Box<dyn Error>> {
[INFO] [stdout]     |                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:237:52
[INFO] [stdout]     |
[INFO] [stdout] 237 |     pub fn get_device_id(&self) -> Result<u32, Box<Error>> {
[INFO] [stdout]     |                                                    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 237 |     pub fn get_device_id(&self) -> Result<u32, Box<dyn Error>> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:177:50
[INFO] [stdout]     |
[INFO] [stdout] 177 |     pub fn get_icon(&self) -> Result<String, Box<Error>> {
[INFO] [stdout]     |                                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 177 |     pub fn get_icon(&self) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:242:71
[INFO] [stdout]     |
[INFO] [stdout] 242 |     pub fn get_modalias(&self) -> Result<(String, u32, u32, u32), Box<Error>> {
[INFO] [stdout]     |                                                                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 242 |     pub fn get_modalias(&self) -> Result<(String, u32, u32, u32), Box<dyn Error>> {
[INFO] [stdout]     |                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:182:48
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub fn get_class(&self) -> Result<u32, Box<Error>> {
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub fn get_class(&self) -> Result<u32, Box<dyn Error>> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:247:68
[INFO] [stdout]     |
[INFO] [stdout] 247 |     pub fn connect_profile(&self, _uuid: String) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                                    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 247 |     pub fn connect_profile(&self, _uuid: String) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:187:53
[INFO] [stdout]     |
[INFO] [stdout] 187 |     pub fn get_appearance(&self) -> Result<u16, Box<Error>> {
[INFO] [stdout]     |                                                     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 187 |     pub fn get_appearance(&self) -> Result<u16, Box<dyn Error>> {
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:252:71
[INFO] [stdout]     |
[INFO] [stdout] 252 |     pub fn disconnect_profile(&self, _uuid: String) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 252 |     pub fn disconnect_profile(&self, _uuid: String) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:192:49
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub fn is_paired(&self) -> Result<bool, Box<Error>> {
[INFO] [stdout]     |                                                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub fn is_paired(&self) -> Result<bool, Box<dyn Error>> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:257:42
[INFO] [stdout]     |
[INFO] [stdout] 257 |     pub fn pair(&self) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 257 |     pub fn pair(&self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:262:52
[INFO] [stdout]     |
[INFO] [stdout] 262 |     pub fn cancel_pairing(&self) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 262 |     pub fn cancel_pairing(&self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:197:50
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub fn is_trusted(&self) -> Result<bool, Box<Error>> {
[INFO] [stdout]     |                                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub fn is_trusted(&self) -> Result<bool, Box<dyn Error>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:202:50
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub fn is_blocked(&self) -> Result<bool, Box<Error>> {
[INFO] [stdout]     |                                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub fn is_blocked(&self) -> Result<bool, Box<dyn Error>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:207:51
[INFO] [stdout]     |
[INFO] [stdout] 207 |     pub fn get_alias(&self) -> Result<String, Box<Error>> {
[INFO] [stdout]     |                                                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 207 |     pub fn get_alias(&self) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:212:63
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub fn set_alias(&self, _value: String) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub fn set_alias(&self, _value: String) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:217:57
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub fn is_legacy_pairing(&self) -> Result<bool, Box<Error>> {
[INFO] [stdout]     |                                                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub fn is_legacy_pairing(&self) -> Result<bool, Box<dyn Error>> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:222:62
[INFO] [stdout]     |
[INFO] [stdout] 222 |     pub fn get_vendor_id_source(&self) -> Result<String, Box<Error>> {
[INFO] [stdout]     |                                                              ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 222 |     pub fn get_vendor_id_source(&self) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/gatt_service.rs:61:50
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub fn get_uuid(&self) -> Result<String, Box<Error>> {
[INFO] [stdout]    |                                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub fn get_uuid(&self) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:227:52
[INFO] [stdout]     |
[INFO] [stdout] 227 |     pub fn get_vendor_id(&self) -> Result<u32, Box<Error>> {
[INFO] [stdout]     |                                                    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 227 |     pub fn get_vendor_id(&self) -> Result<u32, Box<dyn Error>> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/gatt_service.rs:72:50
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn is_primary(&self) -> Result<bool, Box<Error>> {
[INFO] [stdout]    |                                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn is_primary(&self) -> Result<bool, Box<dyn Error>> {
[INFO] [stdout]    |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:232:53
[INFO] [stdout]     |
[INFO] [stdout] 232 |     pub fn get_product_id(&self) -> Result<u32, Box<Error>> {
[INFO] [stdout]     |                                                     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 232 |     pub fn get_product_id(&self) -> Result<u32, Box<dyn Error>> {
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/gatt_service.rs:85:59
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn get_includes(&self) -> Result<Vec<String>, Box<Error>> {
[INFO] [stdout]    |                                                           ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn get_includes(&self) -> Result<Vec<String>, Box<dyn Error>> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:237:52
[INFO] [stdout]     |
[INFO] [stdout] 237 |     pub fn get_device_id(&self) -> Result<u32, Box<Error>> {
[INFO] [stdout]     |                                                    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 237 |     pub fn get_device_id(&self) -> Result<u32, Box<dyn Error>> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/gatt_service.rs:103:71
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn get_gatt_characteristics(&self) -> Result<Vec<String>, Box<Error>> {
[INFO] [stdout]     |                                                                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn get_gatt_characteristics(&self) -> Result<Vec<String>, Box<dyn Error>> {
[INFO] [stdout]     |                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:242:71
[INFO] [stdout]     |
[INFO] [stdout] 242 |     pub fn get_modalias(&self) -> Result<(String, u32, u32, u32), Box<Error>> {
[INFO] [stdout]     |                                                                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 242 |     pub fn get_modalias(&self) -> Result<(String, u32, u32, u32), Box<dyn Error>> {
[INFO] [stdout]     |                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:247:68
[INFO] [stdout]     |
[INFO] [stdout] 247 |     pub fn connect_profile(&self, _uuid: String) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                                    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 247 |     pub fn connect_profile(&self, _uuid: String) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:252:71
[INFO] [stdout]     |
[INFO] [stdout] 252 |     pub fn disconnect_profile(&self, _uuid: String) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 252 |     pub fn disconnect_profile(&self, _uuid: String) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:257:42
[INFO] [stdout]     |
[INFO] [stdout] 257 |     pub fn pair(&self) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 257 |     pub fn pair(&self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/device.rs:262:52
[INFO] [stdout]     |
[INFO] [stdout] 262 |     pub fn cancel_pairing(&self) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 262 |     pub fn cancel_pairing(&self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/gatt_characteristic.rs:60:50
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn get_uuid(&self) -> Result<String, Box<Error>> {
[INFO] [stdout]    |                                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn get_uuid(&self) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/gatt_characteristic.rs:71:52
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn get_value(&self) -> Result<Vec<u8>, Box<Error>> {
[INFO] [stdout]    |                                                    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn get_value(&self) -> Result<Vec<u8>, Box<dyn Error>> {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/gatt_service.rs:61:50
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub fn get_uuid(&self) -> Result<String, Box<Error>> {
[INFO] [stdout]    |                                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub fn get_uuid(&self) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/gatt_characteristic.rs:89:53
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn read_value(&self) -> Result<Vec<u8>, Box<Error>> {
[INFO] [stdout]    |                                                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn read_value(&self) -> Result<Vec<u8>, Box<dyn Error>> {
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/gatt_service.rs:72:50
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn is_primary(&self) -> Result<bool, Box<Error>> {
[INFO] [stdout]    |                                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn is_primary(&self) -> Result<bool, Box<dyn Error>> {
[INFO] [stdout]    |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/gatt_service.rs:85:59
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn get_includes(&self) -> Result<Vec<String>, Box<Error>> {
[INFO] [stdout]    |                                                           ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn get_includes(&self) -> Result<Vec<String>, Box<dyn Error>> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/gatt_characteristic.rs:109:66
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn write_value(&self, values: Vec<u8>) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn write_value(&self, values: Vec<u8>) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/gatt_characteristic.rs:129:52
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn is_notifying(&self) -> Result<bool, Box<Error>> {
[INFO] [stdout]     |                                                    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn is_notifying(&self) -> Result<bool, Box<dyn Error>> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/gatt_characteristic.rs:140:50
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub fn start_notify(&self) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub fn start_notify(&self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/gatt_service.rs:103:71
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn get_gatt_characteristics(&self) -> Result<Vec<String>, Box<Error>> {
[INFO] [stdout]     |                                                                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn get_gatt_characteristics(&self) -> Result<Vec<String>, Box<dyn Error>> {
[INFO] [stdout]     |                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/gatt_characteristic.rs:150:49
[INFO] [stdout]     |
[INFO] [stdout] 150 |     pub fn stop_notify(&self) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 150 |     pub fn stop_notify(&self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/gatt_characteristic.rs:160:67
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub fn get_gatt_descriptors(&self) -> Result<Vec<String>, Box<Error>> {
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub fn get_gatt_descriptors(&self) -> Result<Vec<String>, Box<dyn Error>> {
[INFO] [stdout]     |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/gatt_characteristic.rs:165:56
[INFO] [stdout]     |
[INFO] [stdout] 165 |     pub fn get_flags(&self) -> Result<Vec<String>, Box<Error>> {
[INFO] [stdout]     |                                                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 165 |     pub fn get_flags(&self) -> Result<Vec<String>, Box<dyn Error>> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/gatt_descriptor.rs:25:50
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn get_uuid(&self) -> Result<String, Box<Error>> {
[INFO] [stdout]    |                                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn get_uuid(&self) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/gatt_descriptor.rs:29:52
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn get_value(&self) -> Result<Vec<u8>, Box<Error>> {
[INFO] [stdout]    |                                                    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn get_value(&self) -> Result<Vec<u8>, Box<dyn Error>> {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/gatt_characteristic.rs:60:50
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn get_uuid(&self) -> Result<String, Box<Error>> {
[INFO] [stdout]    |                                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn get_uuid(&self) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/gatt_descriptor.rs:33:56
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn get_flags(&self) -> Result<Vec<String>, Box<Error>> {
[INFO] [stdout]    |                                                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn get_flags(&self) -> Result<Vec<String>, Box<dyn Error>> {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/gatt_characteristic.rs:71:52
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn get_value(&self) -> Result<Vec<u8>, Box<Error>> {
[INFO] [stdout]    |                                                    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn get_value(&self) -> Result<Vec<u8>, Box<dyn Error>> {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/gatt_descriptor.rs:37:53
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn read_value(&self) -> Result<Vec<u8>, Box<Error>> {
[INFO] [stdout]    |                                                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn read_value(&self) -> Result<Vec<u8>, Box<dyn Error>> {
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/gatt_characteristic.rs:89:53
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn read_value(&self) -> Result<Vec<u8>, Box<Error>> {
[INFO] [stdout]    |                                                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn read_value(&self) -> Result<Vec<u8>, Box<dyn Error>> {
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/gatt_descriptor.rs:41:67
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn write_value(&self, _values: Vec<u8>) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                                   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn write_value(&self, _values: Vec<u8>) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/gatt_characteristic.rs:109:66
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn write_value(&self, values: Vec<u8>) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn write_value(&self, values: Vec<u8>) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/gatt_characteristic.rs:129:52
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn is_notifying(&self) -> Result<bool, Box<Error>> {
[INFO] [stdout]     |                                                    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn is_notifying(&self) -> Result<bool, Box<dyn Error>> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/gatt_characteristic.rs:140:50
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub fn start_notify(&self) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub fn start_notify(&self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/gatt_characteristic.rs:150:49
[INFO] [stdout]     |
[INFO] [stdout] 150 |     pub fn stop_notify(&self) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 150 |     pub fn stop_notify(&self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/gatt_characteristic.rs:160:67
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub fn get_gatt_descriptors(&self) -> Result<Vec<String>, Box<Error>> {
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub fn get_gatt_descriptors(&self) -> Result<Vec<String>, Box<dyn Error>> {
[INFO] [stdout]     |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/gatt_characteristic.rs:165:56
[INFO] [stdout]     |
[INFO] [stdout] 165 |     pub fn get_flags(&self) -> Result<Vec<String>, Box<Error>> {
[INFO] [stdout]     |                                                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 165 |     pub fn get_flags(&self) -> Result<Vec<String>, Box<dyn Error>> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/gatt_descriptor.rs:25:50
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn get_uuid(&self) -> Result<String, Box<Error>> {
[INFO] [stdout]    |                                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn get_uuid(&self) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/gatt_descriptor.rs:29:52
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn get_value(&self) -> Result<Vec<u8>, Box<Error>> {
[INFO] [stdout]    |                                                    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn get_value(&self) -> Result<Vec<u8>, Box<dyn Error>> {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/gatt_descriptor.rs:33:56
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn get_flags(&self) -> Result<Vec<String>, Box<Error>> {
[INFO] [stdout]    |                                                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn get_flags(&self) -> Result<Vec<String>, Box<dyn Error>> {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/gatt_descriptor.rs:37:53
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn read_value(&self) -> Result<Vec<u8>, Box<Error>> {
[INFO] [stdout]    |                                                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn read_value(&self) -> Result<Vec<u8>, Box<dyn Error>> {
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/gatt_descriptor.rs:41:67
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn write_value(&self, _values: Vec<u8>) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                                   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn write_value(&self, _values: Vec<u8>) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utils.rs:91:59
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn wait_or_timeout<F>(mut f: F) -> Result<(), Box<Error>>
[INFO] [stdout]    |                                                           ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn wait_or_timeout<F>(mut f: F) -> Result<(), Box<dyn Error>>
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utils.rs:91:59
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn wait_or_timeout<F>(mut f: F) -> Result<(), Box<Error>>
[INFO] [stdout]    |                                                           ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn wait_or_timeout<F>(mut f: F) -> Result<(), Box<dyn Error>>
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/framework.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |             msg_send![nsmutdict, removeObjectForKey:key];
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Any`
[INFO] [stdout] note: required by a bound in `__send_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/objc-0.2.7/src/message/mod.rs:177:51
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub unsafe fn send_message<T, A, R>(obj: *const T, sel: Sel, args: A)
[INFO] [stdout]     |               ------------ required by a bound in this function
[INFO] [stdout] 176 |         -> Result<R, MessageError>
[INFO] [stdout] 177 |         where T: Message, A: MessageArguments, R: Any {
[INFO] [stdout]     |                                                   ^^^ required by this bound in `send_message`
[INFO] [stdout]     = note: this error originates in the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/framework.rs:117:13
[INFO] [stdout]     |
[INFO] [stdout] 117 |             msg_send![nsmutdict, setObject:object forKey:key];
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Any`
[INFO] [stdout] note: required by a bound in `__send_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/objc-0.2.7/src/message/mod.rs:177:51
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub unsafe fn send_message<T, A, R>(obj: *const T, sel: Sel, args: A)
[INFO] [stdout]     |               ------------ required by a bound in this function
[INFO] [stdout] 176 |         -> Result<R, MessageError>
[INFO] [stdout] 177 |         where T: Message, A: MessageArguments, R: Any {
[INFO] [stdout]     |                                                   ^^^ required by this bound in `send_message`
[INFO] [stdout]     = note: this error originates in the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/framework.rs:244:13
[INFO] [stdout]     |
[INFO] [stdout] 244 |             msg_send![cbcentralmanager, initWithDelegate:delegate queue:nil];
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Any`
[INFO] [stdout] note: required by a bound in `__send_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/objc-0.2.7/src/message/mod.rs:177:51
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub unsafe fn send_message<T, A, R>(obj: *const T, sel: Sel, args: A)
[INFO] [stdout]     |               ------------ required by a bound in this function
[INFO] [stdout] 176 |         -> Result<R, MessageError>
[INFO] [stdout] 177 |         where T: Message, A: MessageArguments, R: Any {
[INFO] [stdout]     |                                                   ^^^ required by this bound in `send_message`
[INFO] [stdout]     = note: this error originates in the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/framework.rs:251:13
[INFO] [stdout]     |
[INFO] [stdout] 251 |             msg_send![cbcentralmanager, scanForPeripheralsWithServices:nil options:options];
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Any`
[INFO] [stdout] note: required by a bound in `__send_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/objc-0.2.7/src/message/mod.rs:177:51
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub unsafe fn send_message<T, A, R>(obj: *const T, sel: Sel, args: A)
[INFO] [stdout]     |               ------------ required by a bound in this function
[INFO] [stdout] 176 |         -> Result<R, MessageError>
[INFO] [stdout] 177 |         where T: Message, A: MessageArguments, R: Any {
[INFO] [stdout]     |                                                   ^^^ required by this bound in `send_message`
[INFO] [stdout]     = note: this error originates in the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/framework.rs:257:13
[INFO] [stdout]     |
[INFO] [stdout] 257 |             msg_send![cbcentralmanager, stopScan];
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Any`
[INFO] [stdout] note: required by a bound in `__send_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/objc-0.2.7/src/message/mod.rs:177:51
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub unsafe fn send_message<T, A, R>(obj: *const T, sel: Sel, args: A)
[INFO] [stdout]     |               ------------ required by a bound in this function
[INFO] [stdout] 176 |         -> Result<R, MessageError>
[INFO] [stdout] 177 |         where T: Message, A: MessageArguments, R: Any {
[INFO] [stdout]     |                                                   ^^^ required by this bound in `send_message`
[INFO] [stdout]     = note: this error originates in the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/framework.rs:263:13
[INFO] [stdout]     |
[INFO] [stdout] 263 |             msg_send![cbcentralmanager, connectPeripheral:peripheral options:nil];
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Any`
[INFO] [stdout] note: required by a bound in `__send_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/objc-0.2.7/src/message/mod.rs:177:51
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub unsafe fn send_message<T, A, R>(obj: *const T, sel: Sel, args: A)
[INFO] [stdout]     |               ------------ required by a bound in this function
[INFO] [stdout] 176 |         -> Result<R, MessageError>
[INFO] [stdout] 177 |         where T: Message, A: MessageArguments, R: Any {
[INFO] [stdout]     |                                                   ^^^ required by this bound in `send_message`
[INFO] [stdout]     = note: this error originates in the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/framework.rs:269:13
[INFO] [stdout]     |
[INFO] [stdout] 269 |             msg_send![cbcentralmanager, cancelPeripheralConnection:peripheral];
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Any`
[INFO] [stdout] note: required by a bound in `__send_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/objc-0.2.7/src/message/mod.rs:177:51
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub unsafe fn send_message<T, A, R>(obj: *const T, sel: Sel, args: A)
[INFO] [stdout]     |               ------------ required by a bound in this function
[INFO] [stdout] 176 |         -> Result<R, MessageError>
[INFO] [stdout] 177 |         where T: Message, A: MessageArguments, R: Any {
[INFO] [stdout]     |                                                   ^^^ required by this bound in `send_message`
[INFO] [stdout]     = note: this error originates in the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/framework.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |             msg_send![nsmutdict, removeObjectForKey:key];
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Any`
[INFO] [stdout] note: required by a bound in `__send_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/objc-0.2.7/src/message/mod.rs:177:51
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub unsafe fn send_message<T, A, R>(obj: *const T, sel: Sel, args: A)
[INFO] [stdout]     |               ------------ required by a bound in this function
[INFO] [stdout] 176 |         -> Result<R, MessageError>
[INFO] [stdout] 177 |         where T: Message, A: MessageArguments, R: Any {
[INFO] [stdout]     |                                                   ^^^ required by this bound in `send_message`
[INFO] [stdout]     = note: this error originates in the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/framework.rs:300:13
[INFO] [stdout]     |
[INFO] [stdout] 300 |             msg_send![cbperipheral, setDelegate:delegate];
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Any`
[INFO] [stdout] note: required by a bound in `__send_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/objc-0.2.7/src/message/mod.rs:177:51
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub unsafe fn send_message<T, A, R>(obj: *const T, sel: Sel, args: A)
[INFO] [stdout]     |               ------------ required by a bound in this function
[INFO] [stdout] 176 |         -> Result<R, MessageError>
[INFO] [stdout] 177 |         where T: Message, A: MessageArguments, R: Any {
[INFO] [stdout]     |                                                   ^^^ required by this bound in `send_message`
[INFO] [stdout]     = note: this error originates in the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/framework.rs:306:13
[INFO] [stdout]     |
[INFO] [stdout] 306 |             msg_send![cbperipheral, discoverServices:nil];
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Any`
[INFO] [stdout] note: required by a bound in `__send_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/objc-0.2.7/src/message/mod.rs:177:51
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub unsafe fn send_message<T, A, R>(obj: *const T, sel: Sel, args: A)
[INFO] [stdout]     |               ------------ required by a bound in this function
[INFO] [stdout] 176 |         -> Result<R, MessageError>
[INFO] [stdout] 177 |         where T: Message, A: MessageArguments, R: Any {
[INFO] [stdout]     |                                                   ^^^ required by this bound in `send_message`
[INFO] [stdout]     = note: this error originates in the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/framework.rs:117:13
[INFO] [stdout]     |
[INFO] [stdout] 117 |             msg_send![nsmutdict, setObject:object forKey:key];
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Any`
[INFO] [stdout] note: required by a bound in `__send_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/objc-0.2.7/src/message/mod.rs:177:51
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub unsafe fn send_message<T, A, R>(obj: *const T, sel: Sel, args: A)
[INFO] [stdout]     |               ------------ required by a bound in this function
[INFO] [stdout] 176 |         -> Result<R, MessageError>
[INFO] [stdout] 177 |         where T: Message, A: MessageArguments, R: Any {
[INFO] [stdout]     |                                                   ^^^ required by this bound in `send_message`
[INFO] [stdout]     = note: this error originates in the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/framework.rs:312:13
[INFO] [stdout]     |
[INFO] [stdout] 312 |             msg_send![cbperipheral, discoverIncludedServices:nil forService:service];
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Any`
[INFO] [stdout] note: required by a bound in `__send_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/objc-0.2.7/src/message/mod.rs:177:51
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub unsafe fn send_message<T, A, R>(obj: *const T, sel: Sel, args: A)
[INFO] [stdout]     |               ------------ required by a bound in this function
[INFO] [stdout] 176 |         -> Result<R, MessageError>
[INFO] [stdout] 177 |         where T: Message, A: MessageArguments, R: Any {
[INFO] [stdout]     |                                                   ^^^ required by this bound in `send_message`
[INFO] [stdout]     = note: this error originates in the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/framework.rs:325:13
[INFO] [stdout]     |
[INFO] [stdout] 325 |             msg_send![cbperipheral, discoverCharacteristics:nil forService:service];
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Any`
[INFO] [stdout] note: required by a bound in `__send_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/objc-0.2.7/src/message/mod.rs:177:51
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub unsafe fn send_message<T, A, R>(obj: *const T, sel: Sel, args: A)
[INFO] [stdout]     |               ------------ required by a bound in this function
[INFO] [stdout] 176 |         -> Result<R, MessageError>
[INFO] [stdout] 177 |         where T: Message, A: MessageArguments, R: Any {
[INFO] [stdout]     |                                                   ^^^ required by this bound in `send_message`
[INFO] [stdout]     = note: this error originates in the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/framework.rs:331:13
[INFO] [stdout]     |
[INFO] [stdout] 331 |             msg_send![cbperipheral, readValueForCharacteristic:characteristic];
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Any`
[INFO] [stdout] note: required by a bound in `__send_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/objc-0.2.7/src/message/mod.rs:177:51
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub unsafe fn send_message<T, A, R>(obj: *const T, sel: Sel, args: A)
[INFO] [stdout]     |               ------------ required by a bound in this function
[INFO] [stdout] 176 |         -> Result<R, MessageError>
[INFO] [stdout] 177 |         where T: Message, A: MessageArguments, R: Any {
[INFO] [stdout]     |                                                   ^^^ required by this bound in `send_message`
[INFO] [stdout]     = note: this error originates in the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/framework.rs:337:13
[INFO] [stdout]     |
[INFO] [stdout] 337 | ...   msg_send![cbperipheral, writeValue:value forCharacteristic:characteristic type:0]; // CBCharacteristicWriteWithResponse from CBPeri...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Any`
[INFO] [stdout] note: required by a bound in `__send_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/objc-0.2.7/src/message/mod.rs:177:51
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub unsafe fn send_message<T, A, R>(obj: *const T, sel: Sel, args: A)
[INFO] [stdout]     |               ------------ required by a bound in this function
[INFO] [stdout] 176 |         -> Result<R, MessageError>
[INFO] [stdout] 177 |         where T: Message, A: MessageArguments, R: Any {
[INFO] [stdout]     |                                                   ^^^ required by this bound in `send_message`
[INFO] [stdout]     = note: this error originates in the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/framework.rs:343:13
[INFO] [stdout]     |
[INFO] [stdout] 343 |             msg_send![cbperipheral, setNotifyValue:value forCharacteristic:characteristic];
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Any`
[INFO] [stdout] note: required by a bound in `__send_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/objc-0.2.7/src/message/mod.rs:177:51
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub unsafe fn send_message<T, A, R>(obj: *const T, sel: Sel, args: A)
[INFO] [stdout]     |               ------------ required by a bound in this function
[INFO] [stdout] 176 |         -> Result<R, MessageError>
[INFO] [stdout] 177 |         where T: Message, A: MessageArguments, R: Any {
[INFO] [stdout]     |                                                   ^^^ required by this bound in `send_message`
[INFO] [stdout]     = note: this error originates in the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/framework.rs:349:13
[INFO] [stdout]     |
[INFO] [stdout] 349 |             msg_send![cbperipheral, discoverDescriptorsForCharacteristic:characteristic];
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Any`
[INFO] [stdout] note: required by a bound in `__send_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/objc-0.2.7/src/message/mod.rs:177:51
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub unsafe fn send_message<T, A, R>(obj: *const T, sel: Sel, args: A)
[INFO] [stdout]     |               ------------ required by a bound in this function
[INFO] [stdout] 176 |         -> Result<R, MessageError>
[INFO] [stdout] 177 |         where T: Message, A: MessageArguments, R: Any {
[INFO] [stdout]     |                                                   ^^^ required by this bound in `send_message`
[INFO] [stdout]     = note: this error originates in the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/framework.rs:244:13
[INFO] [stdout]     |
[INFO] [stdout] 244 |             msg_send![cbcentralmanager, initWithDelegate:delegate queue:nil];
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Any`
[INFO] [stdout] note: required by a bound in `__send_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/objc-0.2.7/src/message/mod.rs:177:51
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub unsafe fn send_message<T, A, R>(obj: *const T, sel: Sel, args: A)
[INFO] [stdout]     |               ------------ required by a bound in this function
[INFO] [stdout] 176 |         -> Result<R, MessageError>
[INFO] [stdout] 177 |         where T: Message, A: MessageArguments, R: Any {
[INFO] [stdout]     |                                                   ^^^ required by this bound in `send_message`
[INFO] [stdout]     = note: this error originates in the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/framework.rs:251:13
[INFO] [stdout]     |
[INFO] [stdout] 251 |             msg_send![cbcentralmanager, scanForPeripheralsWithServices:nil options:options];
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Any`
[INFO] [stdout] note: required by a bound in `__send_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/objc-0.2.7/src/message/mod.rs:177:51
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub unsafe fn send_message<T, A, R>(obj: *const T, sel: Sel, args: A)
[INFO] [stdout]     |               ------------ required by a bound in this function
[INFO] [stdout] 176 |         -> Result<R, MessageError>
[INFO] [stdout] 177 |         where T: Message, A: MessageArguments, R: Any {
[INFO] [stdout]     |                                                   ^^^ required by this bound in `send_message`
[INFO] [stdout]     = note: this error originates in the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/framework.rs:257:13
[INFO] [stdout]     |
[INFO] [stdout] 257 |             msg_send![cbcentralmanager, stopScan];
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Any`
[INFO] [stdout] note: required by a bound in `__send_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/objc-0.2.7/src/message/mod.rs:177:51
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub unsafe fn send_message<T, A, R>(obj: *const T, sel: Sel, args: A)
[INFO] [stdout]     |               ------------ required by a bound in this function
[INFO] [stdout] 176 |         -> Result<R, MessageError>
[INFO] [stdout] 177 |         where T: Message, A: MessageArguments, R: Any {
[INFO] [stdout]     |                                                   ^^^ required by this bound in `send_message`
[INFO] [stdout]     = note: this error originates in the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/framework.rs:263:13
[INFO] [stdout]     |
[INFO] [stdout] 263 |             msg_send![cbcentralmanager, connectPeripheral:peripheral options:nil];
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Any`
[INFO] [stdout] note: required by a bound in `__send_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/objc-0.2.7/src/message/mod.rs:177:51
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub unsafe fn send_message<T, A, R>(obj: *const T, sel: Sel, args: A)
[INFO] [stdout]     |               ------------ required by a bound in this function
[INFO] [stdout] 176 |         -> Result<R, MessageError>
[INFO] [stdout] 177 |         where T: Message, A: MessageArguments, R: Any {
[INFO] [stdout]     |                                                   ^^^ required by this bound in `send_message`
[INFO] [stdout]     = note: this error originates in the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/framework.rs:269:13
[INFO] [stdout]     |
[INFO] [stdout] 269 |             msg_send![cbcentralmanager, cancelPeripheralConnection:peripheral];
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Any`
[INFO] [stdout] note: required by a bound in `__send_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/objc-0.2.7/src/message/mod.rs:177:51
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub unsafe fn send_message<T, A, R>(obj: *const T, sel: Sel, args: A)
[INFO] [stdout]     |               ------------ required by a bound in this function
[INFO] [stdout] 176 |         -> Result<R, MessageError>
[INFO] [stdout] 177 |         where T: Message, A: MessageArguments, R: Any {
[INFO] [stdout]     |                                                   ^^^ required by this bound in `send_message`
[INFO] [stdout]     = note: this error originates in the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/framework.rs:300:13
[INFO] [stdout]     |
[INFO] [stdout] 300 |             msg_send![cbperipheral, setDelegate:delegate];
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Any`
[INFO] [stdout] note: required by a bound in `__send_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/objc-0.2.7/src/message/mod.rs:177:51
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub unsafe fn send_message<T, A, R>(obj: *const T, sel: Sel, args: A)
[INFO] [stdout]     |               ------------ required by a bound in this function
[INFO] [stdout] 176 |         -> Result<R, MessageError>
[INFO] [stdout] 177 |         where T: Message, A: MessageArguments, R: Any {
[INFO] [stdout]     |                                                   ^^^ required by this bound in `send_message`
[INFO] [stdout]     = note: this error originates in the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/framework.rs:306:13
[INFO] [stdout]     |
[INFO] [stdout] 306 |             msg_send![cbperipheral, discoverServices:nil];
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Any`
[INFO] [stdout] note: required by a bound in `__send_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/objc-0.2.7/src/message/mod.rs:177:51
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub unsafe fn send_message<T, A, R>(obj: *const T, sel: Sel, args: A)
[INFO] [stdout]     |               ------------ required by a bound in this function
[INFO] [stdout] 176 |         -> Result<R, MessageError>
[INFO] [stdout] 177 |         where T: Message, A: MessageArguments, R: Any {
[INFO] [stdout]     |                                                   ^^^ required by this bound in `send_message`
[INFO] [stdout]     = note: this error originates in the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/framework.rs:312:13
[INFO] [stdout]     |
[INFO] [stdout] 312 |             msg_send![cbperipheral, discoverIncludedServices:nil forService:service];
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Any`
[INFO] [stdout] note: required by a bound in `__send_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/objc-0.2.7/src/message/mod.rs:177:51
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub unsafe fn send_message<T, A, R>(obj: *const T, sel: Sel, args: A)
[INFO] [stdout]     |               ------------ required by a bound in this function
[INFO] [stdout] 176 |         -> Result<R, MessageError>
[INFO] [stdout] 177 |         where T: Message, A: MessageArguments, R: Any {
[INFO] [stdout]     |                                                   ^^^ required by this bound in `send_message`
[INFO] [stdout]     = note: this error originates in the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/framework.rs:325:13
[INFO] [stdout]     |
[INFO] [stdout] 325 |             msg_send![cbperipheral, discoverCharacteristics:nil forService:service];
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Any`
[INFO] [stdout] note: required by a bound in `__send_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/objc-0.2.7/src/message/mod.rs:177:51
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub unsafe fn send_message<T, A, R>(obj: *const T, sel: Sel, args: A)
[INFO] [stdout]     |               ------------ required by a bound in this function
[INFO] [stdout] 176 |         -> Result<R, MessageError>
[INFO] [stdout] 177 |         where T: Message, A: MessageArguments, R: Any {
[INFO] [stdout]     |                                                   ^^^ required by this bound in `send_message`
[INFO] [stdout]     = note: this error originates in the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/framework.rs:331:13
[INFO] [stdout]     |
[INFO] [stdout] 331 |             msg_send![cbperipheral, readValueForCharacteristic:characteristic];
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Any`
[INFO] [stdout] note: required by a bound in `__send_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/objc-0.2.7/src/message/mod.rs:177:51
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub unsafe fn send_message<T, A, R>(obj: *const T, sel: Sel, args: A)
[INFO] [stdout]     |               ------------ required by a bound in this function
[INFO] [stdout] 176 |         -> Result<R, MessageError>
[INFO] [stdout] 177 |         where T: Message, A: MessageArguments, R: Any {
[INFO] [stdout]     |                                                   ^^^ required by this bound in `send_message`
[INFO] [stdout]     = note: this error originates in the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/framework.rs:337:13
[INFO] [stdout]     |
[INFO] [stdout] 337 | ...   msg_send![cbperipheral, writeValue:value forCharacteristic:characteristic type:0]; // CBCharacteristicWriteWithResponse from CBPeri...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Any`
[INFO] [stdout] note: required by a bound in `__send_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/objc-0.2.7/src/message/mod.rs:177:51
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub unsafe fn send_message<T, A, R>(obj: *const T, sel: Sel, args: A)
[INFO] [stdout]     |               ------------ required by a bound in this function
[INFO] [stdout] 176 |         -> Result<R, MessageError>
[INFO] [stdout] 177 |         where T: Message, A: MessageArguments, R: Any {
[INFO] [stdout]     |                                                   ^^^ required by this bound in `send_message`
[INFO] [stdout]     = note: this error originates in the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/framework.rs:343:13
[INFO] [stdout]     |
[INFO] [stdout] 343 |             msg_send![cbperipheral, setNotifyValue:value forCharacteristic:characteristic];
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Any`
[INFO] [stdout] note: required by a bound in `__send_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/objc-0.2.7/src/message/mod.rs:177:51
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub unsafe fn send_message<T, A, R>(obj: *const T, sel: Sel, args: A)
[INFO] [stdout]     |               ------------ required by a bound in this function
[INFO] [stdout] 176 |         -> Result<R, MessageError>
[INFO] [stdout] 177 |         where T: Message, A: MessageArguments, R: Any {
[INFO] [stdout]     |                                                   ^^^ required by this bound in `send_message`
[INFO] [stdout]     = note: this error originates in the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/framework.rs:349:13
[INFO] [stdout]     |
[INFO] [stdout] 349 |             msg_send![cbperipheral, discoverDescriptorsForCharacteristic:characteristic];
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Any`
[INFO] [stdout] note: required by a bound in `__send_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/objc-0.2.7/src/message/mod.rs:177:51
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub unsafe fn send_message<T, A, R>(obj: *const T, sel: Sel, args: A)
[INFO] [stdout]     |               ------------ required by a bound in this function
[INFO] [stdout] 176 |         -> Result<R, MessageError>
[INFO] [stdout] 177 |         where T: Message, A: MessageArguments, R: Any {
[INFO] [stdout]     |                                                   ^^^ required by this bound in `send_message`
[INFO] [stdout]     = note: this error originates in the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 17 previous errors; 81 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0283, E0432, E0635.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0283`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `blurmac` (lib) due to 18 previous errors; 81 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 17 previous errors; 81 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0283, E0432, E0635.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0283`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `blurmac` (lib test) due to 18 previous errors; 81 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "188437b718abbbbbd885766c69c08c490c14d677bfe6da07cef94b52b469af85", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "188437b718abbbbbd885766c69c08c490c14d677bfe6da07cef94b52b469af85", kill_on_drop: false }`
[INFO] [stdout] 188437b718abbbbbd885766c69c08c490c14d677bfe6da07cef94b52b469af85
