[INFO] cloning repository https://github.com/qoli/threadBridge
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/qoli/threadBridge" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fqoli%2FthreadBridge", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fqoli%2FthreadBridge'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 30f2ffe84e7b7fd27bbc08f92ceea88c622bac2e
[INFO] checking qoli/threadBridge against a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fqoli%2FthreadBridge" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/qoli/threadBridge
[INFO] finished tweaking git repo https://github.com/qoli/threadBridge
[INFO] tweaked toml for git repo https://github.com/qoli/threadBridge written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/qoli/threadBridge on toolchain a5689b034ad287112f709693384a37f1377eb9cc
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/qoli/threadBridge 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" "+a5689b034ad287112f709693384a37f1377eb9cc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 8df4acd77bdaa77c88cd0c29fc92a9af5160fa5367e3f364341524530567db76
[INFO] running `Command { std: "docker" "start" "8df4acd77bdaa77c88cd0c29fc92a9af5160fa5367e3f364341524530567db76", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8df4acd77bdaa77c88cd0c29fc92a9af5160fa5367e3f364341524530567db76", 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" "8df4acd77bdaa77c88cd0c29fc92a9af5160fa5367e3f364341524530567db76" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8df4acd77bdaa77c88cd0c29fc92a9af5160fa5367e3f364341524530567db76", 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" "8df4acd77bdaa77c88cd0c29fc92a9af5160fa5367e3f364341524530567db76" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling cc v1.2.57
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]     Checking rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling zerocopy v0.8.42
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling erasable v1.3.0
[INFO] [stderr]     Checking webpki-roots v1.0.6
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking iri-string v0.7.10
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling derive_more-impl v1.0.0
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]    Compiling serde_with_macros v3.18.0
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]    Compiling include_dir_macros v0.7.4
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]     Checking deranged v0.5.8
[INFO] [stderr]     Checking rgb v0.8.53
[INFO] [stderr]     Checking rustix v1.1.4
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling include_dir v0.7.4
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling stacker v0.1.23
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking signal-hook v0.3.18
[INFO] [stderr]     Checking tokio v1.50.0
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking getrandom v0.4.2
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking serde_with v3.18.0
[INFO] [stderr]     Checking uuid v1.22.0
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking pin-project v1.1.11
[INFO] [stderr]     Checking rc-box v1.3.0
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking vte v0.14.1
[INFO] [stderr]    Compiling pulldown-cmark v0.9.6
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking data-encoding v2.10.0
[INFO] [stderr]     Checking take_mut v0.2.2
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking takecell v0.1.1
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking rustls-native-certs v0.8.3
[INFO] [stderr]     Checking fd-lock v4.0.4
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking dptree v0.5.1
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking strip-ansi-escapes v0.2.1
[INFO] [stderr]     Checking axum-core v0.4.5
[INFO] [stderr]    Compiling aquamarine v0.6.0
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]     Checking getopts v0.2.24
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking derive_more v1.0.0
[INFO] [stderr]    Compiling teloxide-macros v0.10.0
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking directories v6.0.0
[INFO] [stderr]     Checking reedline v0.40.0
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]    Compiling ar_archive_writer v0.5.1
[INFO] [stderr]     Checking tracing-appender v0.2.4
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]    Compiling psm v0.1.30
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking hashlink v0.9.1
[INFO] [stderr]     Checking rustls-webpki v0.103.9
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking tungstenite v0.24.0
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]     Checking axum v0.7.9
[INFO] [stderr]     Checking tokio-tungstenite v0.24.0
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking teloxide-core v0.13.0
[INFO] [stderr]     Checking rusqlite v0.32.1
[INFO] [stderr]     Checking teloxide v0.17.0
[INFO] [stderr]     Checking threadbridge-rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `tokio::process::Command`
[INFO] [stdout]  --> rust/src/runtime_control.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tokio::process::Command;
[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: `tokio::process::Command`
[INFO] [stdout]  --> rust/src/runtime_control.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tokio::process::Command;
[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: `teloxide::payloads::setters`
[INFO] [stdout]  --> rust/src/telegram_runtime/media.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use teloxide::payloads::setters::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `teloxide::payloads::setters`
[INFO] [stdout]  --> rust/src/telegram_runtime/restore.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use teloxide::payloads::setters::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `teloxide::prelude`
[INFO] [stdout]  --> rust/src/telegram_runtime/status_sync.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use teloxide::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `teloxide::payloads::setters`
[INFO] [stdout]  --> rust/src/telegram_runtime/thread_flow.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use teloxide::payloads::setters::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `teloxide::payloads::setters`
[INFO] [stdout]  --> rust/src/telegram_runtime/media.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use teloxide::payloads::setters::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `teloxide::payloads::setters`
[INFO] [stdout]  --> rust/src/telegram_runtime/restore.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use teloxide::payloads::setters::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `teloxide::prelude`
[INFO] [stdout]  --> rust/src/telegram_runtime/status_sync.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use teloxide::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `teloxide::payloads::setters`
[INFO] [stdout]  --> rust/src/telegram_runtime/thread_flow.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use teloxide::payloads::setters::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_choose_folder_output` is never used
[INFO] [stdout]     --> rust/src/management_api.rs:2687:4
[INFO] [stdout]      |
[INFO] [stdout] 2687 | fn parse_choose_folder_output(raw: &str) -> Option<String> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apple_script_user_cancelled` is never used
[INFO] [stdout]     --> rust/src/management_api.rs:2698:4
[INFO] [stdout]      |
[INFO] [stdout] 2698 | fn apple_script_user_cancelled(status_code: Option<i32>, stderr: &str) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fallback_if_blank` is never used
[INFO] [stdout]     --> rust/src/management_api.rs:2703:4
[INFO] [stdout]      |
[INFO] [stdout] 2703 | fn fallback_if_blank(value: &str, fallback: &str) -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apple_script_string` is never used
[INFO] [stdout]     --> rust/src/runtime_control.rs:1863:4
[INFO] [stdout]      |
[INFO] [stdout] 1863 | fn apple_script_string(value: &str) -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> rust/src/app_server_runtime.rs:357:13
[INFO] [stdout]     |
[INFO] [stdout] 357 | /             json!({
[INFO] [stdout] 358 | |                 "jsonrpc": "2.0",
[INFO] [stdout] 359 | |                 "id": request_id,
[INFO] [stdout] 360 | |                 "method": "threadbridge/ensureHcodexIngress",
[INFO] [stdout] ...   |
[INFO] [stdout] 363 | |             .to_string()
[INFO] [stdout] 364 | |             .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] 363 -             .to_string()
[INFO] [stdout] 364 -             .into(),
[INFO] [stdout] 363 +             .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 357 ~             <std::string::String as Into<_>>::into(json!({
[INFO] [stdout] 358 |                 "jsonrpc": "2.0",
[INFO] [stdout] ...
[INFO] [stdout] 362 |             })
[INFO] [stdout] 363 ~             .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> rust/src/app_server_ws_worker.rs:440:21
[INFO] [stdout]     |
[INFO] [stdout] 440 | /                     json!({
[INFO] [stdout] 441 | |                         "jsonrpc": "2.0",
[INFO] [stdout] 442 | |                         "id": request_id,
[INFO] [stdout] 443 | |                         "result": serde_json::to_value(run_state)?,
[INFO] [stdout] 444 | |                     })
[INFO] [stdout] 445 | |                     .to_string()
[INFO] [stdout] 446 | |                     .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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 445 -                     .to_string()
[INFO] [stdout] 446 -                     .into(),
[INFO] [stdout] 445 +                     .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 440 ~                     <std::string::String as Into<_>>::into(json!({
[INFO] [stdout] 441 |                         "jsonrpc": "2.0",
[INFO] [stdout] ...
[INFO] [stdout] 444 |                     })
[INFO] [stdout] 445 ~                     .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> rust/src/app_server_ws_worker.rs:479:25
[INFO] [stdout]     |
[INFO] [stdout] 479 | /                         json!({
[INFO] [stdout] 480 | |                             "id": target_request_id,
[INFO] [stdout] 481 | |                             "result": response,
[INFO] [stdout] 482 | |                         })
[INFO] [stdout] 483 | |                         .to_string()
[INFO] [stdout] 484 | |                         .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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 483 -                         .to_string()
[INFO] [stdout] 484 -                         .into(),
[INFO] [stdout] 483 +                         .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 479 ~                         <std::string::String as Into<_>>::into(json!({
[INFO] [stdout] 480 |                             "id": target_request_id,
[INFO] [stdout] 481 |                             "result": response,
[INFO] [stdout] 482 |                         })
[INFO] [stdout] 483 ~                         .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> rust/src/app_server_ws_worker.rs:491:21
[INFO] [stdout]     |
[INFO] [stdout] 491 | /                     json!({
[INFO] [stdout] 492 | |                         "jsonrpc": "2.0",
[INFO] [stdout] 493 | |                         "id": request_id,
[INFO] [stdout] 494 | |                         "result": injected,
[INFO] [stdout] 495 | |                     })
[INFO] [stdout] 496 | |                     .to_string()
[INFO] [stdout] 497 | |                     .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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 496 -                     .to_string()
[INFO] [stdout] 497 -                     .into(),
[INFO] [stdout] 496 +                     .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 491 ~                     <std::string::String as Into<_>>::into(json!({
[INFO] [stdout] 492 |                         "jsonrpc": "2.0",
[INFO] [stdout] ...
[INFO] [stdout] 495 |                     })
[INFO] [stdout] 496 ~                     .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> rust/src/app_server_ws_worker.rs:520:21
[INFO] [stdout]     |
[INFO] [stdout] 520 | /                     json!({
[INFO] [stdout] 521 | |                         "jsonrpc": "2.0",
[INFO] [stdout] 522 | |                         "id": request_id,
[INFO] [stdout] 523 | |                         "result": {
[INFO] [stdout] ...   |
[INFO] [stdout] 527 | |                     .to_string()
[INFO] [stdout] 528 | |                     .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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 527 -                     .to_string()
[INFO] [stdout] 528 -                     .into(),
[INFO] [stdout] 527 +                     .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 520 ~                     <std::string::String as Into<_>>::into(json!({
[INFO] [stdout] 521 |                         "jsonrpc": "2.0",
[INFO] [stdout] ...
[INFO] [stdout] 526 |                     })
[INFO] [stdout] 527 ~                     .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> rust/src/app_server_ws_worker.rs:575:9
[INFO] [stdout]     |
[INFO] [stdout] 575 | /         json!({
[INFO] [stdout] 576 | |             "jsonrpc": "2.0",
[INFO] [stdout] 577 | |             "id": request_id,
[INFO] [stdout] 578 | |             "method": "thread/resume",
[INFO] [stdout] ...   |
[INFO] [stdout] 584 | |         .to_string()
[INFO] [stdout] 585 | |         .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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 584 -         .to_string()
[INFO] [stdout] 585 -         .into(),
[INFO] [stdout] 584 +         .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 575 ~         <std::string::String as Into<_>>::into(json!({
[INFO] [stdout] 576 |             "jsonrpc": "2.0",
[INFO] [stdout] ...
[INFO] [stdout] 583 |         })
[INFO] [stdout] 584 ~         .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> rust/src/app_server_ws_worker.rs:591:9
[INFO] [stdout]     |
[INFO] [stdout] 591 | /         json!({
[INFO] [stdout] 592 | |             "jsonrpc": "2.0",
[INFO] [stdout] 593 | |             "id": request_id,
[INFO] [stdout] 594 | |             "method": "thread/unsubscribe",
[INFO] [stdout] ...   |
[INFO] [stdout] 599 | |         .to_string()
[INFO] [stdout] 600 | |         .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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 599 -         .to_string()
[INFO] [stdout] 600 -         .into(),
[INFO] [stdout] 599 +         .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 591 ~         <std::string::String as Into<_>>::into(json!({
[INFO] [stdout] 592 |             "jsonrpc": "2.0",
[INFO] [stdout] ...
[INFO] [stdout] 598 |         })
[INFO] [stdout] 599 ~         .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> rust/src/app_server_ws_worker.rs:631:13
[INFO] [stdout]     |
[INFO] [stdout] 631 | /             json!({
[INFO] [stdout] 632 | |                 "jsonrpc": "2.0",
[INFO] [stdout] 633 | |                 "id": request_id,
[INFO] [stdout] 634 | |                 "error": {
[INFO] [stdout] ...   |
[INFO] [stdout] 639 | |             .to_string()
[INFO] [stdout] 640 | |             .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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 639 -             .to_string()
[INFO] [stdout] 640 -             .into(),
[INFO] [stdout] 639 +             .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 631 ~             <std::string::String as Into<_>>::into(json!({
[INFO] [stdout] 632 |                 "jsonrpc": "2.0",
[INFO] [stdout] ...
[INFO] [stdout] 638 |             })
[INFO] [stdout] 639 ~             .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]     --> rust/src/telegram_runtime/thread_flow.rs:2957:44
[INFO] [stdout]      |
[INFO] [stdout] 2957 | ...                   return Err(error.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] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 2957 -                                 return Err(error.into());
[INFO] [stdout] 2957 +                                 return Err(error);
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 2957 -                                 return Err(error.into());
[INFO] [stdout] 2957 +                                 return Err(<anyhow::Error as Into<_>>::into(error));
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `threadbridge-rust` (lib) due to 9 previous errors; 9 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: function `parse_choose_folder_output` is never used
[INFO] [stdout]     --> rust/src/management_api.rs:2687:4
[INFO] [stdout]      |
[INFO] [stdout] 2687 | fn parse_choose_folder_output(raw: &str) -> Option<String> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apple_script_user_cancelled` is never used
[INFO] [stdout]     --> rust/src/management_api.rs:2698:4
[INFO] [stdout]      |
[INFO] [stdout] 2698 | fn apple_script_user_cancelled(status_code: Option<i32>, stderr: &str) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fallback_if_blank` is never used
[INFO] [stdout]     --> rust/src/management_api.rs:2703:4
[INFO] [stdout]      |
[INFO] [stdout] 2703 | fn fallback_if_blank(value: &str, fallback: &str) -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apple_script_string` is never used
[INFO] [stdout]     --> rust/src/runtime_control.rs:1863:4
[INFO] [stdout]      |
[INFO] [stdout] 1863 | fn apple_script_string(value: &str) -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> rust/src/app_server_runtime.rs:357:13
[INFO] [stdout]     |
[INFO] [stdout] 357 | /             json!({
[INFO] [stdout] 358 | |                 "jsonrpc": "2.0",
[INFO] [stdout] 359 | |                 "id": request_id,
[INFO] [stdout] 360 | |                 "method": "threadbridge/ensureHcodexIngress",
[INFO] [stdout] ...   |
[INFO] [stdout] 363 | |             .to_string()
[INFO] [stdout] 364 | |             .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] 363 -             .to_string()
[INFO] [stdout] 364 -             .into(),
[INFO] [stdout] 363 +             .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 357 ~             <std::string::String as Into<_>>::into(json!({
[INFO] [stdout] 358 |                 "jsonrpc": "2.0",
[INFO] [stdout] ...
[INFO] [stdout] 362 |             })
[INFO] [stdout] 363 ~             .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> rust/src/app_server_ws_worker.rs:440:21
[INFO] [stdout]     |
[INFO] [stdout] 440 | /                     json!({
[INFO] [stdout] 441 | |                         "jsonrpc": "2.0",
[INFO] [stdout] 442 | |                         "id": request_id,
[INFO] [stdout] 443 | |                         "result": serde_json::to_value(run_state)?,
[INFO] [stdout] 444 | |                     })
[INFO] [stdout] 445 | |                     .to_string()
[INFO] [stdout] 446 | |                     .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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 445 -                     .to_string()
[INFO] [stdout] 446 -                     .into(),
[INFO] [stdout] 445 +                     .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 440 ~                     <std::string::String as Into<_>>::into(json!({
[INFO] [stdout] 441 |                         "jsonrpc": "2.0",
[INFO] [stdout] ...
[INFO] [stdout] 444 |                     })
[INFO] [stdout] 445 ~                     .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> rust/src/app_server_ws_worker.rs:479:25
[INFO] [stdout]     |
[INFO] [stdout] 479 | /                         json!({
[INFO] [stdout] 480 | |                             "id": target_request_id,
[INFO] [stdout] 481 | |                             "result": response,
[INFO] [stdout] 482 | |                         })
[INFO] [stdout] 483 | |                         .to_string()
[INFO] [stdout] 484 | |                         .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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 483 -                         .to_string()
[INFO] [stdout] 484 -                         .into(),
[INFO] [stdout] 483 +                         .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 479 ~                         <std::string::String as Into<_>>::into(json!({
[INFO] [stdout] 480 |                             "id": target_request_id,
[INFO] [stdout] 481 |                             "result": response,
[INFO] [stdout] 482 |                         })
[INFO] [stdout] 483 ~                         .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> rust/src/app_server_ws_worker.rs:491:21
[INFO] [stdout]     |
[INFO] [stdout] 491 | /                     json!({
[INFO] [stdout] 492 | |                         "jsonrpc": "2.0",
[INFO] [stdout] 493 | |                         "id": request_id,
[INFO] [stdout] 494 | |                         "result": injected,
[INFO] [stdout] 495 | |                     })
[INFO] [stdout] 496 | |                     .to_string()
[INFO] [stdout] 497 | |                     .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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 496 -                     .to_string()
[INFO] [stdout] 497 -                     .into(),
[INFO] [stdout] 496 +                     .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 491 ~                     <std::string::String as Into<_>>::into(json!({
[INFO] [stdout] 492 |                         "jsonrpc": "2.0",
[INFO] [stdout] ...
[INFO] [stdout] 495 |                     })
[INFO] [stdout] 496 ~                     .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> rust/src/app_server_ws_worker.rs:520:21
[INFO] [stdout]     |
[INFO] [stdout] 520 | /                     json!({
[INFO] [stdout] 521 | |                         "jsonrpc": "2.0",
[INFO] [stdout] 522 | |                         "id": request_id,
[INFO] [stdout] 523 | |                         "result": {
[INFO] [stdout] ...   |
[INFO] [stdout] 527 | |                     .to_string()
[INFO] [stdout] 528 | |                     .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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 527 -                     .to_string()
[INFO] [stdout] 528 -                     .into(),
[INFO] [stdout] 527 +                     .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 520 ~                     <std::string::String as Into<_>>::into(json!({
[INFO] [stdout] 521 |                         "jsonrpc": "2.0",
[INFO] [stdout] ...
[INFO] [stdout] 526 |                     })
[INFO] [stdout] 527 ~                     .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> rust/src/app_server_ws_worker.rs:575:9
[INFO] [stdout]     |
[INFO] [stdout] 575 | /         json!({
[INFO] [stdout] 576 | |             "jsonrpc": "2.0",
[INFO] [stdout] 577 | |             "id": request_id,
[INFO] [stdout] 578 | |             "method": "thread/resume",
[INFO] [stdout] ...   |
[INFO] [stdout] 584 | |         .to_string()
[INFO] [stdout] 585 | |         .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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 584 -         .to_string()
[INFO] [stdout] 585 -         .into(),
[INFO] [stdout] 584 +         .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 575 ~         <std::string::String as Into<_>>::into(json!({
[INFO] [stdout] 576 |             "jsonrpc": "2.0",
[INFO] [stdout] ...
[INFO] [stdout] 583 |         })
[INFO] [stdout] 584 ~         .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> rust/src/app_server_ws_worker.rs:591:9
[INFO] [stdout]     |
[INFO] [stdout] 591 | /         json!({
[INFO] [stdout] 592 | |             "jsonrpc": "2.0",
[INFO] [stdout] 593 | |             "id": request_id,
[INFO] [stdout] 594 | |             "method": "thread/unsubscribe",
[INFO] [stdout] ...   |
[INFO] [stdout] 599 | |         .to_string()
[INFO] [stdout] 600 | |         .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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 599 -         .to_string()
[INFO] [stdout] 600 -         .into(),
[INFO] [stdout] 599 +         .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 591 ~         <std::string::String as Into<_>>::into(json!({
[INFO] [stdout] 592 |             "jsonrpc": "2.0",
[INFO] [stdout] ...
[INFO] [stdout] 598 |         })
[INFO] [stdout] 599 ~         .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> rust/src/app_server_ws_worker.rs:631:13
[INFO] [stdout]     |
[INFO] [stdout] 631 | /             json!({
[INFO] [stdout] 632 | |                 "jsonrpc": "2.0",
[INFO] [stdout] 633 | |                 "id": request_id,
[INFO] [stdout] 634 | |                 "error": {
[INFO] [stdout] ...   |
[INFO] [stdout] 639 | |             .to_string()
[INFO] [stdout] 640 | |             .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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 639 -             .to_string()
[INFO] [stdout] 640 -             .into(),
[INFO] [stdout] 639 +             .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 631 ~             <std::string::String as Into<_>>::into(json!({
[INFO] [stdout] 632 |                 "jsonrpc": "2.0",
[INFO] [stdout] ...
[INFO] [stdout] 638 |             })
[INFO] [stdout] 639 ~             .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> rust/src/app_server_ws_worker.rs:843:17
[INFO] [stdout]     |
[INFO] [stdout] 843 | /                 json!({
[INFO] [stdout] 844 | |                     "jsonrpc": "2.0",
[INFO] [stdout] 845 | |                     "id": 42,
[INFO] [stdout] 846 | |                     "method": "turn/start",
[INFO] [stdout] ...   |
[INFO] [stdout] 851 | |                 .to_string()
[INFO] [stdout] 852 | |                 .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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 851 -                 .to_string()
[INFO] [stdout] 852 -                 .into(),
[INFO] [stdout] 851 +                 .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 843 ~                 <std::string::String as Into<_>>::into(json!({
[INFO] [stdout] 844 |                     "jsonrpc": "2.0",
[INFO] [stdout] ...
[INFO] [stdout] 850 |                 })
[INFO] [stdout] 851 ~                 .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> rust/src/app_server_ws_worker.rs:862:17
[INFO] [stdout]     |
[INFO] [stdout] 862 | /                 json!({
[INFO] [stdout] 863 | |                     "jsonrpc": "2.0",
[INFO] [stdout] 864 | |                     "id": 42,
[INFO] [stdout] 865 | |                     "result": {
[INFO] [stdout] ...   |
[INFO] [stdout] 871 | |                 .to_string()
[INFO] [stdout] 872 | |                 .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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 871 -                 .to_string()
[INFO] [stdout] 872 -                 .into(),
[INFO] [stdout] 871 +                 .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 862 ~                 <std::string::String as Into<_>>::into(json!({
[INFO] [stdout] 863 |                     "jsonrpc": "2.0",
[INFO] [stdout] ...
[INFO] [stdout] 870 |                 })
[INFO] [stdout] 871 ~                 .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> rust/src/app_server_ws_worker.rs:913:17
[INFO] [stdout]     |
[INFO] [stdout] 913 | /                 json!({
[INFO] [stdout] 914 | |                     "jsonrpc": "2.0",
[INFO] [stdout] 915 | |                     "method": "turn/completed",
[INFO] [stdout] 916 | |                     "params": {
[INFO] [stdout] ...   |
[INFO] [stdout] 923 | |                 .to_string()
[INFO] [stdout] 924 | |                 .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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 923 -                 .to_string()
[INFO] [stdout] 924 -                 .into(),
[INFO] [stdout] 923 +                 .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 913 ~                 <std::string::String as Into<_>>::into(json!({
[INFO] [stdout] 914 |                     "jsonrpc": "2.0",
[INFO] [stdout] ...
[INFO] [stdout] 922 |                 })
[INFO] [stdout] 923 ~                 .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> rust/src/app_server_ws_worker.rs:965:17
[INFO] [stdout]     |
[INFO] [stdout] 965 | /                 json!({
[INFO] [stdout] 966 | |                     "jsonrpc": "2.0",
[INFO] [stdout] 967 | |                     "method": "turn/completed",
[INFO] [stdout] 968 | |                     "params": {
[INFO] [stdout] ...   |
[INFO] [stdout] 975 | |                 .to_string()
[INFO] [stdout] 976 | |                 .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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 975 -                 .to_string()
[INFO] [stdout] 976 -                 .into(),
[INFO] [stdout] 975 +                 .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 965 ~                 <std::string::String as Into<_>>::into(json!({
[INFO] [stdout] 966 |                     "jsonrpc": "2.0",
[INFO] [stdout] ...
[INFO] [stdout] 974 |                 })
[INFO] [stdout] 975 ~                 .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> rust/src/codex.rs:1859:49
[INFO] [stdout]      |
[INFO] [stdout] 1859 | ...                   WsMessage::Text(response.to_string().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] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1859 -                                 WsMessage::Text(response.to_string().into()),
[INFO] [stdout] 1859 +                                 WsMessage::Text(response.to_string()),
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1859 -                                 WsMessage::Text(response.to_string().into()),
[INFO] [stdout] 1859 +                                 WsMessage::Text(<std::string::String as Into<_>>::into(response.to_string())),
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> rust/src/hcodex_ingress.rs:758:13
[INFO] [stdout]     |
[INFO] [stdout] 758 | /             json!({
[INFO] [stdout] 759 | |                 "method": "item/started",
[INFO] [stdout] 760 | |                 "params": {
[INFO] [stdout] 761 | |                     "item": {
[INFO] [stdout] ...   |
[INFO] [stdout] 767 | |             .to_string()
[INFO] [stdout] 768 | |             .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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 767 -             .to_string()
[INFO] [stdout] 768 -             .into(),
[INFO] [stdout] 767 +             .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 758 ~             <std::string::String as Into<_>>::into(json!({
[INFO] [stdout] 759 |                 "method": "item/started",
[INFO] [stdout] ...
[INFO] [stdout] 766 |             })
[INFO] [stdout] 767 ~             .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> rust/src/hcodex_ingress.rs:776:13
[INFO] [stdout]     |
[INFO] [stdout] 776 | /             json!({
[INFO] [stdout] 777 | |                 "method": "item/completed",
[INFO] [stdout] 778 | |                 "params": {
[INFO] [stdout] 779 | |                     "item": {
[INFO] [stdout] ...   |
[INFO] [stdout] 785 | |             .to_string()
[INFO] [stdout] 786 | |             .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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 785 -             .to_string()
[INFO] [stdout] 786 -             .into(),
[INFO] [stdout] 785 +             .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 776 ~             <std::string::String as Into<_>>::into(json!({
[INFO] [stdout] 777 |                 "method": "item/completed",
[INFO] [stdout] ...
[INFO] [stdout] 784 |             })
[INFO] [stdout] 785 ~             .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> rust/src/hcodex_ingress.rs:794:13
[INFO] [stdout]     |
[INFO] [stdout] 794 | /             json!({
[INFO] [stdout] 795 | |                 "method": "item/plan/delta",
[INFO] [stdout] 796 | |                 "params": {
[INFO] [stdout] 797 | |                     "itemId": "plan_1",
[INFO] [stdout] ...   |
[INFO] [stdout] 801 | |             .to_string()
[INFO] [stdout] 802 | |             .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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 801 -             .to_string()
[INFO] [stdout] 802 -             .into(),
[INFO] [stdout] 801 +             .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 794 ~             <std::string::String as Into<_>>::into(json!({
[INFO] [stdout] 795 |                 "method": "item/plan/delta",
[INFO] [stdout] ...
[INFO] [stdout] 800 |             })
[INFO] [stdout] 801 ~             .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> rust/src/hcodex_ingress.rs:814:13
[INFO] [stdout]     |
[INFO] [stdout] 814 | /             json!({
[INFO] [stdout] 815 | |                 "method": "item/completed",
[INFO] [stdout] 816 | |                 "params": {
[INFO] [stdout] 817 | |                     "item": {
[INFO] [stdout] ...   |
[INFO] [stdout] 823 | |             .to_string()
[INFO] [stdout] 824 | |             .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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 823 -             .to_string()
[INFO] [stdout] 824 -             .into(),
[INFO] [stdout] 823 +             .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 814 ~             <std::string::String as Into<_>>::into(json!({
[INFO] [stdout] 815 |                 "method": "item/completed",
[INFO] [stdout] ...
[INFO] [stdout] 822 |             })
[INFO] [stdout] 823 ~             .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> rust/src/process_transcript.rs:279:13
[INFO] [stdout]     |
[INFO] [stdout] 279 | /             json!({
[INFO] [stdout] 280 | |                 "method": "item/started",
[INFO] [stdout] 281 | |                 "params": {
[INFO] [stdout] 282 | |                     "item": {
[INFO] [stdout] ...   |
[INFO] [stdout] 288 | |             .to_string()
[INFO] [stdout] 289 | |             .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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 288 -             .to_string()
[INFO] [stdout] 289 -             .into(),
[INFO] [stdout] 288 +             .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 279 ~             <std::string::String as Into<_>>::into(json!({
[INFO] [stdout] 280 |                 "method": "item/started",
[INFO] [stdout] ...
[INFO] [stdout] 287 |             })
[INFO] [stdout] 288 ~             .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> rust/src/process_transcript.rs:305:13
[INFO] [stdout]     |
[INFO] [stdout] 305 | /             json!({
[INFO] [stdout] 306 | |                 "method": "item/completed",
[INFO] [stdout] 307 | |                 "params": {
[INFO] [stdout] 308 | |                     "item": {
[INFO] [stdout] ...   |
[INFO] [stdout] 314 | |             .to_string()
[INFO] [stdout] 315 | |             .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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 314 -             .to_string()
[INFO] [stdout] 315 -             .into(),
[INFO] [stdout] 314 +             .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 305 ~             <std::string::String as Into<_>>::into(json!({
[INFO] [stdout] 306 |                 "method": "item/completed",
[INFO] [stdout] ...
[INFO] [stdout] 313 |             })
[INFO] [stdout] 314 ~             .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> rust/src/process_transcript.rs:331:13
[INFO] [stdout]     |
[INFO] [stdout] 331 | /             json!({
[INFO] [stdout] 332 | |                 "method": "item/updated",
[INFO] [stdout] 333 | |                 "params": {
[INFO] [stdout] 334 | |                     "item": {
[INFO] [stdout] ...   |
[INFO] [stdout] 341 | |             .to_string()
[INFO] [stdout] 342 | |             .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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 341 -             .to_string()
[INFO] [stdout] 342 -             .into(),
[INFO] [stdout] 341 +             .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 331 ~             <std::string::String as Into<_>>::into(json!({
[INFO] [stdout] 332 |                 "method": "item/updated",
[INFO] [stdout] ...
[INFO] [stdout] 340 |             })
[INFO] [stdout] 341 ~             .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> rust/src/runtime_protocol.rs:1550:37
[INFO] [stdout]      |
[INFO] [stdout] 1550 | / ...                   serde_json::json!({
[INFO] [stdout] 1551 | | ...                       "jsonrpc": "2.0",
[INFO] [stdout] 1552 | | ...                       "id": id.unwrap(),
[INFO] [stdout] 1553 | | ...                       "result": {}
[INFO] [stdout] 1554 | | ...                   })
[INFO] [stdout] 1555 | | ...                   .to_string()
[INFO] [stdout] 1556 | | ...                   .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] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1555 -                                     .to_string()
[INFO] [stdout] 1556 -                                     .into(),
[INFO] [stdout] 1555 +                                     .to_string(),
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1550 ~                                     <std::string::String as Into<_>>::into(serde_json::json!({
[INFO] [stdout] 1551 |                                         "jsonrpc": "2.0",
[INFO] [stdout]  ...
[INFO] [stdout] 1554 |                                     })
[INFO] [stdout] 1555 ~                                     .to_string()),
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> rust/src/runtime_protocol.rs:1564:37
[INFO] [stdout]      |
[INFO] [stdout] 1564 | / ...                   serde_json::json!({
[INFO] [stdout] 1565 | | ...                       "jsonrpc": "2.0",
[INFO] [stdout] 1566 | | ...                       "id": id.unwrap(),
[INFO] [stdout] 1567 | | ...                       "result": {
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | | ...                   .to_string()
[INFO] [stdout] 1576 | | ...                   .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] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1575 -                                     .to_string()
[INFO] [stdout] 1576 -                                     .into(),
[INFO] [stdout] 1575 +                                     .to_string(),
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1564 ~                                     <std::string::String as Into<_>>::into(serde_json::json!({
[INFO] [stdout] 1565 |                                         "jsonrpc": "2.0",
[INFO] [stdout]  ...
[INFO] [stdout] 1574 |                                     })
[INFO] [stdout] 1575 ~                                     .to_string()),
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `anyhow::Error`
[INFO] [stdout]     --> rust/src/telegram_runtime/thread_flow.rs:2957:44
[INFO] [stdout]      |
[INFO] [stdout] 2957 | ...                   return Err(error.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] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 2957 -                                 return Err(error.into());
[INFO] [stdout] 2957 +                                 return Err(error);
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 2957 -                                 return Err(error.into());
[INFO] [stdout] 2957 +                                 return Err(<anyhow::Error as Into<_>>::into(error));
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]     --> rust/src/telegram_runtime/mod.rs:1573:49
[INFO] [stdout]      |
[INFO] [stdout] 1573 | ...                   WsMessage::Text(response.to_string().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] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1573 -                                 WsMessage::Text(response.to_string().into()),
[INFO] [stdout] 1573 +                                 WsMessage::Text(response.to_string()),
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1573 -                                 WsMessage::Text(response.to_string().into()),
[INFO] [stdout] 1573 +                                 WsMessage::Text(<std::string::String as Into<_>>::into(response.to_string())),
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> rust/src/thread_state.rs:473:37
[INFO] [stdout]     |
[INFO] [stdout] 473 | / ...                   serde_json::json!({
[INFO] [stdout] 474 | | ...                       "jsonrpc": "2.0",
[INFO] [stdout] 475 | | ...                       "id": id.unwrap(),
[INFO] [stdout] 476 | | ...                       "result": {}
[INFO] [stdout] 477 | | ...                   })
[INFO] [stdout] 478 | | ...                   .to_string()
[INFO] [stdout] 479 | | ...                   .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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 478 -                                     .to_string()
[INFO] [stdout] 479 -                                     .into(),
[INFO] [stdout] 478 +                                     .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 473 ~                                     <std::string::String as Into<_>>::into(serde_json::json!({
[INFO] [stdout] 474 |                                         "jsonrpc": "2.0",
[INFO] [stdout] ...
[INFO] [stdout] 477 |                                     })
[INFO] [stdout] 478 ~                                     .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> rust/src/thread_state.rs:487:37
[INFO] [stdout]     |
[INFO] [stdout] 487 | / ...                   serde_json::json!({
[INFO] [stdout] 488 | | ...                       "jsonrpc": "2.0",
[INFO] [stdout] 489 | | ...                       "id": id.unwrap(),
[INFO] [stdout] 490 | | ...                       "result": {
[INFO] [stdout] ...   |
[INFO] [stdout] 498 | | ...                   .to_string()
[INFO] [stdout] 499 | | ...                   .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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 498 -                                     .to_string()
[INFO] [stdout] 499 -                                     .into(),
[INFO] [stdout] 498 +                                     .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 487 ~                                     <std::string::String as Into<_>>::into(serde_json::json!({
[INFO] [stdout] 488 |                                         "jsonrpc": "2.0",
[INFO] [stdout] ...
[INFO] [stdout] 497 |                                     })
[INFO] [stdout] 498 ~                                     .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> rust/src/thread_state.rs:718:37
[INFO] [stdout]     |
[INFO] [stdout] 718 | / ...                   serde_json::json!({
[INFO] [stdout] 719 | | ...                       "jsonrpc": "2.0",
[INFO] [stdout] 720 | | ...                       "id": id.unwrap(),
[INFO] [stdout] 721 | | ...                       "result": {}
[INFO] [stdout] 722 | | ...                   })
[INFO] [stdout] 723 | | ...                   .to_string()
[INFO] [stdout] 724 | | ...                   .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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 723 -                                     .to_string()
[INFO] [stdout] 724 -                                     .into(),
[INFO] [stdout] 723 +                                     .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 718 ~                                     <std::string::String as Into<_>>::into(serde_json::json!({
[INFO] [stdout] 719 |                                         "jsonrpc": "2.0",
[INFO] [stdout] ...
[INFO] [stdout] 722 |                                     })
[INFO] [stdout] 723 ~                                     .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> rust/src/thread_state.rs:732:37
[INFO] [stdout]     |
[INFO] [stdout] 732 | / ...                   serde_json::json!({
[INFO] [stdout] 733 | | ...                       "jsonrpc": "2.0",
[INFO] [stdout] 734 | | ...                       "id": id.unwrap(),
[INFO] [stdout] 735 | | ...                       "result": {
[INFO] [stdout] ...   |
[INFO] [stdout] 743 | | ...                   .to_string()
[INFO] [stdout] 744 | | ...                   .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] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 743 -                                     .to_string()
[INFO] [stdout] 744 -                                     .into(),
[INFO] [stdout] 743 +                                     .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 732 ~                                     <std::string::String as Into<_>>::into(serde_json::json!({
[INFO] [stdout] 733 |                                         "jsonrpc": "2.0",
[INFO] [stdout] ...
[INFO] [stdout] 742 |                                     })
[INFO] [stdout] 743 ~                                     .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `threadbridge-rust` (lib test) due to 28 previous errors; 9 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "8df4acd77bdaa77c88cd0c29fc92a9af5160fa5367e3f364341524530567db76", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8df4acd77bdaa77c88cd0c29fc92a9af5160fa5367e3f364341524530567db76", kill_on_drop: false }`
[INFO] [stdout] 8df4acd77bdaa77c88cd0c29fc92a9af5160fa5367e3f364341524530567db76
