[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 { [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, 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 Into 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 ~ >::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 Into 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 ~ >::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 Into 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 ~ >::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 Into 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 ~ >::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 Into 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 ~ >::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 Into 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 ~ >::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 Into 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 ~ >::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 Into 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 ~ >::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 Into 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(>::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 { [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, 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 Into 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 ~ >::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 Into 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 ~ >::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 Into 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 ~ >::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 Into 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 ~ >::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 Into 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 ~ >::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 Into 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 ~ >::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 Into 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 ~ >::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 Into 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 ~ >::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 Into 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 ~ >::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 Into 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 ~ >::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 Into 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 ~ >::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 Into 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 ~ >::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 Into 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(>::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 Into 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 ~ >::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 Into 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 ~ >::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 Into 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 ~ >::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 Into 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 ~ >::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 Into 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 ~ >::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 Into 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 ~ >::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 Into 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 ~ >::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 Into 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 ~ >::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 Into 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 ~ >::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 Into 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(>::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 Into 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(>::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 Into 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 ~ >::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 Into 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 ~ >::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 Into 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 ~ >::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 Into 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 ~ >::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