[INFO] cloning repository https://github.com/Vjze/flutter_demo
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Vjze/flutter_demo" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVjze%2Fflutter_demo", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVjze%2Fflutter_demo'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5133a1c459c5af1ceb82092fc9bbc5f2cfd4766c
[INFO] checking Vjze/flutter_demo against 52995a223f2919dd3e2e427231db90a257350ded for pr-129249-4
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVjze%2Fflutter_demo" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Vjze/flutter_demo
[INFO] finished tweaking git repo https://github.com/Vjze/flutter_demo
[INFO] tweaked toml for git repo https://github.com/Vjze/flutter_demo written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Vjze/flutter_demo on toolchain 52995a223f2919dd3e2e427231db90a257350ded
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Vjze/flutter_demo already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 7836fc7cfd6185f93e90deebbfd8a3ec799221b989446874cfb95e9fb5171b2a
[INFO] running `Command { std: "docker" "start" "7836fc7cfd6185f93e90deebbfd8a3ec799221b989446874cfb95e9fb5171b2a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7836fc7cfd6185f93e90deebbfd8a3ec799221b989446874cfb95e9fb5171b2a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7836fc7cfd6185f93e90deebbfd8a3ec799221b989446874cfb95e9fb5171b2a" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7836fc7cfd6185f93e90deebbfd8a3ec799221b989446874cfb95e9fb5171b2a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7836fc7cfd6185f93e90deebbfd8a3ec799221b989446874cfb95e9fb5171b2a" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.69
[INFO] [stderr]    Compiling libc v0.2.149
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]     Checking bytes v1.5.0
[INFO] [stderr]    Compiling futures-core v0.3.29
[INFO] [stderr]     Checking pin-project-lite v0.2.13
[INFO] [stderr]     Checking crossbeam-epoch v0.9.15
[INFO] [stderr]    Compiling rayon-core v1.12.0
[INFO] [stderr]     Checking memchr v2.6.4
[INFO] [stderr]    Compiling futures-task v0.3.29
[INFO] [stderr]     Checking crossbeam-deque v0.8.3
[INFO] [stderr]     Checking futures-io v0.3.29
[INFO] [stderr]     Checking futures-sink v0.3.29
[INFO] [stderr]    Compiling futures-util v0.3.29
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]    Compiling serde v1.0.190
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking socket2 v0.5.5
[INFO] [stderr]     Checking mio v0.8.9
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]     Checking rayon v1.8.0
[INFO] [stderr]    Compiling syn v2.0.38
[INFO] [stderr]    Compiling num-bigint v0.4.4
[INFO] [stderr]     Checking encoding_index_tests v0.1.4
[INFO] [stderr]     Checking http v0.2.9
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]    Compiling futures-channel v0.3.29
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking unicode-normalization v0.1.22
[INFO] [stderr]     Checking getrandom v0.2.10
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]     Checking try-lock v0.2.4
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking weezl v0.1.7
[INFO] [stderr]    Compiling serde_json v1.0.108
[INFO] [stderr]     Checking cpufeatures v0.2.11
[INFO] [stderr]     Checking unicode-bidi v0.3.13
[INFO] [stderr]     Checking want v0.3.1
[INFO] [stderr]     Checking idna v0.4.0
[INFO] [stderr]     Checking uuid v1.5.0
[INFO] [stderr]     Checking http-body v0.4.5
[INFO] [stderr]     Checking flume v0.11.0
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking socket2 v0.4.10
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]     Checking fdeflate v0.3.1
[INFO] [stderr]     Checking smallvec v1.11.1
[INFO] [stderr]     Checking iana-time-zone v0.1.58
[INFO] [stderr]    Compiling anyhow v1.0.75
[INFO] [stderr]     Checking bytemuck v1.14.0
[INFO] [stderr]     Checking half v2.2.1
[INFO] [stderr]     Checking lebe v0.5.2
[INFO] [stderr]     Checking bit_field v0.10.2
[INFO] [stderr]     Checking png v0.17.10
[INFO] [stderr]     Checking gif v0.12.0
[INFO] [stderr]     Checking chrono v0.4.31
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]     Checking exr v1.71.0
[INFO] [stderr]     Checking sha-1 v0.10.1
[INFO] [stderr]     Checking md-5 v0.10.6
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking url v2.4.1
[INFO] [stderr]     Checking num-complex v0.4.4
[INFO] [stderr]    Compiling either v1.9.0
[INFO] [stderr]     Checking whoami v1.4.1
[INFO] [stderr]     Checking base64 v0.21.5
[INFO] [stderr]     Checking ipnet v2.9.0
[INFO] [stderr]    Compiling async-trait v0.1.74
[INFO] [stderr]     Checking jpeg-decoder v0.3.0
[INFO] [stderr]     Checking sysinfo v0.29.10
[INFO] [stderr]    Compiling thiserror v1.0.50
[INFO] [stderr]     Checking num v0.4.1
[INFO] [stderr]    Compiling itertools v0.11.0
[INFO] [stderr]    Compiling dart-sys v4.0.2
[INFO] [stderr]    Compiling backtrace v0.3.69
[INFO] [stderr]     Checking tiff v0.9.0
[INFO] [stderr]     Checking encoding-index-tradchinese v1.20141219.5
[INFO] [stderr]     Checking encoding-index-japanese v1.20141219.5
[INFO] [stderr]     Checking encoding-index-singlebyte v1.20141219.5
[INFO] [stderr]     Checking encoding-index-simpchinese v1.20141219.5
[INFO] [stderr]     Checking encoding-index-korean v1.20141219.5
[INFO] [stderr]     Checking gimli v0.28.0
[INFO] [stderr]     Checking object v0.32.1
[INFO] [stderr]     Checking encoding v0.2.33
[INFO] [stderr]     Checking pretty-hex v0.3.0
[INFO] [stderr]     Checking rustc-demangle v0.1.23
[INFO] [stderr]     Checking atomic v0.5.3
[INFO] [stderr]     Checking connection-string v0.2.0
[INFO] [stderr]     Checking os-thread-local v0.1.3
[INFO] [stderr]     Checking allo-isolate v0.1.20
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling futures-macro v0.3.29
[INFO] [stderr]    Compiling tokio-macros v2.1.0
[INFO] [stderr]    Compiling serde_derive v1.0.190
[INFO] [stderr]    Compiling thiserror-impl v1.0.50
[INFO] [stderr]     Checking image v0.24.7
[INFO] [stderr]     Checking tokio v1.33.0
[INFO] [stderr]    Compiling enumflags2_derive v0.7.8
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking enumflags2 v0.7.8
[INFO] [stderr]     Checking addr2line v0.21.0
[INFO] [stderr]    Compiling prost-derive v0.12.1
[INFO] [stderr]     Checking prost v0.12.1
[INFO] [stderr]     Checking tokio-util v0.7.10
[INFO] [stderr]     Checking asynchronous-codec v0.6.2
[INFO] [stderr]     Checking tiberius v0.12.2
[INFO] [stderr]     Checking h2 v0.3.21
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking machineid-rs v1.2.4
[INFO] [stderr]     Checking hyper v0.14.27
[INFO] [stderr]     Checking reqwest v0.11.22
[INFO] [stderr]     Checking sample_crate v0.1.0 (/opt/rustwide/workdir/native/sample_crate)
[INFO] [stderr]     Checking hub v0.1.0 (/opt/rustwide/workdir/native/hub)
[INFO] [stdout] warning: unused import: `super::DartAbi`
[INFO] [stdout]  --> native/hub/src/bridge/bridge_engine/ffi/io.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use super::DartAbi;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::DartAbi`
[INFO] [stdout]  --> native/hub/src/bridge/bridge_engine/ffi/io.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use super::DartAbi;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReadRequest` is never constructed
[INFO] [stdout]  --> native/hub/src/messages/query_resource.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ReadRequest {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReadResponse` is never constructed
[INFO] [stdout]   --> native/hub/src/messages/query_resource.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct ReadResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_query_resource` is never used
[INFO] [stdout]   --> native/hub/src/sample_functions.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub async fn handle_query_resource(rust_request: RustRequest) -> RustResponse {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `api::RustRequestUnique`
[INFO] [stdout]   --> native/hub/src/bridge/bridge_generated.io.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         Wire2Api::<RustRequestUnique>::wire2api(*wrap).into()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 67 -         Wire2Api::<RustRequestUnique>::wire2api(*wrap).into()
[INFO] [stdout] 67 +         Wire2Api::<RustRequestUnique>::wire2api(*wrap)
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 67 -         Wire2Api::<RustRequestUnique>::wire2api(*wrap).into()
[INFO] [stdout] 67 +         <api::RustRequestUnique as Into<_>>::into(Wire2Api::<RustRequestUnique>::wire2api(*wrap))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> native/hub/src/bridge/mod.rs:71:42
[INFO] [stdout]     |
[INFO] [stdout]  67 |   macro_rules! debug_print {
[INFO] [stdout] ...
[INFO] [stdout]  71 |           $crate::bridge::send_rust_report(rust_report.into());
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: native/hub/src/bridge/api.rs:197:13
[INFO] [stdout]     |
[INFO] [stdout] 197 | /             crate::debug_print!(
[INFO] [stdout] 198 | |                 "A panic occurred in Rust.\n{}\n{:?}",
[INFO] [stdout] 199 | |                 panic_info,
[INFO] [stdout] 200 | |                 backtrace_filtered
[INFO] [stdout] 201 | |             );
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> native/hub/src/bridge/mod.rs:71:42
[INFO] [stdout]    |
[INFO] [stdout] 67 | macro_rules! debug_print {
[INFO] [stdout] ...
[INFO] [stdout] 71 |         $crate::bridge::send_rust_report(rust_report.into());
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: native/hub/src/sample_functions.rs:66:13
[INFO] [stdout]    |
[INFO] [stdout] 66 |             crate::debug_print!("{letter}");
[INFO] [stdout]    |             ------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> native/hub/src/bridge/mod.rs:71:42
[INFO] [stdout]     |
[INFO] [stdout]  67 | macro_rules! debug_print {
[INFO] [stdout] ...
[INFO] [stdout]  71 |         $crate::bridge::send_rust_report(rust_report.into());
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: native/hub/src/sample_functions.rs:166:5
[INFO] [stdout]     |
[INFO] [stdout] 166 |     crate::debug_print!("Starting debug tests.");
[INFO] [stdout]     |     -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> native/hub/src/bridge/mod.rs:71:42
[INFO] [stdout]     |
[INFO] [stdout]  67 | macro_rules! debug_print {
[INFO] [stdout] ...
[INFO] [stdout]  71 |         $crate::bridge::send_rust_report(rust_report.into());
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: native/hub/src/sample_functions.rs:170:5
[INFO] [stdout]     |
[INFO] [stdout] 170 |     crate::debug_print!("System time: {current_time}");
[INFO] [stdout]     |     -------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> native/hub/src/bridge/mod.rs:71:42
[INFO] [stdout]     |
[INFO] [stdout]  67 | macro_rules! debug_print {
[INFO] [stdout] ...
[INFO] [stdout]  71 |         $crate::bridge::send_rust_report(rust_report.into());
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: native/hub/src/sample_functions.rs:175:5
[INFO] [stdout]     |
[INFO] [stdout] 175 |     crate::debug_print!("Response from a web API: {web_response}");
[INFO] [stdout]     |     -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> native/hub/src/bridge/mod.rs:71:42
[INFO] [stdout]     |
[INFO] [stdout]  67 | macro_rules! debug_print {
[INFO] [stdout] ...
[INFO] [stdout]  71 |         $crate::bridge::send_rust_report(rust_report.into());
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: native/hub/src/sample_functions.rs:180:9
[INFO] [stdout]     |
[INFO] [stdout] 180 |         crate::debug_print!("Hardware ID: {hwid}");
[INFO] [stdout]     |         ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> native/hub/src/bridge/mod.rs:71:42
[INFO] [stdout]     |
[INFO] [stdout]  67 | macro_rules! debug_print {
[INFO] [stdout] ...
[INFO] [stdout]  71 |         $crate::bridge::send_rust_report(rust_report.into());
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: native/hub/src/sample_functions.rs:182:9
[INFO] [stdout]     |
[INFO] [stdout] 182 |         crate::debug_print!("Hardware ID is not available on this platform.");
[INFO] [stdout]     |         --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> native/hub/src/bridge/mod.rs:71:42
[INFO] [stdout]     |
[INFO] [stdout]  67 | macro_rules! debug_print {
[INFO] [stdout] ...
[INFO] [stdout]  71 |         $crate::bridge::send_rust_report(rust_report.into());
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: native/hub/src/sample_functions.rs:188:9
[INFO] [stdout]     |
[INFO] [stdout] 188 |         crate::debug_print!("First future finished.");
[INFO] [stdout]     |         --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> native/hub/src/bridge/mod.rs:71:42
[INFO] [stdout]     |
[INFO] [stdout]  67 | macro_rules! debug_print {
[INFO] [stdout] ...
[INFO] [stdout]  71 |         $crate::bridge::send_rust_report(rust_report.into());
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: native/hub/src/sample_functions.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |         crate::debug_print!("Second future finished.");
[INFO] [stdout]     |         ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> native/hub/src/bridge/mod.rs:71:42
[INFO] [stdout]     |
[INFO] [stdout]  67 | macro_rules! debug_print {
[INFO] [stdout] ...
[INFO] [stdout]  71 |         $crate::bridge::send_rust_report(rust_report.into());
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: native/hub/src/sample_functions.rs:196:9
[INFO] [stdout]     |
[INFO] [stdout] 196 |         crate::debug_print!("Third future finished.");
[INFO] [stdout]     |         --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> native/hub/src/bridge/mod.rs:71:42
[INFO] [stdout]     |
[INFO] [stdout]  67 | macro_rules! debug_print {
[INFO] [stdout] ...
[INFO] [stdout]  71 |         $crate::bridge::send_rust_report(rust_report.into());
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: native/hub/src/sample_functions.rs:210:17
[INFO] [stdout]     |
[INFO] [stdout] 210 |                 crate::debug_print!("Counted to {count}, yielding regularly.");
[INFO] [stdout]     |                 -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> native/hub/src/bridge/mod.rs:71:42
[INFO] [stdout]     |
[INFO] [stdout]  67 | macro_rules! debug_print {
[INFO] [stdout] ...
[INFO] [stdout]  71 |         $crate::bridge::send_rust_report(rust_report.into());
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: native/hub/src/sample_functions.rs:253:9
[INFO] [stdout]     |
[INFO] [stdout] 253 |         crate::debug_print!("{text}");
[INFO] [stdout]     |         ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> native/hub/src/bridge/mod.rs:71:42
[INFO] [stdout]     |
[INFO] [stdout]  67 | macro_rules! debug_print {
[INFO] [stdout] ...
[INFO] [stdout]  71 |         $crate::bridge::send_rust_report(rust_report.into());
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: native/hub/src/sample_functions.rs:256:5
[INFO] [stdout]     |
[INFO] [stdout] 256 |     crate::debug_print!("Debug tests completed!");
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hub` (lib test) due to 14 previous errors; 4 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: struct `ReadRequest` is never constructed
[INFO] [stdout]  --> native/hub/src/messages/query_resource.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ReadRequest {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReadResponse` is never constructed
[INFO] [stdout]   --> native/hub/src/messages/query_resource.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct ReadResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_query_resource` is never used
[INFO] [stdout]   --> native/hub/src/sample_functions.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub async fn handle_query_resource(rust_request: RustRequest) -> RustResponse {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `api::RustRequestUnique`
[INFO] [stdout]   --> native/hub/src/bridge/bridge_generated.io.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         Wire2Api::<RustRequestUnique>::wire2api(*wrap).into()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 67 -         Wire2Api::<RustRequestUnique>::wire2api(*wrap).into()
[INFO] [stdout] 67 +         Wire2Api::<RustRequestUnique>::wire2api(*wrap)
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 67 -         Wire2Api::<RustRequestUnique>::wire2api(*wrap).into()
[INFO] [stdout] 67 +         <api::RustRequestUnique as Into<_>>::into(Wire2Api::<RustRequestUnique>::wire2api(*wrap))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> native/hub/src/bridge/mod.rs:71:42
[INFO] [stdout]     |
[INFO] [stdout]  67 |   macro_rules! debug_print {
[INFO] [stdout] ...
[INFO] [stdout]  71 |           $crate::bridge::send_rust_report(rust_report.into());
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: native/hub/src/bridge/api.rs:197:13
[INFO] [stdout]     |
[INFO] [stdout] 197 | /             crate::debug_print!(
[INFO] [stdout] 198 | |                 "A panic occurred in Rust.\n{}\n{:?}",
[INFO] [stdout] 199 | |                 panic_info,
[INFO] [stdout] 200 | |                 backtrace_filtered
[INFO] [stdout] 201 | |             );
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> native/hub/src/bridge/mod.rs:71:42
[INFO] [stdout]    |
[INFO] [stdout] 67 | macro_rules! debug_print {
[INFO] [stdout] ...
[INFO] [stdout] 71 |         $crate::bridge::send_rust_report(rust_report.into());
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: native/hub/src/sample_functions.rs:66:13
[INFO] [stdout]    |
[INFO] [stdout] 66 |             crate::debug_print!("{letter}");
[INFO] [stdout]    |             ------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> native/hub/src/bridge/mod.rs:71:42
[INFO] [stdout]     |
[INFO] [stdout]  67 | macro_rules! debug_print {
[INFO] [stdout] ...
[INFO] [stdout]  71 |         $crate::bridge::send_rust_report(rust_report.into());
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: native/hub/src/sample_functions.rs:166:5
[INFO] [stdout]     |
[INFO] [stdout] 166 |     crate::debug_print!("Starting debug tests.");
[INFO] [stdout]     |     -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> native/hub/src/bridge/mod.rs:71:42
[INFO] [stdout]     |
[INFO] [stdout]  67 | macro_rules! debug_print {
[INFO] [stdout] ...
[INFO] [stdout]  71 |         $crate::bridge::send_rust_report(rust_report.into());
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: native/hub/src/sample_functions.rs:170:5
[INFO] [stdout]     |
[INFO] [stdout] 170 |     crate::debug_print!("System time: {current_time}");
[INFO] [stdout]     |     -------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> native/hub/src/bridge/mod.rs:71:42
[INFO] [stdout]     |
[INFO] [stdout]  67 | macro_rules! debug_print {
[INFO] [stdout] ...
[INFO] [stdout]  71 |         $crate::bridge::send_rust_report(rust_report.into());
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: native/hub/src/sample_functions.rs:175:5
[INFO] [stdout]     |
[INFO] [stdout] 175 |     crate::debug_print!("Response from a web API: {web_response}");
[INFO] [stdout]     |     -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> native/hub/src/bridge/mod.rs:71:42
[INFO] [stdout]     |
[INFO] [stdout]  67 | macro_rules! debug_print {
[INFO] [stdout] ...
[INFO] [stdout]  71 |         $crate::bridge::send_rust_report(rust_report.into());
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: native/hub/src/sample_functions.rs:180:9
[INFO] [stdout]     |
[INFO] [stdout] 180 |         crate::debug_print!("Hardware ID: {hwid}");
[INFO] [stdout]     |         ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> native/hub/src/bridge/mod.rs:71:42
[INFO] [stdout]     |
[INFO] [stdout]  67 | macro_rules! debug_print {
[INFO] [stdout] ...
[INFO] [stdout]  71 |         $crate::bridge::send_rust_report(rust_report.into());
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: native/hub/src/sample_functions.rs:182:9
[INFO] [stdout]     |
[INFO] [stdout] 182 |         crate::debug_print!("Hardware ID is not available on this platform.");
[INFO] [stdout]     |         --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> native/hub/src/bridge/mod.rs:71:42
[INFO] [stdout]     |
[INFO] [stdout]  67 | macro_rules! debug_print {
[INFO] [stdout] ...
[INFO] [stdout]  71 |         $crate::bridge::send_rust_report(rust_report.into());
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: native/hub/src/sample_functions.rs:188:9
[INFO] [stdout]     |
[INFO] [stdout] 188 |         crate::debug_print!("First future finished.");
[INFO] [stdout]     |         --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> native/hub/src/bridge/mod.rs:71:42
[INFO] [stdout]     |
[INFO] [stdout]  67 | macro_rules! debug_print {
[INFO] [stdout] ...
[INFO] [stdout]  71 |         $crate::bridge::send_rust_report(rust_report.into());
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: native/hub/src/sample_functions.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |         crate::debug_print!("Second future finished.");
[INFO] [stdout]     |         ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> native/hub/src/bridge/mod.rs:71:42
[INFO] [stdout]     |
[INFO] [stdout]  67 | macro_rules! debug_print {
[INFO] [stdout] ...
[INFO] [stdout]  71 |         $crate::bridge::send_rust_report(rust_report.into());
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: native/hub/src/sample_functions.rs:196:9
[INFO] [stdout]     |
[INFO] [stdout] 196 |         crate::debug_print!("Third future finished.");
[INFO] [stdout]     |         --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> native/hub/src/bridge/mod.rs:71:42
[INFO] [stdout]     |
[INFO] [stdout]  67 | macro_rules! debug_print {
[INFO] [stdout] ...
[INFO] [stdout]  71 |         $crate::bridge::send_rust_report(rust_report.into());
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: native/hub/src/sample_functions.rs:210:17
[INFO] [stdout]     |
[INFO] [stdout] 210 |                 crate::debug_print!("Counted to {count}, yielding regularly.");
[INFO] [stdout]     |                 -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> native/hub/src/bridge/mod.rs:71:42
[INFO] [stdout]     |
[INFO] [stdout]  67 | macro_rules! debug_print {
[INFO] [stdout] ...
[INFO] [stdout]  71 |         $crate::bridge::send_rust_report(rust_report.into());
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: native/hub/src/sample_functions.rs:253:9
[INFO] [stdout]     |
[INFO] [stdout] 253 |         crate::debug_print!("{text}");
[INFO] [stdout]     |         ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> native/hub/src/bridge/mod.rs:71:42
[INFO] [stdout]     |
[INFO] [stdout]  67 | macro_rules! debug_print {
[INFO] [stdout] ...
[INFO] [stdout]  71 |         $crate::bridge::send_rust_report(rust_report.into());
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: native/hub/src/sample_functions.rs:256:5
[INFO] [stdout]     |
[INFO] [stdout] 256 |     crate::debug_print!("Debug tests completed!");
[INFO] [stdout]     |     --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<std::string::String as Into<std::string::String>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hub` (lib) due to 14 previous errors; 4 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "7836fc7cfd6185f93e90deebbfd8a3ec799221b989446874cfb95e9fb5171b2a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7836fc7cfd6185f93e90deebbfd8a3ec799221b989446874cfb95e9fb5171b2a", kill_on_drop: false }`
[INFO] [stdout] 7836fc7cfd6185f93e90deebbfd8a3ec799221b989446874cfb95e9fb5171b2a
