[INFO] cloning repository https://github.com/haotemans/yuantuanbot
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/haotemans/yuantuanbot" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhaotemans%2Fyuantuanbot", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhaotemans%2Fyuantuanbot'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 79f31b2e9b91b65137257346584e0743ef4ececf
[INFO] checking haotemans/yuantuanbot against 52995a223f2919dd3e2e427231db90a257350ded for pr-129249-4
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhaotemans%2Fyuantuanbot" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/haotemans/yuantuanbot
[INFO] finished tweaking git repo https://github.com/haotemans/yuantuanbot
[INFO] tweaked toml for git repo https://github.com/haotemans/yuantuanbot written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/haotemans/yuantuanbot on toolchain 52995a223f2919dd3e2e427231db90a257350ded
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/haotemans/yuantuanbot already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:c0af3998e971868164375a7dfb646c9933ddd1a3bdb00fa2041266763dc1eeab" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] db0204d8e56a625d2c5056d2ce0cde6312a6de14c95f8b8c1147d63c1aa917ac
[INFO] running `Command { std: "docker" "start" "db0204d8e56a625d2c5056d2ce0cde6312a6de14c95f8b8c1147d63c1aa917ac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "db0204d8e56a625d2c5056d2ce0cde6312a6de14c95f8b8c1147d63c1aa917ac", 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" "db0204d8e56a625d2c5056d2ce0cde6312a6de14c95f8b8c1147d63c1aa917ac" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "db0204d8e56a625d2c5056d2ce0cde6312a6de14c95f8b8c1147d63c1aa917ac", 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" "db0204d8e56a625d2c5056d2ce0cde6312a6de14c95f8b8c1147d63c1aa917ac" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking smallvec v1.16.3
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling cc v1.9.0
[INFO] [stderr]    Compiling syn v3.0.9
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking mio v1.2.4
[INFO] [stderr]     Checking socket2 v0.6.5
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]    Compiling crc32fast v1.5.3
[INFO] [stderr]    Compiling serde_json v1.0.154
[INFO] [stderr]     Checking miniz_oxide v0.9.1
[INFO] [stderr]     Checking alloc-no-stdlib v3.0.0
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]     Checking http-body-util v0.1.5
[INFO] [stderr]     Checking compression-core v0.4.34
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking alloc-stdlib v0.3.0
[INFO] [stderr]     Checking base64 v0.23.1
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking ipnet v2.12.2
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking brotli-decompressor v6.0.1
[INFO] [stderr]     Checking webpki-roots v1.0.10
[INFO] [stderr]     Checking equivalent v1.0.3
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking data-encoding v2.11.1
[INFO] [stderr]     Checking indexmap v2.14.2
[INFO] [stderr]     Checking crossbeam-utils v0.8.23
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]    Compiling rustix v1.1.5
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking futures-intrusive v0.5.0
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking spin v0.9.9
[INFO] [stderr]     Checking atoi v2.0.0
[INFO] [stderr]     Checking rand v0.9.5
[INFO] [stderr]     Checking flate2 v1.1.10
[INFO] [stderr]     Checking weezl v0.1.12
[INFO] [stderr]     Checking image-webp v0.2.4
[INFO] [stderr]     Checking flume v0.11.1
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking gif v0.14.2
[INFO] [stderr]     Checking crossbeam-queue v0.3.14
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking filetime v0.2.29
[INFO] [stderr]     Checking bytemuck v1.25.2
[INFO] [stderr]     Checking crypto-common v0.2.2
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]     Checking sha1 v0.10.7
[INFO] [stderr]     Checking md-5 v0.10.6
[INFO] [stderr]     Checking hashlink v0.10.0
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]    Compiling unicase v2.10.0
[INFO] [stderr]    Compiling const-oid v0.10.2
[INFO] [stderr]    Compiling cpufeatures v0.3.1
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]     Checking password-hash v0.5.0
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]     Checking sysinfo v0.38.4
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]     Checking digest v0.11.3
[INFO] [stderr]     Checking brotli v9.0.0
[INFO] [stderr]     Checking argon2 v0.5.3
[INFO] [stderr]     Checking sha2 v0.11.1
[INFO] [stderr]     Checking sm3 v0.5.0
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]     Checking rust-embed-utils v8.13.0
[INFO] [stderr]    Compiling hybrid-array v0.4.15
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking xattr v1.6.1
[INFO] [stderr]     Checking tar v0.4.46
[INFO] [stderr]    Compiling block-buffer v0.12.1
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling rust-embed-impl v8.13.0
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling rustls v0.23.46
[INFO] [stderr]     Checking tungstenite v0.24.0
[INFO] [stderr]    Compiling synstructure v0.14.0
[INFO] [stderr]     Checking rust-embed v8.13.0
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking compression-codecs v0.4.46
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling zerovec-derive v0.11.6
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling futures-macro v0.3.34
[INFO] [stderr]    Compiling async-trait v0.1.92
[INFO] [stderr]    Compiling thiserror-impl v2.0.21
[INFO] [stderr]     Checking axum-core v0.5.6
[INFO] [stderr]    Compiling zerofrom-derive v0.1.8
[INFO] [stderr]    Compiling yoke-derive v0.8.4
[INFO] [stderr]     Checking rustls-webpki v0.103.16
[INFO] [stderr]     Checking tokio v1.54.0
[INFO] [stderr]     Checking futures-util v0.3.34
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]     Checking thiserror v2.0.21
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]     Checking tungstenite v0.29.0
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]     Checking zerovec v0.11.8
[INFO] [stderr]     Checking zerotrie v0.2.5
[INFO] [stderr]    Compiling yuantuan v0.1.0 (/opt/rustwide/workdir/crates/yuantuan)
[INFO] [stderr]     Checking tinystr v0.8.4
[INFO] [stderr]     Checking potential_utf v0.1.6
[INFO] [stderr]     Checking icu_collections v2.3.0
[INFO] [stderr]     Checking icu_locale_core v2.3.0
[INFO] [stderr]     Checking icu_provider v2.3.1
[INFO] [stderr]     Checking icu_properties v2.3.0
[INFO] [stderr]     Checking icu_normalizer v2.3.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking yuantuan-plugin-api v0.1.0 (/opt/rustwide/workdir/crates/plugin-api)
[INFO] [stderr]     Checking either v1.19.0
[INFO] [stderr]     Checking yuantuan-plugin-moderator v0.1.0 (/opt/rustwide/workdir/plugins/moderator)
[INFO] [stderr]     Checking futures-executor v0.3.34
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking hyper v1.12.0
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tokio-rustls v0.26.6
[INFO] [stderr]     Checking async-compression v0.4.51
[INFO] [stderr]     Checking tokio-util v0.7.20
[INFO] [stderr]     Checking tokio-stream v0.1.19
[INFO] [stderr]     Checking tokio-tungstenite v0.29.0
[INFO] [stderr]     Checking tokio-tungstenite v0.24.0
[INFO] [stderr]     Checking sqlx-core v0.8.6
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]     Checking hyper-util v0.1.21
[INFO] [stderr]     Checking hyper-rustls v0.27.10
[INFO] [stderr]     Checking axum v0.8.9
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking sqlx-sqlite v0.8.6
[INFO] [stderr]     Checking yuantuan-plugin-social-media v0.1.0 (/opt/rustwide/workdir/plugins/social-media)
[INFO] [stderr]     Checking yuantuan-plugin-anysearch v0.1.0 (/opt/rustwide/workdir/plugins/anysearch)
[INFO] [stderr]     Checking yuantuan-plugin-nai-image v0.1.0 (/opt/rustwide/workdir/plugins/nai-image)
[INFO] [stderr]     Checking sqlx v0.8.6
[INFO] [stderr]     Checking yuantuan-core v0.1.0 (/opt/rustwide/workdir/crates/core)
[INFO] [stderr]     Checking yuantuan-webui v0.1.0 (/opt/rustwide/workdir/crates/webui)
[INFO] [stderr]     Checking yuantuan-adapter-qq v0.1.0 (/opt/rustwide/workdir/crates/adapter-qq)
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> crates/adapter-qq/tests/delayed_delivery.rs:83:35
[INFO] [stdout]    |
[INFO] [stdout] 83 |             ws.send(Message::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]    = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 83 -             ws.send(Message::Text(response.to_string().into()))
[INFO] [stdout] 83 +             ws.send(Message::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] 83 -             ws.send(Message::Text(response.to_string().into()))
[INFO] [stdout] 83 +             ws.send(Message::Text(<std::string::String as Into<_>>::into(response.to_string())))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `yuantuan-adapter-qq` (test "delayed_delivery") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> crates/adapter-qq/tests/pipeline.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 118 | /         json!({"status":"ok","retcode":0,"data":{"user_id": SELF_QQ, "nickname":"云团"},"echo": echo})
[INFO] [stdout] 119 | |             .to_string()
[INFO] [stdout] 120 | |             .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] 119 -             .to_string()
[INFO] [stdout] 120 -             .into(),
[INFO] [stdout] 119 +             .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 118 ~         <std::string::String as Into<_>>::into(json!({"status":"ok","retcode":0,"data":{"user_id": SELF_QQ, "nickname":"云团"},"echo": echo})
[INFO] [stdout] 119 ~             .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> crates/adapter-qq/tests/pipeline.rs:125:31
[INFO] [stdout]     |
[INFO] [stdout] 125 |         ws.send(Message::Text(ev.to_string().into())).await.unwrap();
[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] 125 -         ws.send(Message::Text(ev.to_string().into())).await.unwrap();
[INFO] [stdout] 125 +         ws.send(Message::Text(ev.to_string())).await.unwrap();
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 125 -         ws.send(Message::Text(ev.to_string().into())).await.unwrap();
[INFO] [stdout] 125 +         ws.send(Message::Text(<std::string::String as Into<_>>::into(ev.to_string()))).await.unwrap();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `yuantuan-adapter-qq` (test "pipeline") due to 2 previous errors
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> crates/adapter-qq/tests/meme.rs:140:13
[INFO] [stdout]     |
[INFO] [stdout] 140 | /             json!({"status":"ok","retcode":0,"data":{"user_id":SELF_QQ,"nickname":"云团"},"echo":echo})
[INFO] [stdout] 141 | |                 .to_string()
[INFO] [stdout] 142 | |                 .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] 141 -                 .to_string()
[INFO] [stdout] 142 -                 .into(),
[INFO] [stdout] 141 +                 .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 140 ~             <std::string::String as Into<_>>::into(json!({"status":"ok","retcode":0,"data":{"user_id":SELF_QQ,"nickname":"云团"},"echo":echo})
[INFO] [stdout] 141 ~                 .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> crates/adapter-qq/tests/meme.rs:149:33
[INFO] [stdout]     |
[INFO] [stdout] 149 |             .send(Message::Text(ev.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] 149 -             .send(Message::Text(ev.to_string().into()))
[INFO] [stdout] 149 +             .send(Message::Text(ev.to_string()))
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 149 -             .send(Message::Text(ev.to_string().into()))
[INFO] [stdout] 149 +             .send(Message::Text(<std::string::String as Into<_>>::into(ev.to_string())))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> crates/adapter-qq/tests/meme.rs:171:21
[INFO] [stdout]     |
[INFO] [stdout] 171 | /                     json!({"status":"ok","retcode":0,"data":{"message_id":seq},"echo":echo})
[INFO] [stdout] 172 | |                         .to_string()
[INFO] [stdout] 173 | |                         .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] 172 -                         .to_string()
[INFO] [stdout] 173 -                         .into(),
[INFO] [stdout] 172 +                         .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 171 ~                     <std::string::String as Into<_>>::into(json!({"status":"ok","retcode":0,"data":{"message_id":seq},"echo":echo})
[INFO] [stdout] 172 ~                         .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]   --> crates/adapter-qq/tests/ingest.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 | /         json!({
[INFO] [stdout] 52 | |             "status": "ok", "retcode": 0,
[INFO] [stdout] 53 | |             "data": {"user_id": SELF_QQ, "nickname": "云团"},
[INFO] [stdout] 54 | |             "echo": echo
[INFO] [stdout] 55 | |         })
[INFO] [stdout] 56 | |         .to_string()
[INFO] [stdout] 57 | |         .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] 56 -         .to_string()
[INFO] [stdout] 57 -         .into(),
[INFO] [stdout] 56 +         .to_string(),
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 51 ~         <std::string::String as Into<_>>::into(json!({
[INFO] [stdout] 52 |             "status": "ok", "retcode": 0,
[INFO] [stdout] ...
[INFO] [stdout] 55 |         })
[INFO] [stdout] 56 ~         .to_string()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> crates/adapter-qq/tests/ingest.rs:101:31
[INFO] [stdout]     |
[INFO] [stdout] 101 |         ws.send(Message::Text(ev.to_string().into())).await.unwrap();
[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] 101 -         ws.send(Message::Text(ev.to_string().into())).await.unwrap();
[INFO] [stdout] 101 +         ws.send(Message::Text(ev.to_string())).await.unwrap();
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 101 -         ws.send(Message::Text(ev.to_string().into())).await.unwrap();
[INFO] [stdout] 101 +         ws.send(Message::Text(<std::string::String as Into<_>>::into(ev.to_string()))).await.unwrap();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> crates/adapter-qq/tests/ingest.rs:303:39
[INFO] [stdout]     |
[INFO] [stdout] 303 |                   ws.send(Message::Text(json!({
[INFO] [stdout]     |  _______________________________________^
[INFO] [stdout] 304 | |                     "post_type":"message", "self_id":SELF_QQ, "message_type":"group",
[INFO] [stdout] 305 | |                     "group_id":555666, "message_id":id, "sender":{"user_id":uid,"nickname":"云团"},
[INFO] [stdout] 306 | |                     "message":segments,
[INFO] [stdout] 307 | |                 }).to_string().into())).await.unwrap();
[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] 307 -                 }).to_string().into())).await.unwrap();
[INFO] [stdout] 307 +                 }).to_string())).await.unwrap();
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 303 ~                 ws.send(Message::Text(<std::string::String as Into<_>>::into(json!({
[INFO] [stdout] 304 |                     "post_type":"message", "self_id":SELF_QQ, "message_type":"group",
[INFO] [stdout] 305 |                     "group_id":555666, "message_id":id, "sender":{"user_id":uid,"nickname":"云团"},
[INFO] [stdout] 306 |                     "message":segments,
[INFO] [stdout] 307 ~                 }).to_string()))).await.unwrap();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> crates/adapter-qq/tests/ingest.rs:311:13
[INFO] [stdout]     |
[INFO] [stdout] 311 | /             json!({"status":"ok","retcode":0,"data":{"user_id":SELF_QQ},"echo":request["echo"]})
[INFO] [stdout] 312 | |                 .to_string()
[INFO] [stdout] 313 | |                 .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] 312 -                 .to_string()
[INFO] [stdout] 313 -                 .into(),
[INFO] [stdout] 312 +                 .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 311 ~             <std::string::String as Into<_>>::into(json!({"status":"ok","retcode":0,"data":{"user_id":SELF_QQ},"echo":request["echo"]})
[INFO] [stdout] 312 ~                 .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `yuantuan-adapter-qq` (test "meme") due to 3 previous errors
[INFO] [stderr] error: could not compile `yuantuan-adapter-qq` (test "ingest") due to 4 previous errors
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> crates/adapter-qq/tests/reply.rs:173:13
[INFO] [stdout]     |
[INFO] [stdout] 173 | /             json!({"status":"ok","retcode":0,"data":{"user_id":SELF_QQ,"nickname":"云团"},"echo":echo})
[INFO] [stdout] 174 | |                 .to_string()
[INFO] [stdout] 175 | |                 .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] 174 -                 .to_string()
[INFO] [stdout] 175 -                 .into(),
[INFO] [stdout] 174 +                 .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 173 ~             <std::string::String as Into<_>>::into(json!({"status":"ok","retcode":0,"data":{"user_id":SELF_QQ,"nickname":"云团"},"echo":echo})
[INFO] [stdout] 174 ~                 .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> crates/adapter-qq/tests/reply.rs:182:33
[INFO] [stdout]     |
[INFO] [stdout] 182 |             .send(Message::Text(ev.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] 182 -             .send(Message::Text(ev.to_string().into()))
[INFO] [stdout] 182 +             .send(Message::Text(ev.to_string()))
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 182 -             .send(Message::Text(ev.to_string().into()))
[INFO] [stdout] 182 +             .send(Message::Text(<std::string::String as Into<_>>::into(ev.to_string())))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> crates/adapter-qq/tests/reply.rs:197:37
[INFO] [stdout]     |
[INFO] [stdout] 197 |                 .send(Message::Text(ev.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] 197 -                 .send(Message::Text(ev.to_string().into()))
[INFO] [stdout] 197 +                 .send(Message::Text(ev.to_string()))
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 197 -                 .send(Message::Text(ev.to_string().into()))
[INFO] [stdout] 197 +                 .send(Message::Text(<std::string::String as Into<_>>::into(ev.to_string())))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> crates/adapter-qq/tests/reply.rs:223:21
[INFO] [stdout]     |
[INFO] [stdout] 223 | /                     json!({"status":"ok","retcode":0,"data":{"message_id":seq},"echo":echo})
[INFO] [stdout] 224 | |                         .to_string()
[INFO] [stdout] 225 | |                         .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] 224 -                         .to_string()
[INFO] [stdout] 225 -                         .into(),
[INFO] [stdout] 224 +                         .to_string(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 223 ~                     <std::string::String as Into<_>>::into(json!({"status":"ok","retcode":0,"data":{"message_id":seq},"echo":echo})
[INFO] [stdout] 224 ~                         .to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `yuantuan-adapter-qq` (test "reply") due to 4 previous errors
[INFO] [stderr] warning: unused dependency `tokio-tungstenite`
[INFO] [stderr]   --> crates/adapter-qq/Cargo.toml:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | tokio-tungstenite = "0.24"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `tokio-tungstenite`
[INFO] [stderr] help: to still use for development builds, move to `dev-dependencies`
[INFO] [stderr] warning: `yuantuan-adapter-qq` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "inspect" "db0204d8e56a625d2c5056d2ce0cde6312a6de14c95f8b8c1147d63c1aa917ac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "db0204d8e56a625d2c5056d2ce0cde6312a6de14c95f8b8c1147d63c1aa917ac", kill_on_drop: false }`
[INFO] [stdout] db0204d8e56a625d2c5056d2ce0cde6312a6de14c95f8b8c1147d63c1aa917ac
