[INFO] cloning repository https://github.com/mokalami/neteaseComment
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mokalami/neteaseComment" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmokalami%2FneteaseComment", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmokalami%2FneteaseComment'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1437f1f8dca71ebf93d8a1390fd8d56760f4543a
[INFO] building mokalami/neteaseComment against master#c7f6aa2869acdbf014d094c6e427e554e160b6db for pr-146237-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmokalami%2FneteaseComment" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mokalami/neteaseComment
[INFO] finished tweaking git repo https://github.com/mokalami/neteaseComment
[INFO] tweaked toml for git repo https://github.com/mokalami/neteaseComment written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mokalami/neteaseComment on toolchain c7f6aa2869acdbf014d094c6e427e554e160b6db
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mokalami/neteaseComment 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" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded itoa v1.0.13
[INFO] [stderr]   Downloaded half v2.4.1
[INFO] [stderr]   Downloaded anyhow v1.0.93
[INFO] [stderr]   Downloaded qr2term v0.3.3
[INFO] [stderr]   Downloaded indicatif v0.17.9
[INFO] [stderr]   Downloaded qrcode v0.14.1
[INFO] [stderr]   Downloaded cc v1.2.1
[INFO] [stderr]   Downloaded hyper v0.14.31
[INFO] [stderr]   Downloaded tokio v1.41.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1236185a5ba3109d5bec2bddabd73c532f0fa178e5f0027b0197c9095be02380
[INFO] running `Command { std: "docker" "start" "-a" "1236185a5ba3109d5bec2bddabd73c532f0fa178e5f0027b0197c9095be02380", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1236185a5ba3109d5bec2bddabd73c532f0fa178e5f0027b0197c9095be02380", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1236185a5ba3109d5bec2bddabd73c532f0fa178e5f0027b0197c9095be02380", kill_on_drop: false }`
[INFO] [stdout] 1236185a5ba3109d5bec2bddabd73c532f0fa178e5f0027b0197c9095be02380
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 505e0a931a5b7116ea9e96e6fbc632272b2fedb2652d819abd7be38f7b78aedf
[INFO] running `Command { std: "docker" "start" "-a" "505e0a931a5b7116ea9e96e6fbc632272b2fedb2652d819abd7be38f7b78aedf", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.92
[INFO] [stderr]    Compiling unicode-ident v1.0.14
[INFO] [stderr]    Compiling libc v0.2.164
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]    Compiling pin-project-lite v0.2.15
[INFO] [stderr]    Compiling cc v1.2.1
[INFO] [stderr]    Compiling writeable v0.5.5
[INFO] [stderr]    Compiling litemap v0.7.4
[INFO] [stderr]    Compiling bytes v1.8.0
[INFO] [stderr]    Compiling itoa v1.0.13
[INFO] [stderr]    Compiling icu_locid_transform_data v1.5.0
[INFO] [stderr]    Compiling icu_properties_data v1.5.0
[INFO] [stderr]    Compiling openssl v0.10.68
[INFO] [stderr]    Compiling hashbrown v0.15.1
[INFO] [stderr]    Compiling httparse v1.9.5
[INFO] [stderr]    Compiling serde v1.0.215
[INFO] [stderr]    Compiling icu_normalizer_data v1.5.0
[INFO] [stderr]    Compiling utf16_iter v1.0.5
[INFO] [stderr]    Compiling write16 v1.0.0
[INFO] [stderr]    Compiling native-tls v0.2.12
[INFO] [stderr]    Compiling tracing v0.1.40
[INFO] [stderr]    Compiling rustix v0.38.41
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]    Compiling flate2 v1.0.35
[INFO] [stderr]    Compiling serde_json v1.0.133
[INFO] [stderr]    Compiling portable-atomic v1.10.0
[INFO] [stderr]    Compiling weezl v0.1.8
[INFO] [stderr]    Compiling fdeflate v0.3.6
[INFO] [stderr]    Compiling zune-inflate v0.2.54
[INFO] [stderr]    Compiling half v2.4.1
[INFO] [stderr]    Compiling rayon v1.10.0
[INFO] [stderr]    Compiling anyhow v1.0.93
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling bit_field v0.10.2
[INFO] [stderr]    Compiling lebe v0.5.2
[INFO] [stderr]    Compiling color_quant v1.1.0
[INFO] [stderr]    Compiling bytemuck v1.20.0
[INFO] [stderr]    Compiling png v0.17.14
[INFO] [stderr]    Compiling rustls-pemfile v1.0.4
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling gif v0.13.1
[INFO] [stderr]    Compiling qoi v0.4.1
[INFO] [stderr]    Compiling exr v1.73.0
[INFO] [stderr]    Compiling number_prefix v0.4.0
[INFO] [stderr]    Compiling sync_wrapper v0.1.2
[INFO] [stderr]    Compiling qrcode v0.14.1
[INFO] [stderr]    Compiling indexmap v2.6.0
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling unicode-width v0.2.0
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling ipnet v2.10.1
[INFO] [stderr]    Compiling syn v2.0.89
[INFO] [stderr]    Compiling openssl-sys v0.9.104
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling mio v1.0.2
[INFO] [stderr]    Compiling socket2 v0.5.7
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling console v0.15.8
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling qr2term v0.3.3
[INFO] [stderr]    Compiling indicatif v0.17.9
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling jpeg-decoder v0.3.1
[INFO] [stderr]    Compiling tiff v0.9.1
[INFO] [stderr]    Compiling image v0.24.9
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling serde_derive v1.0.215
[INFO] [stderr]    Compiling zerofrom-derive v0.1.5
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling tokio v1.41.1
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling zerofrom v0.1.5
[INFO] [stderr]    Compiling yoke v0.7.5
[INFO] [stderr]    Compiling zerovec v0.10.4
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling tinystr v0.7.6
[INFO] [stderr]    Compiling icu_collections v1.5.0
[INFO] [stderr]    Compiling icu_locid v1.5.0
[INFO] [stderr]    Compiling icu_provider v1.5.0
[INFO] [stderr]    Compiling icu_locid_transform v1.5.0
[INFO] [stderr]    Compiling icu_properties v1.5.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling tokio-util v0.7.12
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling icu_normalizer v1.5.0
[INFO] [stderr]    Compiling h2 v0.3.26
[INFO] [stderr]    Compiling idna_adapter v1.2.0
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling hyper v0.14.31
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling netease_music_api v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: struct `UserComment` is never constructed
[INFO] [stdout]    --> src/main.rs:173:8
[INFO] [stdout]     |
[INFO] [stdout] 173 | struct UserComment {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `login` and `follow_user` are never used
[INFO] [stdout]    --> src/main.rs:317:14
[INFO] [stdout]     |
[INFO] [stdout] 309 | impl NeteaseMusicClient {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 317 |     async fn login(&mut self, phone: &str, password: &str) -> Result<()> {
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 444 |     async fn follow_user(&self, uid: i64, follow: bool) -> Result<serde_json::Value> {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `commentId` should have a snake case name
[INFO] [stdout]    --> src/main.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 158 |     commentId: i64,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to snake case: `comment_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `likedCount` should have a snake case name
[INFO] [stdout]    --> src/main.rs:162:5
[INFO] [stdout]     |
[INFO] [stdout] 162 |     likedCount: i32,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to snake case: `liked_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `userId` should have a snake case name
[INFO] [stdout]    --> src/main.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 |     userId: i64,
[INFO] [stdout]     |     ^^^^^^ help: convert the identifier to snake case: `user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `avatarUrl` should have a snake case name
[INFO] [stdout]    --> src/main.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 169 |     avatarUrl: String,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to snake case: `avatar_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `userId` should have a snake case name
[INFO] [stdout]    --> src/main.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 193 |     userId: i64,
[INFO] [stdout]     |     ^^^^^^ help: convert the identifier to snake case: `user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `avatarUrl` should have a snake case name
[INFO] [stdout]    --> src/main.rs:194:5
[INFO] [stdout]     |
[INFO] [stdout] 194 |     avatarUrl: String,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to snake case: `avatar_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `评论ID` should have a snake case name
[INFO] [stdout]    --> src/main.rs:247:5
[INFO] [stdout]     |
[INFO] [stdout] 247 |     评论ID: i64,
[INFO] [stdout]     |     ^^^^^^ help: convert the identifier to snake case: `评论_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `父评论ID` should have a snake case name
[INFO] [stdout]    --> src/main.rs:257:5
[INFO] [stdout]     |
[INFO] [stdout] 257 |     父评论ID: i64,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to snake case: `父评论_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `IP位置` should have a snake case name
[INFO] [stdout]    --> src/main.rs:262:5
[INFO] [stdout]     |
[INFO] [stdout] 262 |     IP位置: IpLocation,
[INFO] [stdout]     |     ^^^^^^ help: convert the identifier to snake case: `ip位置`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `社交用户ID` should have a snake case name
[INFO] [stdout]    --> src/main.rs:276:5
[INFO] [stdout]     |
[INFO] [stdout] 276 |     社交用户ID: Option<serde_json::Value>,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to snake case: `社交用户_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `用户ID` should have a snake case name
[INFO] [stdout]    --> src/main.rs:284:5
[INFO] [stdout]     |
[INFO] [stdout] 284 |     用户ID: i64,
[INFO] [stdout]     |     ^^^^^^ help: convert the identifier to snake case: `用户_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `musicPackage` should have a snake case name
[INFO] [stdout]    --> src/main.rs:290:5
[INFO] [stdout]     |
[INFO] [stdout] 290 |     musicPackage: Option<serde_json::Value>,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `music_package`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `redVipAnnualCount` should have a snake case name
[INFO] [stdout]    --> src/main.rs:292:5
[INFO] [stdout]     |
[INFO] [stdout] 292 |     redVipAnnualCount: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `red_vip_annual_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `redVipLevel` should have a snake case name
[INFO] [stdout]    --> src/main.rs:293:5
[INFO] [stdout]     |
[INFO] [stdout] 293 |     redVipLevel: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to snake case: `red_vip_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `relationType` should have a snake case name
[INFO] [stdout]    --> src/main.rs:294:5
[INFO] [stdout]     |
[INFO] [stdout] 294 |     relationType: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `relation_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `IP` should have a snake case name
[INFO] [stdout]    --> src/main.rs:299:5
[INFO] [stdout]     |
[INFO] [stdout] 299 |     IP: Option<String>,
[INFO] [stdout]     |     ^^ help: convert the identifier to snake case: `ip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `用户ID` should have a snake case name
[INFO] [stdout]    --> src/main.rs:301:5
[INFO] [stdout]     |
[INFO] [stdout] 301 |     用户ID: Option<serde_json::Value>,
[INFO] [stdout]     |     ^^^^^^ help: convert the identifier to snake case: `用户_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 08s
[INFO] running `Command { std: "docker" "inspect" "505e0a931a5b7116ea9e96e6fbc632272b2fedb2652d819abd7be38f7b78aedf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "505e0a931a5b7116ea9e96e6fbc632272b2fedb2652d819abd7be38f7b78aedf", kill_on_drop: false }`
[INFO] [stdout] 505e0a931a5b7116ea9e96e6fbc632272b2fedb2652d819abd7be38f7b78aedf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b11349ca3cb69c375da610677acee396118af46a50d2fa9f35ac1c11ca1b05df
[INFO] running `Command { std: "docker" "start" "-a" "b11349ca3cb69c375da610677acee396118af46a50d2fa9f35ac1c11ca1b05df", kill_on_drop: false }`
[INFO] [stderr]    Compiling netease_music_api v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: struct `UserComment` is never constructed
[INFO] [stdout]    --> src/main.rs:173:8
[INFO] [stdout]     |
[INFO] [stdout] 173 | struct UserComment {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `login` and `follow_user` are never used
[INFO] [stdout]    --> src/main.rs:317:14
[INFO] [stdout]     |
[INFO] [stdout] 309 | impl NeteaseMusicClient {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 317 |     async fn login(&mut self, phone: &str, password: &str) -> Result<()> {
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 444 |     async fn follow_user(&self, uid: i64, follow: bool) -> Result<serde_json::Value> {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `commentId` should have a snake case name
[INFO] [stdout]    --> src/main.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 158 |     commentId: i64,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to snake case: `comment_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `likedCount` should have a snake case name
[INFO] [stdout]    --> src/main.rs:162:5
[INFO] [stdout]     |
[INFO] [stdout] 162 |     likedCount: i32,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to snake case: `liked_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `userId` should have a snake case name
[INFO] [stdout]    --> src/main.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 |     userId: i64,
[INFO] [stdout]     |     ^^^^^^ help: convert the identifier to snake case: `user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `avatarUrl` should have a snake case name
[INFO] [stdout]    --> src/main.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 169 |     avatarUrl: String,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to snake case: `avatar_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `userId` should have a snake case name
[INFO] [stdout]    --> src/main.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 193 |     userId: i64,
[INFO] [stdout]     |     ^^^^^^ help: convert the identifier to snake case: `user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `avatarUrl` should have a snake case name
[INFO] [stdout]    --> src/main.rs:194:5
[INFO] [stdout]     |
[INFO] [stdout] 194 |     avatarUrl: String,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to snake case: `avatar_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `评论ID` should have a snake case name
[INFO] [stdout]    --> src/main.rs:247:5
[INFO] [stdout]     |
[INFO] [stdout] 247 |     评论ID: i64,
[INFO] [stdout]     |     ^^^^^^ help: convert the identifier to snake case: `评论_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `父评论ID` should have a snake case name
[INFO] [stdout]    --> src/main.rs:257:5
[INFO] [stdout]     |
[INFO] [stdout] 257 |     父评论ID: i64,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to snake case: `父评论_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `IP位置` should have a snake case name
[INFO] [stdout]    --> src/main.rs:262:5
[INFO] [stdout]     |
[INFO] [stdout] 262 |     IP位置: IpLocation,
[INFO] [stdout]     |     ^^^^^^ help: convert the identifier to snake case: `ip位置`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `社交用户ID` should have a snake case name
[INFO] [stdout]    --> src/main.rs:276:5
[INFO] [stdout]     |
[INFO] [stdout] 276 |     社交用户ID: Option<serde_json::Value>,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to snake case: `社交用户_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `用户ID` should have a snake case name
[INFO] [stdout]    --> src/main.rs:284:5
[INFO] [stdout]     |
[INFO] [stdout] 284 |     用户ID: i64,
[INFO] [stdout]     |     ^^^^^^ help: convert the identifier to snake case: `用户_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `musicPackage` should have a snake case name
[INFO] [stdout]    --> src/main.rs:290:5
[INFO] [stdout]     |
[INFO] [stdout] 290 |     musicPackage: Option<serde_json::Value>,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `music_package`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `redVipAnnualCount` should have a snake case name
[INFO] [stdout]    --> src/main.rs:292:5
[INFO] [stdout]     |
[INFO] [stdout] 292 |     redVipAnnualCount: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `red_vip_annual_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `redVipLevel` should have a snake case name
[INFO] [stdout]    --> src/main.rs:293:5
[INFO] [stdout]     |
[INFO] [stdout] 293 |     redVipLevel: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to snake case: `red_vip_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `relationType` should have a snake case name
[INFO] [stdout]    --> src/main.rs:294:5
[INFO] [stdout]     |
[INFO] [stdout] 294 |     relationType: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `relation_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `IP` should have a snake case name
[INFO] [stdout]    --> src/main.rs:299:5
[INFO] [stdout]     |
[INFO] [stdout] 299 |     IP: Option<String>,
[INFO] [stdout]     |     ^^ help: convert the identifier to snake case: `ip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `用户ID` should have a snake case name
[INFO] [stdout]    --> src/main.rs:301:5
[INFO] [stdout]     |
[INFO] [stdout] 301 |     用户ID: Option<serde_json::Value>,
[INFO] [stdout]     |     ^^^^^^ help: convert the identifier to snake case: `用户_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.73s
[INFO] running `Command { std: "docker" "inspect" "b11349ca3cb69c375da610677acee396118af46a50d2fa9f35ac1c11ca1b05df", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b11349ca3cb69c375da610677acee396118af46a50d2fa9f35ac1c11ca1b05df", kill_on_drop: false }`
[INFO] [stdout] b11349ca3cb69c375da610677acee396118af46a50d2fa9f35ac1c11ca1b05df
