[INFO] cloning repository https://github.com/vagicc/manage.gwmc.vip
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/vagicc/manage.gwmc.vip" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvagicc%2Fmanage.gwmc.vip", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvagicc%2Fmanage.gwmc.vip'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1d3d870e087c4bf995905f654b298969160c0b2a
[INFO] testing vagicc/manage.gwmc.vip against beta-2025-09-21 for beta-1.91-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvagicc%2Fmanage.gwmc.vip" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/vagicc/manage.gwmc.vip
[INFO] finished tweaking git repo https://github.com/vagicc/manage.gwmc.vip
[INFO] tweaked toml for git repo https://github.com/vagicc/manage.gwmc.vip written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/vagicc/manage.gwmc.vip on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/vagicc/manage.gwmc.vip 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" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6d614957a8a29f53c987ce2d72aa3afdc25d6f4da9483221f6bb2ce63c6426c4
[INFO] running `Command { std: "docker" "start" "-a" "6d614957a8a29f53c987ce2d72aa3afdc25d6f4da9483221f6bb2ce63c6426c4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6d614957a8a29f53c987ce2d72aa3afdc25d6f4da9483221f6bb2ce63c6426c4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6d614957a8a29f53c987ce2d72aa3afdc25d6f4da9483221f6bb2ce63c6426c4", kill_on_drop: false }`
[INFO] [stdout] 6d614957a8a29f53c987ce2d72aa3afdc25d6f4da9483221f6bb2ce63c6426c4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 25d687973d437524af6ea05aa76ddc0629a530469745ae167668301d0b82aea4
[INFO] running `Command { std: "docker" "start" "-a" "25d687973d437524af6ea05aa76ddc0629a530469745ae167668301d0b82aea4", kill_on_drop: false }`
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.47
[INFO] [stderr]    Compiling unicode-ident v1.0.1
[INFO] [stderr]    Compiling quote v1.0.20
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling libc v0.2.138
[INFO] [stderr]    Compiling syn v1.0.105
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling once_cell v1.14.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.16
[INFO] [stderr]    Compiling cc v1.0.73
[INFO] [stderr]    Compiling serde_derive v1.0.150
[INFO] [stderr]    Compiling bytes v1.1.0
[INFO] [stderr]    Compiling itoa v1.0.2
[INFO] [stderr]    Compiling serde v1.0.150
[INFO] [stderr]    Compiling pin-project-lite v0.2.9
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling siphasher v0.3.10
[INFO] [stderr]    Compiling futures-core v0.3.25
[INFO] [stderr]    Compiling parking_lot_core v0.9.3
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling smallvec v1.9.0
[INFO] [stderr]    Compiling tinyvec_macros v0.1.0
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling typenum v1.15.0
[INFO] [stderr]    Compiling tinyvec v1.6.0
[INFO] [stderr]    Compiling phf_shared v0.8.0
[INFO] [stderr]    Compiling phf_shared v0.10.0
[INFO] [stderr]    Compiling futures-task v0.3.25
[INFO] [stderr]    Compiling futures-sink v0.3.25
[INFO] [stderr]    Compiling pkg-config v0.3.26
[INFO] [stderr]    Compiling generic-array v0.14.5
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling percent-encoding v2.1.0
[INFO] [stderr]    Compiling unicode-bidi v0.3.8
[INFO] [stderr]    Compiling http v0.2.8
[INFO] [stderr]    Compiling tokio v1.23.0
[INFO] [stderr]    Compiling lock_api v0.4.7
[INFO] [stderr]    Compiling httparse v1.7.1
[INFO] [stderr]    Compiling matches v0.1.9
[INFO] [stderr]    Compiling futures-util v0.3.25
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling slab v0.4.6
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.4
[INFO] [stderr]    Compiling futures-io v0.3.26
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling form_urlencoded v1.0.1
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling getrandom v0.2.7
[INFO] [stderr]    Compiling indexmap v1.9.1
[INFO] [stderr]    Compiling tracing-core v0.1.28
[INFO] [stderr]    Compiling ryu v1.0.10
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling serde_json v1.0.89
[INFO] [stderr]    Compiling openssl-sys v0.9.80
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]    Compiling mac v0.1.1
[INFO] [stderr]    Compiling futf v0.1.5
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling rand_pcg v0.2.1
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling unicode-normalization v0.1.21
[INFO] [stderr]    Compiling spin v0.5.2
[INFO] [stderr]    Compiling openssl v0.10.45
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling time-core v0.1.0
[INFO] [stderr]    Compiling foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling hashbrown v0.12.2
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling futures-channel v0.3.25
[INFO] [stderr]    Compiling mio v0.8.4
[INFO] [stderr]    Compiling num_cpus v1.13.1
[INFO] [stderr]    Compiling socket2 v0.4.4
[INFO] [stderr]    Compiling idna v0.2.3
[INFO] [stderr]    Compiling untrusted v0.7.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling tracing v0.1.35
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling mime_guess v2.0.4
[INFO] [stderr]    Compiling url v2.2.2
[INFO] [stderr]    Compiling phf_generator v0.8.0
[INFO] [stderr]    Compiling phf_codegen v0.8.0
[INFO] [stderr]    Compiling time v0.1.44
[INFO] [stderr]    Compiling time-macros v0.2.6
[INFO] [stderr]    Compiling block-buffer v0.10.2
[INFO] [stderr]    Compiling crypto-common v0.1.5
[INFO] [stderr]    Compiling foreign-types v0.3.2
[INFO] [stderr]    Compiling tendril v0.4.3
[INFO] [stderr]    Compiling phf v0.8.0
[INFO] [stderr]    Compiling phf_generator v0.10.0
[INFO] [stderr]    Compiling digest v0.10.3
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling base64 v0.13.0
[INFO] [stderr]    Compiling mime v0.3.16
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]    Compiling native-tls v0.2.11
[INFO] [stderr]    Compiling ucd-trie v0.1.4
[INFO] [stderr]    Compiling string_cache_codegen v0.5.2
[INFO] [stderr]    Compiling cpufeatures v0.2.2
[INFO] [stderr]    Compiling try-lock v0.2.3
[INFO] [stderr]    Compiling io-lifetimes v1.0.3
[INFO] [stderr]    Compiling httpdate v1.0.2
[INFO] [stderr]    Compiling alloc-no-stdlib v2.0.4
[INFO] [stderr]    Compiling want v0.3.0
[INFO] [stderr]    Compiling sha-1 v0.10.0
[INFO] [stderr]    Compiling pest v2.1.3
[INFO] [stderr]    Compiling alloc-stdlib v0.2.2
[INFO] [stderr]    Compiling time v0.3.17
[INFO] [stderr]    Compiling http-body v0.4.5
[INFO] [stderr]    Compiling num-bigint v0.4.3
[INFO] [stderr]    Compiling cookie v0.16.2
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling openssl-probe v0.1.5
[INFO] [stderr]    Compiling tower-service v0.3.2
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling maplit v1.0.2
[INFO] [stderr]    Compiling rustix v0.36.5
[INFO] [stderr]    Compiling markup5ever v0.10.1
[INFO] [stderr]    Compiling adler v1.0.2
[INFO] [stderr]    Compiling rustls v0.20.7
[INFO] [stderr]    Compiling pest_meta v2.1.3
[INFO] [stderr]    Compiling miniz_oxide v0.6.2
[INFO] [stderr]    Compiling brotli-decompressor v2.3.4
[INFO] [stderr]    Compiling idna v0.3.0
[INFO] [stderr]    Compiling safemem v0.3.3
[INFO] [stderr]    Compiling psl-types v2.0.11
[INFO] [stderr]    Compiling remove_dir_all v0.5.3
[INFO] [stderr]    Compiling pq-sys v0.4.6
[INFO] [stderr]    Compiling fastrand v1.7.0
[INFO] [stderr]    Compiling linux-raw-sys v0.1.4
[INFO] [stderr]    Compiling buf_redux v0.8.4
[INFO] [stderr]    Compiling publicsuffix v2.2.3
[INFO] [stderr]    Compiling tempfile v3.3.0
[INFO] [stderr]    Compiling flate2 v1.0.25
[INFO] [stderr]    Compiling scheduled-thread-pool v0.2.6
[INFO] [stderr]    Compiling headers-core v0.2.0
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]    Compiling twoway v0.1.8
[INFO] [stderr]    Compiling either v1.8.1
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling regex-syntax v0.6.27
[INFO] [stderr]    Compiling iana-time-zone v0.1.47
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling bit-set v0.5.3
[INFO] [stderr]    Compiling multipart v0.18.0
[INFO] [stderr]    Compiling r2d2 v0.8.10
[INFO] [stderr]    Compiling headers v0.3.7
[INFO] [stderr]    Compiling rustls-pemfile v0.2.1
[INFO] [stderr]    Compiling sct v0.7.0
[INFO] [stderr]    Compiling webpki v0.22.0
[INFO] [stderr]    Compiling encoding_rs v0.8.32
[INFO] [stderr]    Compiling termcolor v1.1.3
[INFO] [stderr]    Compiling uuid v1.2.2
[INFO] [stderr]    Compiling brotli v3.3.4
[INFO] [stderr]    Compiling humantime v2.1.0
[INFO] [stderr]    Compiling base64 v0.21.0
[INFO] [stderr]    Compiling ipnet v2.7.1
[INFO] [stderr]    Compiling sha1_smol v1.0.0
[INFO] [stderr]    Compiling scoped-tls v1.0.0
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling sha1 v0.6.1
[INFO] [stderr]    Compiling base64 v0.20.0
[INFO] [stderr]    Compiling dotenv v0.15.0
[INFO] [stderr]    Compiling bigdecimal v0.3.0
[INFO] [stderr]    Compiling is-terminal v0.4.1
[INFO] [stderr]    Compiling regex v1.6.0
[INFO] [stderr]    Compiling pest_generator v2.1.3
[INFO] [stderr]    Compiling tokio-macros v1.8.0
[INFO] [stderr]    Compiling futures-macro v0.3.25
[INFO] [stderr]    Compiling thiserror-impl v1.0.31
[INFO] [stderr]    Compiling openssl-macros v0.1.0
[INFO] [stderr]    Compiling html5ever v0.25.2
[INFO] [stderr]    Compiling pin-project-internal v1.0.11
[INFO] [stderr]    Compiling diesel_derives v2.0.1
[INFO] [stderr]    Compiling env_logger v0.10.0
[INFO] [stderr]    Compiling pest_derive v2.1.0
[INFO] [stderr]    Compiling pin-project v1.0.11
[INFO] [stderr]    Compiling thiserror v1.0.31
[INFO] [stderr]    Compiling tungstenite v0.17.3
[INFO] [stderr]    Compiling tokio-util v0.7.3
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tokio-stream v0.1.11
[INFO] [stderr]    Compiling async-compression v0.3.15
[INFO] [stderr]    Compiling tokio-socks v0.5.1
[INFO] [stderr]    Compiling tokio-tungstenite v0.17.2
[INFO] [stderr]    Compiling tokio-rustls v0.23.4
[INFO] [stderr]    Compiling h2 v0.3.13
[INFO] [stderr]    Compiling string_cache v0.8.4
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling chrono v0.4.23
[INFO] [stderr]    Compiling ipnetwork v0.20.0
[INFO] [stderr]    Compiling xml5ever v0.16.2
[INFO] [stderr]    Compiling cookie_store v0.16.1
[INFO] [stderr]    Compiling handlebars v4.3.6
[INFO] [stderr]    Compiling diesel v2.0.2
[INFO] [stderr]    Compiling markup5ever_rcdom v0.1.0
[INFO] [stderr]    Compiling select v0.5.0
[INFO] [stderr]    Compiling hyper v0.14.20
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling warp v0.3.3
[INFO] [stderr]    Compiling reqwest v0.11.14
[INFO] [stderr]    Compiling manage-gwmc-vip v0.1.8 (/opt/rustwide/workdir)
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = admins)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = admins)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = lawsuit_autocar_article)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = lawsuit_autocar_article)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = lawsuit_autocar)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = lawsuit_autocar)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = lawsuit_autocar_photo)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = lawsuit_reptile)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = lawsuit_reptile_photo)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = menus)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = menus)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = rights)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = rights)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = roles)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = roles)]` instead
[INFO] [stderr] 
[INFO] [stdout] warning: unused import: `Handlebars`
[INFO] [stdout]  --> src/handlers/home_handler.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use handlebars::{to_json, Handlebars};
[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: `crate::template::to_html_single`
[INFO] [stdout]  --> src/handlers/lawsuit_autocar_handler.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::template::to_html_single;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Handlebars`
[INFO] [stdout]  --> src/handlers/lawsuit_autocar_handler.rs:5:27
[INFO] [stdout]   |
[INFO] [stdout] 5 | use handlebars::{to_json, Handlebars};
[INFO] [stdout]   |                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Handlebars`
[INFO] [stdout]  --> src/handlers/reptile_handler.rs:5:27
[INFO] [stdout]   |
[INFO] [stdout] 5 | use handlebars::{to_json, Handlebars};
[INFO] [stdout]   |                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `schema::roles::rights`
[INFO] [stdout]  --> src/handlers/rights_handler.rs:2:35
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::{models::rights_model, schema::roles::rights};
[INFO] [stdout]   |                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Handlebars` and `to_json`
[INFO] [stdout]  --> src/handlers/summernote_h.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | use handlebars::{to_json, Handlebars};
[INFO] [stdout]   |                  ^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigDecimal` and `ToPrimitive`
[INFO] [stdout]  --> src/models/lawsuit_autocar_model.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 | use bigdecimal::{BigDecimal, ToPrimitive};
[INFO] [stdout]   |                  ^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::NaiveDateTime`
[INFO] [stdout]  --> src/models/menus_model.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::NaiveDateTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deserialize`
[INFO] [stdout]  --> src/models/menus_model.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::NaiveDateTime`
[INFO] [stdout]  --> src/models/rights_model.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::NaiveDateTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deserialize`
[INFO] [stdout]  --> src/models/rights_model.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::NaiveDateTime`
[INFO] [stdout]  --> src/models/roles_model.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::NaiveDateTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deserialize`
[INFO] [stdout]  --> src/models/roles_model.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/routes/login_route.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | /     /// let client_ip = warp::header("x-real-ip")
[INFO] [stdout] 46 | |     ///     .or(warp::header("x-forwarded-for"))
[INFO] [stdout] 47 | |     ///     .unify()
[INFO] [stdout] 48 | |     ///     .map(|ip: SocketAddr| {
[INFO] [stdout] 49 | |     ///         // Get the IP from either header,
[INFO] [stdout] 50 | |     ///         // and unify into the inner type.
[INFO] [stdout] 51 | |     ///     });
[INFO] [stdout]    | |_______________^
[INFO] [stdout] 52 | /     let ip = warp::get()
[INFO] [stdout] 53 | |         .and(warp::path("login_ip"))
[INFO] [stdout] 54 | |         .and(
[INFO] [stdout] ...  |
[INFO] [stdout] 62 | |             format!("ip: {}", ip)
[INFO] [stdout] 63 | |         });
[INFO] [stdout]    | |___________- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `filters::BoxedFilter`
[INFO] [stdout]  --> src/routes/reptile_route.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use warp::{filters::BoxedFilter, Filter};
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/main.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[macro_use]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `log_r`
[INFO] [stdout]    --> src/routes/login_route.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let log_r = warp::get().map(warp::reply).with(log);
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_log_r`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/routes/login_route.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |             let addr = "10.1.9.32/32".parse::<ipnetwork::IpNetwork>().unwrap();
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parent_id`
[INFO] [stdout]   --> src/handlers/menus_handler.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     parent_id: i32,
[INFO] [stdout]    |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]   --> src/handlers/menus_handler.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     session: crate::session::Session,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]    --> src/handlers/menus_handler.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     session: crate::session::Session,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> src/handlers/menus_handler.rs:156:13
[INFO] [stdout]     |
[INFO] [stdout] 156 |         Err(message) => {
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]    --> src/handlers/menus_handler.rs:166:30
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub async fn delete(id: i32, session: crate::session::Session) -> Result<impl Reply, Rejection> {
[INFO] [stdout]     |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]    --> src/handlers/menus_handler.rs:177:5
[INFO] [stdout]     |
[INFO] [stdout] 177 |     session: crate::session::Session,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]   --> src/handlers/admins_handler.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     session: crate::session::Session,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/handlers/admins_handler.rs:82:13
[INFO] [stdout]    |
[INFO] [stdout] 82 |         Err(e) => {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]    --> src/handlers/admins_handler.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 |     session: crate::session::Session,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> src/handlers/admins_handler.rs:127:13
[INFO] [stdout]     |
[INFO] [stdout] 127 |         Err(message) => {
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]    --> src/handlers/admins_handler.rs:137:30
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub async fn delete(id: i32, session: crate::session::Session) -> Result<impl Reply, Rejection> {
[INFO] [stdout]     |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]    --> src/handlers/role_handler.rs:171:5
[INFO] [stdout]     |
[INFO] [stdout] 171 |     session: crate::session::Session,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_post`
[INFO] [stdout]   --> src/routes/role_route.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let test_post = warp::post()
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_post`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]    --> src/handlers/role_handler.rs:217:30
[INFO] [stdout]     |
[INFO] [stdout] 217 | pub async fn delete(id: i32, session: crate::session::Session) -> Result<impl Reply, Rejection> {
[INFO] [stdout]     |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]    --> src/handlers/role_handler.rs:228:5
[INFO] [stdout]     |
[INFO] [stdout] 228 |     session: crate::session::Session,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]    --> src/handlers/role_handler.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 |     session: crate::session::Session,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> src/handlers/role_handler.rs:131:13
[INFO] [stdout]     |
[INFO] [stdout] 131 |         Err(message) => {
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]   --> src/handlers/rights_handler.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 87 |     session: crate::session::Session,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/handlers/rights_handler.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |         Err(e) => {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/handlers/rights_handler.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let mut data = Map::new();
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]   --> src/handlers/rights_handler.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     session: crate::session::Session,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]   --> src/handlers/rights_handler.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         Err(message) => {
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]   --> src/handlers/rights_handler.rs:34:30
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub async fn delete(id: i32, session: crate::session::Session) -> Result<impl Reply, Rejection> {
[INFO] [stdout]    |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/handlers/summernote_h.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let mut data = Map::new();
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]   --> src/handlers/summernote_h.rs:93:42
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub async fn upload_demo(form: FormData, session: Session) -> Result<impl Reply, Rejection> {
[INFO] [stdout]    |                                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/handlers/summernote_h.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let mut data = Map::new();
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]    --> src/handlers/reptile_handler.rs:105:44
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub async fn new_reptile(form: NewReptile, session: Session) -> ResultWarp<impl Reply> {
[INFO] [stdout]     |                                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/handlers/reptile_handler.rs:134:21
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 let mut output = std::process::Command::new(program)
[INFO] [stdout]     |                     ----^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `html`
[INFO] [stdout]   --> src/handlers/reptile_handler.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let html = "欢迎访问<跟我买车>后台首页(Hi Luck)";
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_html`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/handlers/reptile_handler.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let mut data = Map::new();
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]    --> src/handlers/reptile_handler.rs:290:5
[INFO] [stdout]     |
[INFO] [stdout] 290 |     session: Session,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]    --> src/handlers/reptile_handler.rs:298:17
[INFO] [stdout]     |
[INFO] [stdout] 298 |             let k = form.title.clone().trim().to_string();
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `insertid`
[INFO] [stdout]    --> src/handlers/reptile_handler.rs:444:25
[INFO] [stdout]     |
[INFO] [stdout] 444 |                     let insertid = insert_photo.insert();
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_insertid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]   --> src/handlers/lawsuit_autocar_handler.rs:82:54
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub async fn edit(id: i32, form: LawsuitAutocarForm, session: Session) -> ResultWarp<impl Reply> {
[INFO] [stdout]    |                                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/session.rs:87:24
[INFO] [stdout]    |
[INFO] [stdout] 87 |     } else if let Some(e) = reject.find::<ResponseError>() {
[INFO] [stdout]    |                        ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/session.rs:91:24
[INFO] [stdout]    |
[INFO] [stdout] 91 |     } else if let Some(e) = reject.find::<NoLogin>() {
[INFO] [stdout]    |                        ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/session.rs:97:24
[INFO] [stdout]    |
[INFO] [stdout] 97 |     } else if let Some(e) = reject.find::<InvalidUserID>() {
[INFO] [stdout]    |                        ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/session.rs:103:24
[INFO] [stdout]     |
[INFO] [stdout] 103 |     } else if let Some(e) = reject.find::<Logout>() {
[INFO] [stdout]     |                        ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/session.rs:109:24
[INFO] [stdout]     |
[INFO] [stdout] 109 |     } else if let Some(e) = reject.find::<NoRight>() {
[INFO] [stdout]     |                        ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stdout]    --> src/handlers/reptile_handler.rs:174:41
[INFO] [stdout]     |
[INFO] [stdout] 174 |         chrono::prelude::NaiveDateTime::from_timestamp(data.start_time / 1000 + 8 * 3600, 0);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stdout]    --> src/handlers/reptile_handler.rs:176:41
[INFO] [stdout]     |
[INFO] [stdout] 176 |         chrono::prelude::NaiveDateTime::from_timestamp(data.end_time / 1000 + 8 * 3600, 0);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TryFutureExt`
[INFO] [stdout]  --> src/multipart_form.rs:4:20
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures_util::{TryFutureExt, TryStreamExt};
[INFO] [stdout]   |                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/models/admins_model.rs:165:9
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let mut limit: i64 = per as i64; //每页取几条数据
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/models/admins_model.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 187 |     let mut pages = String::new();
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `update_result`
[INFO] [stdout]   --> src/models/lawsuit_autocar_article_model.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let update_result = query.get_result::<LawsuitAutocarArticle>(&mut conn);
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_update_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `op`
[INFO] [stdout]   --> src/models/lawsuit_autocar_photo_model.rs:37:26
[INFO] [stdout]    |
[INFO] [stdout] 37 |         .unwrap_or_else(|op| {
[INFO] [stdout]    |                          ^^ help: if this is intentional, prefix it with an underscore: `_op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tilte_where` is assigned to, but never used
[INFO] [stdout]    --> src/models/lawsuit_reptile_model.rs:150:13
[INFO] [stdout]     |
[INFO] [stdout] 150 |     let mut tilte_where = String::new();
[INFO] [stdout]     |             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_tilte_where` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tilte_where` is never read
[INFO] [stdout]    --> src/models/lawsuit_reptile_model.rs:154:9
[INFO] [stdout]     |
[INFO] [stdout] 154 |         tilte_where = get_data.title;
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/models/lawsuit_reptile_model.rs:159:9
[INFO] [stdout]     |
[INFO] [stdout] 159 |     let mut query = lawsuit_reptile.filter(push.eq(push_where));
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `update_result`
[INFO] [stdout]    --> src/models/lawsuit_reptile_model.rs:232:9
[INFO] [stdout]     |
[INFO] [stdout] 232 |     let update_result = query.get_result::<LawsuitReptile>(&mut conn);
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_update_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `child`
[INFO] [stdout]    --> src/models/menus_model.rs:251:21
[INFO] [stdout]     |
[INFO] [stdout] 251 |             let mut child: Option<Vec<Menu>> = None;
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_child`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/models/menus_model.rs:251:17
[INFO] [stdout]     |
[INFO] [stdout] 251 |             let mut child: Option<Vec<Menu>> = None;
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/models/rights_model.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 105 |     let mut limit: i64 = per as i64; //每页取几条数据
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sql`
[INFO] [stdout]    --> src/models/rights_model.rs:169:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |     let sql = diesel::debug_query::<diesel::pg::Pg, _>(&query).to_string();
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_sql`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cert_path`
[INFO] [stdout]   --> src/main.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let cert_path = get_env("cert_path");
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cert_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_path`
[INFO] [stdout]   --> src/main.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let key_path = get_env("key_path");
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `type_v` is never used
[INFO] [stdout]   --> src/common.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn type_v<T>(t: T)
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/handlers/lawsuit_autocar_handler.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct LawsuitAutocarForm {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] 33 |     pub title: String,
[INFO] [stdout] 34 |     pub list_img: String,        //列表图
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub assess_price: f64,       //评估价
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 38 |     pub margin: f64,             //保证金
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 39 |     pub recommended_price: f64,  //最高推荐价
[INFO] [stdout] 40 |     pub start_time: String,      //开拍时间
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 41 |     pub end_time: String,        //结束时间/
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub registration: String,    //注册登记日期
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 50 |     pub production_date: String, //生产日期
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub address: String,         //标的物地址
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 56 |     pub disposal_unit: String,   //处置单位,法院
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 57 |     pub external_url: String,    //拍卖详情URL
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 58 |     pub belong: i16,             //所属平台（1.淘宝、2.京东）
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 59 |     pub stage: String,           //拍卖阶段（一拍、二拍、变卖、撤回）
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LawsuitAutocarForm` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list` is never used
[INFO] [stdout]   --> src/handlers/reptile_handler.rs:42:14
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub async fn list() -> ResultWarp<impl Reply> {
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `message` is never read
[INFO] [stdout]   --> src/handlers/summernote_h.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 78 | struct ServerError {
[INFO] [stdout]    |        ----------- field in this struct
[INFO] [stdout] 79 |     message: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ServerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Request` is never constructed
[INFO] [stdout]  --> src/http.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Request {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `http_request` is never used
[INFO] [stdout]  --> src/http.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub async fn http_request(url: &str) -> Option<Request> {
[INFO] [stdout]   |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `http_get` is never used
[INFO] [stdout]   --> src/http.rs:37:14
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub async fn http_get(url: &str) -> Option<reqwest::Response> {
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DisposalUnit` is never constructed
[INFO] [stdout]  --> src/json_value/jd_value.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct DisposalUnit {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Unit` is never constructed
[INFO] [stdout]   --> src/json_value/jd_value.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Unit {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JDDetail` is never constructed
[INFO] [stdout]   --> src/json_value/jd_value.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct JDDetail {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JDDetailData` is never constructed
[INFO] [stdout]   --> src/json_value/jd_value.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct JDDetailData {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Image` is never constructed
[INFO] [stdout]   --> src/json_value/jd_value.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct Image {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Address` is never constructed
[INFO] [stdout]   --> src/json_value/jd_value.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Address {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_list` is never used
[INFO] [stdout]    --> src/models/lawsuit_reptile_model.rs:201:8
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub fn get_list() -> Vec<LawsuitReptile> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `jd_select` is never used
[INFO] [stdout]   --> src/parse.rs:26:14
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub async fn jd_select(paimai_id: &str) -> Option<Reptile> {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_jd_stage` is never used
[INFO] [stdout]    --> src/parse.rs:126:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub fn get_jd_stage(paimai_times: i8) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_html_base` is never used
[INFO] [stdout]   --> src/template.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn to_html_base(name: &str, mut data: Map<String, Json>) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `shopName` should have a snake case name
[INFO] [stdout]   --> src/json_value/jd_value.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub shopName: String,
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `shop_name`
[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 `endTime` should have a snake case name
[INFO] [stdout]   --> src/json_value/jd_value.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub endTime: i64,                                  //结束时间戳 ,毫秒
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `end_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `ensurePrice` should have a snake case name
[INFO] [stdout]   --> src/json_value/jd_value.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub ensurePrice: f64,                              //保证金
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `ensure_price`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `judicatureBasicInfoResult` should have a snake case name
[INFO] [stdout]   --> src/json_value/jd_value.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub judicatureBasicInfoResult: Map<String, Value>, //变卖时=里面有，市场价  也许是  “评估价”
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `judicature_basic_info_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `paimaiImageResultList` should have a snake case name
[INFO] [stdout]   --> src/json_value/jd_value.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub paimaiImageResultList: Vec<Image>,             //相册
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `paimai_image_result_list`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `paimaiTimes` should have a snake case name
[INFO] [stdout]   --> src/json_value/jd_value.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub paimaiTimes: i8,                               //拍卖阶段   1一拍  2.二拍    4.变卖
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `paimai_times`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `priceLowerOffset` should have a snake case name
[INFO] [stdout]   --> src/json_value/jd_value.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub priceLowerOffset: f32,                         //加价幅度
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `price_lower_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `productAddressResult` should have a snake case name
[INFO] [stdout]   --> src/json_value/jd_value.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub productAddressResult: Address,                 //标的物所在地
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `product_address_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `startPrice` should have a snake case name
[INFO] [stdout]   --> src/json_value/jd_value.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub startPrice: f64,                               //起拍价
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `start_price`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `assessmentPrice` should have a snake case name
[INFO] [stdout]   --> src/json_value/jd_value.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub assessmentPrice: f64,                          //评估价
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `assessment_price`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `startTime` should have a snake case name
[INFO] [stdout]   --> src/json_value/jd_value.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub startTime: i64,                                //开拍时间戳 ,毫秒
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `start_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `courtVendorId` should have a snake case name
[INFO] [stdout]   --> src/json_value/jd_value.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub courtVendorId: i64,                            //处置单位:所属法院 的 shopId
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `court_vendor_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `imagePath` should have a snake case name
[INFO] [stdout]   --> src/json_value/jd_value.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub imagePath: String,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `image_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `skuId` should have a snake case name
[INFO] [stdout]   --> src/json_value/jd_value.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub skuId: i64,
[INFO] [stdout]    |         ^^^^^ help: convert the identifier to snake case: `sku_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 57s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: buf_redux v0.8.4, diesel_derives v2.0.1, multipart v0.18.0, xml5ever v0.16.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "25d687973d437524af6ea05aa76ddc0629a530469745ae167668301d0b82aea4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "25d687973d437524af6ea05aa76ddc0629a530469745ae167668301d0b82aea4", kill_on_drop: false }`
[INFO] [stdout] 25d687973d437524af6ea05aa76ddc0629a530469745ae167668301d0b82aea4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3673a2b201bcf4105e7b8ebd1bcfddef6184cf6341915a185d3465201238a96a
[INFO] running `Command { std: "docker" "start" "-a" "3673a2b201bcf4105e7b8ebd1bcfddef6184cf6341915a185d3465201238a96a", kill_on_drop: false }`
[INFO] [stderr]    Compiling manage-gwmc-vip v0.1.8 (/opt/rustwide/workdir)
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = admins)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = admins)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = lawsuit_autocar_article)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = lawsuit_autocar_article)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = lawsuit_autocar)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = lawsuit_autocar)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = lawsuit_autocar_photo)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = lawsuit_reptile)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = lawsuit_reptile_photo)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = menus)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = menus)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = rights)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = rights)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = roles)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = roles)]` instead
[INFO] [stderr] 
[INFO] [stdout] warning: unused import: `Handlebars`
[INFO] [stdout]  --> src/handlers/home_handler.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use handlebars::{to_json, Handlebars};
[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: `crate::template::to_html_single`
[INFO] [stdout]  --> src/handlers/lawsuit_autocar_handler.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::template::to_html_single;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Handlebars`
[INFO] [stdout]  --> src/handlers/lawsuit_autocar_handler.rs:5:27
[INFO] [stdout]   |
[INFO] [stdout] 5 | use handlebars::{to_json, Handlebars};
[INFO] [stdout]   |                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Handlebars`
[INFO] [stdout]  --> src/handlers/reptile_handler.rs:5:27
[INFO] [stdout]   |
[INFO] [stdout] 5 | use handlebars::{to_json, Handlebars};
[INFO] [stdout]   |                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `schema::roles::rights`
[INFO] [stdout]  --> src/handlers/rights_handler.rs:2:35
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::{models::rights_model, schema::roles::rights};
[INFO] [stdout]   |                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Handlebars` and `to_json`
[INFO] [stdout]  --> src/handlers/summernote_h.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | use handlebars::{to_json, Handlebars};
[INFO] [stdout]   |                  ^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigDecimal` and `ToPrimitive`
[INFO] [stdout]  --> src/models/lawsuit_autocar_model.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 | use bigdecimal::{BigDecimal, ToPrimitive};
[INFO] [stdout]   |                  ^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::NaiveDateTime`
[INFO] [stdout]  --> src/models/menus_model.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::NaiveDateTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deserialize`
[INFO] [stdout]  --> src/models/menus_model.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::NaiveDateTime`
[INFO] [stdout]  --> src/models/rights_model.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::NaiveDateTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deserialize`
[INFO] [stdout]  --> src/models/rights_model.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::NaiveDateTime`
[INFO] [stdout]  --> src/models/roles_model.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::NaiveDateTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deserialize`
[INFO] [stdout]  --> src/models/roles_model.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/routes/login_route.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | /     /// let client_ip = warp::header("x-real-ip")
[INFO] [stdout] 46 | |     ///     .or(warp::header("x-forwarded-for"))
[INFO] [stdout] 47 | |     ///     .unify()
[INFO] [stdout] 48 | |     ///     .map(|ip: SocketAddr| {
[INFO] [stdout] 49 | |     ///         // Get the IP from either header,
[INFO] [stdout] 50 | |     ///         // and unify into the inner type.
[INFO] [stdout] 51 | |     ///     });
[INFO] [stdout]    | |_______________^
[INFO] [stdout] 52 | /     let ip = warp::get()
[INFO] [stdout] 53 | |         .and(warp::path("login_ip"))
[INFO] [stdout] 54 | |         .and(
[INFO] [stdout] ...  |
[INFO] [stdout] 62 | |             format!("ip: {}", ip)
[INFO] [stdout] 63 | |         });
[INFO] [stdout]    | |___________- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `filters::BoxedFilter`
[INFO] [stdout]  --> src/routes/reptile_route.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use warp::{filters::BoxedFilter, Filter};
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/main.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[macro_use]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `log_r`
[INFO] [stdout]    --> src/routes/login_route.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let log_r = warp::get().map(warp::reply).with(log);
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_log_r`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/routes/login_route.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |             let addr = "10.1.9.32/32".parse::<ipnetwork::IpNetwork>().unwrap();
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parent_id`
[INFO] [stdout]   --> src/handlers/menus_handler.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     parent_id: i32,
[INFO] [stdout]    |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]   --> src/handlers/menus_handler.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     session: crate::session::Session,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]    --> src/handlers/menus_handler.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     session: crate::session::Session,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> src/handlers/menus_handler.rs:156:13
[INFO] [stdout]     |
[INFO] [stdout] 156 |         Err(message) => {
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]    --> src/handlers/menus_handler.rs:166:30
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub async fn delete(id: i32, session: crate::session::Session) -> Result<impl Reply, Rejection> {
[INFO] [stdout]     |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]    --> src/handlers/menus_handler.rs:177:5
[INFO] [stdout]     |
[INFO] [stdout] 177 |     session: crate::session::Session,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]   --> src/handlers/admins_handler.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     session: crate::session::Session,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/handlers/admins_handler.rs:82:13
[INFO] [stdout]    |
[INFO] [stdout] 82 |         Err(e) => {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]    --> src/handlers/admins_handler.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 |     session: crate::session::Session,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> src/handlers/admins_handler.rs:127:13
[INFO] [stdout]     |
[INFO] [stdout] 127 |         Err(message) => {
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]    --> src/handlers/admins_handler.rs:137:30
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub async fn delete(id: i32, session: crate::session::Session) -> Result<impl Reply, Rejection> {
[INFO] [stdout]     |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]    --> src/handlers/role_handler.rs:171:5
[INFO] [stdout]     |
[INFO] [stdout] 171 |     session: crate::session::Session,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_post`
[INFO] [stdout]   --> src/routes/role_route.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let test_post = warp::post()
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_post`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]    --> src/handlers/role_handler.rs:217:30
[INFO] [stdout]     |
[INFO] [stdout] 217 | pub async fn delete(id: i32, session: crate::session::Session) -> Result<impl Reply, Rejection> {
[INFO] [stdout]     |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]    --> src/handlers/role_handler.rs:228:5
[INFO] [stdout]     |
[INFO] [stdout] 228 |     session: crate::session::Session,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]    --> src/handlers/role_handler.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 |     session: crate::session::Session,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> src/handlers/role_handler.rs:131:13
[INFO] [stdout]     |
[INFO] [stdout] 131 |         Err(message) => {
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]   --> src/handlers/rights_handler.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 87 |     session: crate::session::Session,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/handlers/rights_handler.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |         Err(e) => {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/handlers/rights_handler.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let mut data = Map::new();
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]   --> src/handlers/rights_handler.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     session: crate::session::Session,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]   --> src/handlers/rights_handler.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         Err(message) => {
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]   --> src/handlers/rights_handler.rs:34:30
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub async fn delete(id: i32, session: crate::session::Session) -> Result<impl Reply, Rejection> {
[INFO] [stdout]    |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/handlers/summernote_h.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let mut data = Map::new();
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]   --> src/handlers/summernote_h.rs:93:42
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub async fn upload_demo(form: FormData, session: Session) -> Result<impl Reply, Rejection> {
[INFO] [stdout]    |                                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/handlers/summernote_h.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let mut data = Map::new();
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]    --> src/handlers/reptile_handler.rs:105:44
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub async fn new_reptile(form: NewReptile, session: Session) -> ResultWarp<impl Reply> {
[INFO] [stdout]     |                                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/handlers/reptile_handler.rs:134:21
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 let mut output = std::process::Command::new(program)
[INFO] [stdout]     |                     ----^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `html`
[INFO] [stdout]   --> src/handlers/reptile_handler.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let html = "欢迎访问<跟我买车>后台首页(Hi Luck)";
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_html`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/handlers/reptile_handler.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let mut data = Map::new();
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]    --> src/handlers/reptile_handler.rs:290:5
[INFO] [stdout]     |
[INFO] [stdout] 290 |     session: Session,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]    --> src/handlers/reptile_handler.rs:298:17
[INFO] [stdout]     |
[INFO] [stdout] 298 |             let k = form.title.clone().trim().to_string();
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `insertid`
[INFO] [stdout]    --> src/handlers/reptile_handler.rs:444:25
[INFO] [stdout]     |
[INFO] [stdout] 444 |                     let insertid = insert_photo.insert();
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_insertid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]   --> src/handlers/lawsuit_autocar_handler.rs:82:54
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub async fn edit(id: i32, form: LawsuitAutocarForm, session: Session) -> ResultWarp<impl Reply> {
[INFO] [stdout]    |                                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/session.rs:87:24
[INFO] [stdout]    |
[INFO] [stdout] 87 |     } else if let Some(e) = reject.find::<ResponseError>() {
[INFO] [stdout]    |                        ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/session.rs:91:24
[INFO] [stdout]    |
[INFO] [stdout] 91 |     } else if let Some(e) = reject.find::<NoLogin>() {
[INFO] [stdout]    |                        ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/session.rs:97:24
[INFO] [stdout]    |
[INFO] [stdout] 97 |     } else if let Some(e) = reject.find::<InvalidUserID>() {
[INFO] [stdout]    |                        ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/session.rs:103:24
[INFO] [stdout]     |
[INFO] [stdout] 103 |     } else if let Some(e) = reject.find::<Logout>() {
[INFO] [stdout]     |                        ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/session.rs:109:24
[INFO] [stdout]     |
[INFO] [stdout] 109 |     } else if let Some(e) = reject.find::<NoRight>() {
[INFO] [stdout]     |                        ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stdout]    --> src/handlers/reptile_handler.rs:174:41
[INFO] [stdout]     |
[INFO] [stdout] 174 |         chrono::prelude::NaiveDateTime::from_timestamp(data.start_time / 1000 + 8 * 3600, 0);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stdout]    --> src/handlers/reptile_handler.rs:176:41
[INFO] [stdout]     |
[INFO] [stdout] 176 |         chrono::prelude::NaiveDateTime::from_timestamp(data.end_time / 1000 + 8 * 3600, 0);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TryFutureExt`
[INFO] [stdout]  --> src/multipart_form.rs:4:20
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures_util::{TryFutureExt, TryStreamExt};
[INFO] [stdout]   |                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/models/admins_model.rs:165:9
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let mut limit: i64 = per as i64; //每页取几条数据
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/models/admins_model.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 187 |     let mut pages = String::new();
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `update_result`
[INFO] [stdout]   --> src/models/lawsuit_autocar_article_model.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let update_result = query.get_result::<LawsuitAutocarArticle>(&mut conn);
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_update_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `op`
[INFO] [stdout]   --> src/models/lawsuit_autocar_photo_model.rs:37:26
[INFO] [stdout]    |
[INFO] [stdout] 37 |         .unwrap_or_else(|op| {
[INFO] [stdout]    |                          ^^ help: if this is intentional, prefix it with an underscore: `_op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tilte_where` is assigned to, but never used
[INFO] [stdout]    --> src/models/lawsuit_reptile_model.rs:150:13
[INFO] [stdout]     |
[INFO] [stdout] 150 |     let mut tilte_where = String::new();
[INFO] [stdout]     |             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_tilte_where` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tilte_where` is never read
[INFO] [stdout]    --> src/models/lawsuit_reptile_model.rs:154:9
[INFO] [stdout]     |
[INFO] [stdout] 154 |         tilte_where = get_data.title;
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/models/lawsuit_reptile_model.rs:159:9
[INFO] [stdout]     |
[INFO] [stdout] 159 |     let mut query = lawsuit_reptile.filter(push.eq(push_where));
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `update_result`
[INFO] [stdout]    --> src/models/lawsuit_reptile_model.rs:232:9
[INFO] [stdout]     |
[INFO] [stdout] 232 |     let update_result = query.get_result::<LawsuitReptile>(&mut conn);
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_update_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `child`
[INFO] [stdout]    --> src/models/menus_model.rs:251:21
[INFO] [stdout]     |
[INFO] [stdout] 251 |             let mut child: Option<Vec<Menu>> = None;
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_child`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/models/menus_model.rs:251:17
[INFO] [stdout]     |
[INFO] [stdout] 251 |             let mut child: Option<Vec<Menu>> = None;
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/models/rights_model.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 105 |     let mut limit: i64 = per as i64; //每页取几条数据
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sql`
[INFO] [stdout]    --> src/models/rights_model.rs:169:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |     let sql = diesel::debug_query::<diesel::pg::Pg, _>(&query).to_string();
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_sql`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cert_path`
[INFO] [stdout]   --> src/main.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let cert_path = get_env("cert_path");
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cert_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_path`
[INFO] [stdout]   --> src/main.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let key_path = get_env("key_path");
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `type_v` is never used
[INFO] [stdout]   --> src/common.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn type_v<T>(t: T)
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/handlers/lawsuit_autocar_handler.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct LawsuitAutocarForm {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] 33 |     pub title: String,
[INFO] [stdout] 34 |     pub list_img: String,        //列表图
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub assess_price: f64,       //评估价
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 38 |     pub margin: f64,             //保证金
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 39 |     pub recommended_price: f64,  //最高推荐价
[INFO] [stdout] 40 |     pub start_time: String,      //开拍时间
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 41 |     pub end_time: String,        //结束时间/
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub registration: String,    //注册登记日期
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 50 |     pub production_date: String, //生产日期
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub address: String,         //标的物地址
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 56 |     pub disposal_unit: String,   //处置单位,法院
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 57 |     pub external_url: String,    //拍卖详情URL
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 58 |     pub belong: i16,             //所属平台（1.淘宝、2.京东）
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 59 |     pub stage: String,           //拍卖阶段（一拍、二拍、变卖、撤回）
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LawsuitAutocarForm` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list` is never used
[INFO] [stdout]   --> src/handlers/reptile_handler.rs:42:14
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub async fn list() -> ResultWarp<impl Reply> {
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `message` is never read
[INFO] [stdout]   --> src/handlers/summernote_h.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 78 | struct ServerError {
[INFO] [stdout]    |        ----------- field in this struct
[INFO] [stdout] 79 |     message: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ServerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Request` is never constructed
[INFO] [stdout]  --> src/http.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Request {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `http_request` is never used
[INFO] [stdout]  --> src/http.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub async fn http_request(url: &str) -> Option<Request> {
[INFO] [stdout]   |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `http_get` is never used
[INFO] [stdout]   --> src/http.rs:37:14
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub async fn http_get(url: &str) -> Option<reqwest::Response> {
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DisposalUnit` is never constructed
[INFO] [stdout]  --> src/json_value/jd_value.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct DisposalUnit {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Unit` is never constructed
[INFO] [stdout]   --> src/json_value/jd_value.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Unit {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JDDetail` is never constructed
[INFO] [stdout]   --> src/json_value/jd_value.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct JDDetail {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JDDetailData` is never constructed
[INFO] [stdout]   --> src/json_value/jd_value.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct JDDetailData {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Image` is never constructed
[INFO] [stdout]   --> src/json_value/jd_value.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct Image {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Address` is never constructed
[INFO] [stdout]   --> src/json_value/jd_value.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Address {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_list` is never used
[INFO] [stdout]    --> src/models/lawsuit_reptile_model.rs:201:8
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub fn get_list() -> Vec<LawsuitReptile> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `jd_select` is never used
[INFO] [stdout]   --> src/parse.rs:26:14
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub async fn jd_select(paimai_id: &str) -> Option<Reptile> {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_jd_stage` is never used
[INFO] [stdout]    --> src/parse.rs:126:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub fn get_jd_stage(paimai_times: i8) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_html_base` is never used
[INFO] [stdout]   --> src/template.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn to_html_base(name: &str, mut data: Map<String, Json>) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `shopName` should have a snake case name
[INFO] [stdout]   --> src/json_value/jd_value.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub shopName: String,
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `shop_name`
[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 `endTime` should have a snake case name
[INFO] [stdout]   --> src/json_value/jd_value.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub endTime: i64,                                  //结束时间戳 ,毫秒
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `end_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `ensurePrice` should have a snake case name
[INFO] [stdout]   --> src/json_value/jd_value.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub ensurePrice: f64,                              //保证金
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `ensure_price`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `judicatureBasicInfoResult` should have a snake case name
[INFO] [stdout]   --> src/json_value/jd_value.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub judicatureBasicInfoResult: Map<String, Value>, //变卖时=里面有，市场价  也许是  “评估价”
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `judicature_basic_info_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `paimaiImageResultList` should have a snake case name
[INFO] [stdout]   --> src/json_value/jd_value.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub paimaiImageResultList: Vec<Image>,             //相册
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `paimai_image_result_list`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `paimaiTimes` should have a snake case name
[INFO] [stdout]   --> src/json_value/jd_value.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub paimaiTimes: i8,                               //拍卖阶段   1一拍  2.二拍    4.变卖
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `paimai_times`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `priceLowerOffset` should have a snake case name
[INFO] [stdout]   --> src/json_value/jd_value.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub priceLowerOffset: f32,                         //加价幅度
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `price_lower_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `productAddressResult` should have a snake case name
[INFO] [stdout]   --> src/json_value/jd_value.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub productAddressResult: Address,                 //标的物所在地
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `product_address_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `startPrice` should have a snake case name
[INFO] [stdout]   --> src/json_value/jd_value.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub startPrice: f64,                               //起拍价
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `start_price`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `assessmentPrice` should have a snake case name
[INFO] [stdout]   --> src/json_value/jd_value.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub assessmentPrice: f64,                          //评估价
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `assessment_price`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `startTime` should have a snake case name
[INFO] [stdout]   --> src/json_value/jd_value.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub startTime: i64,                                //开拍时间戳 ,毫秒
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `start_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `courtVendorId` should have a snake case name
[INFO] [stdout]   --> src/json_value/jd_value.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub courtVendorId: i64,                            //处置单位:所属法院 的 shopId
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `court_vendor_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `imagePath` should have a snake case name
[INFO] [stdout]   --> src/json_value/jd_value.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub imagePath: String,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `image_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `skuId` should have a snake case name
[INFO] [stdout]   --> src/json_value/jd_value.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub skuId: i64,
[INFO] [stdout]    |         ^^^^^ help: convert the identifier to snake case: `sku_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 16.75s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: buf_redux v0.8.4, diesel_derives v2.0.1, multipart v0.18.0, xml5ever v0.16.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "3673a2b201bcf4105e7b8ebd1bcfddef6184cf6341915a185d3465201238a96a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3673a2b201bcf4105e7b8ebd1bcfddef6184cf6341915a185d3465201238a96a", kill_on_drop: false }`
[INFO] [stdout] 3673a2b201bcf4105e7b8ebd1bcfddef6184cf6341915a185d3465201238a96a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2025-09-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 1953e9ee56814c49559ffb24c34c0c20f363fe44b1cf1936e1c5eb87db637de5
[INFO] running `Command { std: "docker" "start" "-a" "1953e9ee56814c49559ffb24c34c0c20f363fe44b1cf1936e1c5eb87db637de5", kill_on_drop: false }`
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = admins)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = admins)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = lawsuit_autocar_article)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = lawsuit_autocar_article)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = lawsuit_autocar)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = lawsuit_autocar)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = lawsuit_autocar_photo)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = lawsuit_reptile)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = lawsuit_reptile_photo)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = menus)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = menus)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = rights)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = rights)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = roles)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: #[table_name] attribute form is deprecated
[INFO] [stderr]   = help: use `#[diesel(table_name = roles)]` instead
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Handlebars`
[INFO] [stderr]  --> src/handlers/home_handler.rs:3:27
[INFO] [stderr]   |
[INFO] [stderr] 3 | use handlebars::{to_json, Handlebars};
[INFO] [stderr]   |                           ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::template::to_html_single`
[INFO] [stderr]  --> src/handlers/lawsuit_autocar_handler.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::template::to_html_single;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Handlebars`
[INFO] [stderr]  --> src/handlers/lawsuit_autocar_handler.rs:5:27
[INFO] [stderr]   |
[INFO] [stderr] 5 | use handlebars::{to_json, Handlebars};
[INFO] [stderr]   |                           ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Handlebars`
[INFO] [stderr]  --> src/handlers/reptile_handler.rs:5:27
[INFO] [stderr]   |
[INFO] [stderr] 5 | use handlebars::{to_json, Handlebars};
[INFO] [stderr]   |                           ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `schema::roles::rights`
[INFO] [stderr]  --> src/handlers/rights_handler.rs:2:35
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::{models::rights_model, schema::roles::rights};
[INFO] [stderr]   |                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Handlebars` and `to_json`
[INFO] [stderr]  --> src/handlers/summernote_h.rs:5:18
[INFO] [stderr]   |
[INFO] [stderr] 5 | use handlebars::{to_json, Handlebars};
[INFO] [stderr]   |                  ^^^^^^^  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BigDecimal` and `ToPrimitive`
[INFO] [stderr]  --> src/models/lawsuit_autocar_model.rs:4:18
[INFO] [stderr]   |
[INFO] [stderr] 4 | use bigdecimal::{BigDecimal, ToPrimitive};
[INFO] [stderr]   |                  ^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `chrono::NaiveDateTime`
[INFO] [stderr]  --> src/models/menus_model.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use chrono::NaiveDateTime;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Deserialize`
[INFO] [stderr]  --> src/models/menus_model.rs:6:13
[INFO] [stderr]   |
[INFO] [stderr] 6 | use serde::{Deserialize, Serialize};
[INFO] [stderr]   |             ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `chrono::NaiveDateTime`
[INFO] [stderr]  --> src/models/rights_model.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use chrono::NaiveDateTime;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Deserialize`
[INFO] [stderr]  --> src/models/rights_model.rs:6:13
[INFO] [stderr]   |
[INFO] [stderr] 6 | use serde::{Deserialize, Serialize};
[INFO] [stderr]   |             ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `chrono::NaiveDateTime`
[INFO] [stderr]  --> src/models/roles_model.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use chrono::NaiveDateTime;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Deserialize`
[INFO] [stderr]  --> src/models/roles_model.rs:6:13
[INFO] [stderr]   |
[INFO] [stderr] 6 | use serde::{Deserialize, Serialize};
[INFO] [stderr]   |             ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/routes/login_route.rs:45:5
[INFO] [stderr]    |
[INFO] [stderr] 45 | /     /// let client_ip = warp::header("x-real-ip")
[INFO] [stderr] 46 | |     ///     .or(warp::header("x-forwarded-for"))
[INFO] [stderr] 47 | |     ///     .unify()
[INFO] [stderr] 48 | |     ///     .map(|ip: SocketAddr| {
[INFO] [stderr] 49 | |     ///         // Get the IP from either header,
[INFO] [stderr] 50 | |     ///         // and unify into the inner type.
[INFO] [stderr] 51 | |     ///     });
[INFO] [stderr]    | |_______________^
[INFO] [stderr] 52 | /     let ip = warp::get()
[INFO] [stderr] 53 | |         .and(warp::path("login_ip"))
[INFO] [stderr] 54 | |         .and(
[INFO] [stderr] ...  |
[INFO] [stderr] 62 | |             format!("ip: {}", ip)
[INFO] [stderr] 63 | |         });
[INFO] [stderr]    | |___________- rustdoc does not generate documentation for statements
[INFO] [stderr]    |
[INFO] [stderr]    = help: use `//` for a plain comment
[INFO] [stderr]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `filters::BoxedFilter`
[INFO] [stderr]  --> src/routes/reptile_route.rs:3:12
[INFO] [stderr]   |
[INFO] [stderr] 3 | use warp::{filters::BoxedFilter, Filter};
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]   --> src/main.rs:21:1
[INFO] [stderr]    |
[INFO] [stderr] 21 | #[macro_use]
[INFO] [stderr]    | ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `log_r`
[INFO] [stderr]    --> src/routes/login_route.rs:100:9
[INFO] [stderr]     |
[INFO] [stderr] 100 |     let log_r = warp::get().map(warp::reply).with(log);
[INFO] [stderr]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_log_r`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `addr`
[INFO] [stderr]   --> src/routes/login_route.rs:76:17
[INFO] [stderr]    |
[INFO] [stderr] 76 |             let addr = "10.1.9.32/32".parse::<ipnetwork::IpNetwork>().unwrap();
[INFO] [stderr]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `parent_id`
[INFO] [stderr]   --> src/handlers/menus_handler.rs:71:5
[INFO] [stderr]    |
[INFO] [stderr] 71 |     parent_id: i32,
[INFO] [stderr]    |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `session`
[INFO] [stderr]   --> src/handlers/menus_handler.rs:73:5
[INFO] [stderr]    |
[INFO] [stderr] 73 |     session: crate::session::Session,
[INFO] [stderr]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `session`
[INFO] [stderr]    --> src/handlers/menus_handler.rs:136:5
[INFO] [stderr]     |
[INFO] [stderr] 136 |     session: crate::session::Session,
[INFO] [stderr]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `message`
[INFO] [stderr]    --> src/handlers/menus_handler.rs:156:13
[INFO] [stderr]     |
[INFO] [stderr] 156 |         Err(message) => {
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `session`
[INFO] [stderr]    --> src/handlers/menus_handler.rs:166:30
[INFO] [stderr]     |
[INFO] [stderr] 166 | pub async fn delete(id: i32, session: crate::session::Session) -> Result<impl Reply, Rejection> {
[INFO] [stderr]     |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `session`
[INFO] [stderr]    --> src/handlers/menus_handler.rs:177:5
[INFO] [stderr]     |
[INFO] [stderr] 177 |     session: crate::session::Session,
[INFO] [stderr]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `session`
[INFO] [stderr]   --> src/handlers/admins_handler.rs:55:5
[INFO] [stderr]    |
[INFO] [stderr] 55 |     session: crate::session::Session,
[INFO] [stderr]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]   --> src/handlers/admins_handler.rs:82:13
[INFO] [stderr]    |
[INFO] [stderr] 82 |         Err(e) => {
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `session`
[INFO] [stderr]    --> src/handlers/admins_handler.rs:117:5
[INFO] [stderr]     |
[INFO] [stderr] 117 |     session: crate::session::Session,
[INFO] [stderr]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `message`
[INFO] [stderr]    --> src/handlers/admins_handler.rs:127:13
[INFO] [stderr]     |
[INFO] [stderr] 127 |         Err(message) => {
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `session`
[INFO] [stderr]    --> src/handlers/admins_handler.rs:137:30
[INFO] [stderr]     |
[INFO] [stderr] 137 | pub async fn delete(id: i32, session: crate::session::Session) -> Result<impl Reply, Rejection> {
[INFO] [stderr]     |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `session`
[INFO] [stderr]    --> src/handlers/role_handler.rs:171:5
[INFO] [stderr]     |
[INFO] [stderr] 171 |     session: crate::session::Session,
[INFO] [stderr]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `test_post`
[INFO] [stderr]   --> src/routes/role_route.rs:46:9
[INFO] [stderr]    |
[INFO] [stderr] 46 |     let test_post = warp::post()
[INFO] [stderr]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_post`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `session`
[INFO] [stderr]    --> src/handlers/role_handler.rs:217:30
[INFO] [stderr]     |
[INFO] [stderr] 217 | pub async fn delete(id: i32, session: crate::session::Session) -> Result<impl Reply, Rejection> {
[INFO] [stderr]     |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `session`
[INFO] [stderr]    --> src/handlers/role_handler.rs:228:5
[INFO] [stderr]     |
[INFO] [stderr] 228 |     session: crate::session::Session,
[INFO] [stderr]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `session`
[INFO] [stderr]    --> src/handlers/role_handler.rs:110:5
[INFO] [stderr]     |
[INFO] [stderr] 110 |     session: crate::session::Session,
[INFO] [stderr]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `message`
[INFO] [stderr]    --> src/handlers/role_handler.rs:131:13
[INFO] [stderr]     |
[INFO] [stderr] 131 |         Err(message) => {
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `session`
[INFO] [stderr]   --> src/handlers/rights_handler.rs:87:5
[INFO] [stderr]    |
[INFO] [stderr] 87 |     session: crate::session::Session,
[INFO] [stderr]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/handlers/rights_handler.rs:103:13
[INFO] [stderr]     |
[INFO] [stderr] 103 |         Err(e) => {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/handlers/rights_handler.rs:25:9
[INFO] [stderr]    |
[INFO] [stderr] 25 |     let mut data = Map::new();
[INFO] [stderr]    |         ----^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `session`
[INFO] [stderr]   --> src/handlers/rights_handler.rs:45:5
[INFO] [stderr]    |
[INFO] [stderr] 45 |     session: crate::session::Session,
[INFO] [stderr]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `message`
[INFO] [stderr]   --> src/handlers/rights_handler.rs:60:13
[INFO] [stderr]    |
[INFO] [stderr] 60 |         Err(message) => {
[INFO] [stderr]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `session`
[INFO] [stderr]   --> src/handlers/rights_handler.rs:34:30
[INFO] [stderr]    |
[INFO] [stderr] 34 | pub async fn delete(id: i32, session: crate::session::Session) -> Result<impl Reply, Rejection> {
[INFO] [stderr]    |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/handlers/summernote_h.rs:16:9
[INFO] [stderr]    |
[INFO] [stderr] 16 |     let mut data = Map::new();
[INFO] [stderr]    |         ----^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `session`
[INFO] [stderr]   --> src/handlers/summernote_h.rs:93:42
[INFO] [stderr]    |
[INFO] [stderr] 93 | pub async fn upload_demo(form: FormData, session: Session) -> Result<impl Reply, Rejection> {
[INFO] [stderr]    |                                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/handlers/summernote_h.rs:87:9
[INFO] [stderr]    |
[INFO] [stderr] 87 |     let mut data = Map::new();
[INFO] [stderr]    |         ----^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `session`
[INFO] [stderr]    --> src/handlers/reptile_handler.rs:105:44
[INFO] [stderr]     |
[INFO] [stderr] 105 | pub async fn new_reptile(form: NewReptile, session: Session) -> ResultWarp<impl Reply> {
[INFO] [stderr]     |                                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/handlers/reptile_handler.rs:134:21
[INFO] [stderr]     |
[INFO] [stderr] 134 |                 let mut output = std::process::Command::new(program)
[INFO] [stderr]     |                     ----^^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `html`
[INFO] [stderr]   --> src/handlers/reptile_handler.rs:72:9
[INFO] [stderr]    |
[INFO] [stderr] 72 |     let html = "欢迎访问<跟我买车>后台首页(Hi Luck)";
[INFO] [stderr]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_html`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/handlers/reptile_handler.rs:73:9
[INFO] [stderr]    |
[INFO] [stderr] 73 |     let mut data = Map::new();
[INFO] [stderr]    |         ----^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `session`
[INFO] [stderr]    --> src/handlers/reptile_handler.rs:290:5
[INFO] [stderr]     |
[INFO] [stderr] 290 |     session: Session,
[INFO] [stderr]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `k`
[INFO] [stderr]    --> src/handlers/reptile_handler.rs:298:17
[INFO] [stderr]     |
[INFO] [stderr] 298 |             let k = form.title.clone().trim().to_string();
[INFO] [stderr]     |                 ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `insertid`
[INFO] [stderr]    --> src/handlers/reptile_handler.rs:444:25
[INFO] [stderr]     |
[INFO] [stderr] 444 |                     let insertid = insert_photo.insert();
[INFO] [stderr]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_insertid`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `session`
[INFO] [stderr]   --> src/handlers/lawsuit_autocar_handler.rs:82:54
[INFO] [stderr]    |
[INFO] [stderr] 82 | pub async fn edit(id: i32, form: LawsuitAutocarForm, session: Session) -> ResultWarp<impl Reply> {
[INFO] [stderr]    |                                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]   --> src/session.rs:87:24
[INFO] [stderr]    |
[INFO] [stderr] 87 |     } else if let Some(e) = reject.find::<ResponseError>() {
[INFO] [stderr]    |                        ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]   --> src/session.rs:91:24
[INFO] [stderr]    |
[INFO] [stderr] 91 |     } else if let Some(e) = reject.find::<NoLogin>() {
[INFO] [stderr]    |                        ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]   --> src/session.rs:97:24
[INFO] [stderr]    |
[INFO] [stderr] 97 |     } else if let Some(e) = reject.find::<InvalidUserID>() {
[INFO] [stderr]    |                        ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/session.rs:103:24
[INFO] [stderr]     |
[INFO] [stderr] 103 |     } else if let Some(e) = reject.find::<Logout>() {
[INFO] [stderr]     |                        ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/session.rs:109:24
[INFO] [stderr]     |
[INFO] [stderr] 109 |     } else if let Some(e) = reject.find::<NoRight>() {
[INFO] [stderr]     |                        ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stderr]    --> src/handlers/reptile_handler.rs:174:41
[INFO] [stderr]     |
[INFO] [stderr] 174 |         chrono::prelude::NaiveDateTime::from_timestamp(data.start_time / 1000 + 8 * 3600, 0);
[INFO] [stderr]     |                                         ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `from_timestamp_opt()` instead
[INFO] [stderr]    --> src/handlers/reptile_handler.rs:176:41
[INFO] [stderr]     |
[INFO] [stderr] 176 |         chrono::prelude::NaiveDateTime::from_timestamp(data.end_time / 1000 + 8 * 3600, 0);
[INFO] [stderr]     |                                         ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TryFutureExt`
[INFO] [stderr]  --> src/multipart_form.rs:4:20
[INFO] [stderr]   |
[INFO] [stderr] 4 | use futures_util::{TryFutureExt, TryStreamExt};
[INFO] [stderr]   |                    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/models/admins_model.rs:165:9
[INFO] [stderr]     |
[INFO] [stderr] 165 |     let mut limit: i64 = per as i64; //每页取几条数据
[INFO] [stderr]     |         ----^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/models/admins_model.rs:187:9
[INFO] [stderr]     |
[INFO] [stderr] 187 |     let mut pages = String::new();
[INFO] [stderr]     |         ----^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `update_result`
[INFO] [stderr]   --> src/models/lawsuit_autocar_article_model.rs:86:9
[INFO] [stderr]    |
[INFO] [stderr] 86 |     let update_result = query.get_result::<LawsuitAutocarArticle>(&mut conn);
[INFO] [stderr]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_update_result`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `op`
[INFO] [stderr]   --> src/models/lawsuit_autocar_photo_model.rs:37:26
[INFO] [stderr]    |
[INFO] [stderr] 37 |         .unwrap_or_else(|op| {
[INFO] [stderr]    |                          ^^ help: if this is intentional, prefix it with an underscore: `_op`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `tilte_where` is assigned to, but never used
[INFO] [stderr]    --> src/models/lawsuit_reptile_model.rs:150:13
[INFO] [stderr]     |
[INFO] [stderr] 150 |     let mut tilte_where = String::new();
[INFO] [stderr]     |             ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: consider using `_tilte_where` instead
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `tilte_where` is never read
[INFO] [stderr]    --> src/models/lawsuit_reptile_model.rs:154:9
[INFO] [stderr]     |
[INFO] [stderr] 154 |         tilte_where = get_data.title;
[INFO] [stderr]     |         ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/models/lawsuit_reptile_model.rs:159:9
[INFO] [stderr]     |
[INFO] [stderr] 159 |     let mut query = lawsuit_reptile.filter(push.eq(push_where));
[INFO] [stderr]     |         ----^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `update_result`
[INFO] [stderr]    --> src/models/lawsuit_reptile_model.rs:232:9
[INFO] [stderr]     |
[INFO] [stderr] 232 |     let update_result = query.get_result::<LawsuitReptile>(&mut conn);
[INFO] [stderr]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_update_result`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `child`
[INFO] [stderr]    --> src/models/menus_model.rs:251:21
[INFO] [stderr]     |
[INFO] [stderr] 251 |             let mut child: Option<Vec<Menu>> = None;
[INFO] [stderr]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_child`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/models/menus_model.rs:251:17
[INFO] [stderr]     |
[INFO] [stderr] 251 |             let mut child: Option<Vec<Menu>> = None;
[INFO] [stderr]     |                 ----^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/models/rights_model.rs:105:9
[INFO] [stderr]     |
[INFO] [stderr] 105 |     let mut limit: i64 = per as i64; //每页取几条数据
[INFO] [stderr]     |         ----^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sql`
[INFO] [stderr]    --> src/models/rights_model.rs:169:9
[INFO] [stderr]     |
[INFO] [stderr] 169 |     let sql = diesel::debug_query::<diesel::pg::Pg, _>(&query).to_string();
[INFO] [stderr]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_sql`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cert_path`
[INFO] [stderr]   --> src/main.rs:50:9
[INFO] [stderr]    |
[INFO] [stderr] 50 |     let cert_path = get_env("cert_path");
[INFO] [stderr]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cert_path`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key_path`
[INFO] [stderr]   --> src/main.rs:51:9
[INFO] [stderr]    |
[INFO] [stderr] 51 |     let key_path = get_env("key_path");
[INFO] [stderr]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_path`
[INFO] [stderr] 
[INFO] [stderr] warning: function `type_v` is never used
[INFO] [stderr]   --> src/common.rs:10:8
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub fn type_v<T>(t: T)
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: multiple fields are never read
[INFO] [stderr]   --> src/handlers/lawsuit_autocar_handler.rs:34:9
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub struct LawsuitAutocarForm {
[INFO] [stderr]    |            ------------------ fields in this struct
[INFO] [stderr] 33 |     pub title: String,
[INFO] [stderr] 34 |     pub list_img: String,        //列表图
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 37 |     pub assess_price: f64,       //评估价
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 38 |     pub margin: f64,             //保证金
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 39 |     pub recommended_price: f64,  //最高推荐价
[INFO] [stderr] 40 |     pub start_time: String,      //开拍时间
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 41 |     pub end_time: String,        //结束时间/
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 49 |     pub registration: String,    //注册登记日期
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 50 |     pub production_date: String, //生产日期
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 55 |     pub address: String,         //标的物地址
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr] 56 |     pub disposal_unit: String,   //处置单位,法院
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] 57 |     pub external_url: String,    //拍卖详情URL
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 58 |     pub belong: i16,             //所属平台（1.淘宝、2.京东）
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 59 |     pub stage: String,           //拍卖阶段（一拍、二拍、变卖、撤回）
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `LawsuitAutocarForm` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `list` is never used
[INFO] [stderr]   --> src/handlers/reptile_handler.rs:42:14
[INFO] [stderr]    |
[INFO] [stderr] 42 | pub async fn list() -> ResultWarp<impl Reply> {
[INFO] [stderr]    |              ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `message` is never read
[INFO] [stderr]   --> src/handlers/summernote_h.rs:79:5
[INFO] [stderr]    |
[INFO] [stderr] 78 | struct ServerError {
[INFO] [stderr]    |        ----------- field in this struct
[INFO] [stderr] 79 |     message: String,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ServerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Request` is never constructed
[INFO] [stderr]  --> src/http.rs:2:12
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub struct Request {
[INFO] [stderr]   |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `http_request` is never used
[INFO] [stderr]  --> src/http.rs:8:14
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub async fn http_request(url: &str) -> Option<Request> {
[INFO] [stderr]   |              ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `http_get` is never used
[INFO] [stderr]   --> src/http.rs:37:14
[INFO] [stderr]    |
[INFO] [stderr] 37 | pub async fn http_get(url: &str) -> Option<reqwest::Response> {
[INFO] [stderr]    |              ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `DisposalUnit` is never constructed
[INFO] [stderr]  --> src/json_value/jd_value.rs:5:12
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct DisposalUnit {
[INFO] [stderr]   |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Unit` is never constructed
[INFO] [stderr]   --> src/json_value/jd_value.rs:13:12
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub struct Unit {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `JDDetail` is never constructed
[INFO] [stderr]   --> src/json_value/jd_value.rs:18:12
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub struct JDDetail {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `JDDetailData` is never constructed
[INFO] [stderr]   --> src/json_value/jd_value.rs:26:12
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub struct JDDetailData {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Image` is never constructed
[INFO] [stderr]   --> src/json_value/jd_value.rs:42:12
[INFO] [stderr]    |
[INFO] [stderr] 42 | pub struct Image {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Address` is never constructed
[INFO] [stderr]   --> src/json_value/jd_value.rs:54:12
[INFO] [stderr]    |
[INFO] [stderr] 54 | pub struct Address {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_list` is never used
[INFO] [stderr]    --> src/models/lawsuit_reptile_model.rs:201:8
[INFO] [stderr]     |
[INFO] [stderr] 201 | pub fn get_list() -> Vec<LawsuitReptile> {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `jd_select` is never used
[INFO] [stderr]   --> src/parse.rs:26:14
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub async fn jd_select(paimai_id: &str) -> Option<Reptile> {
[INFO] [stderr]    |              ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_jd_stage` is never used
[INFO] [stderr]    --> src/parse.rs:126:8
[INFO] [stderr]     |
[INFO] [stderr] 126 | pub fn get_jd_stage(paimai_times: i8) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `to_html_base` is never used
[INFO] [stderr]   --> src/template.rs:43:8
[INFO] [stderr]    |
[INFO] [stderr] 43 | pub fn to_html_base(name: &str, mut data: Map<String, Json>) -> String {
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `shopName` should have a snake case name
[INFO] [stderr]   --> src/json_value/jd_value.rs:14:9
[INFO] [stderr]    |
[INFO] [stderr] 14 |     pub shopName: String,
[INFO] [stderr]    |         ^^^^^^^^ help: convert the identifier to snake case: `shop_name`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `endTime` should have a snake case name
[INFO] [stderr]   --> src/json_value/jd_value.rs:27:9
[INFO] [stderr]    |
[INFO] [stderr] 27 |     pub endTime: i64,                                  //结束时间戳 ,毫秒
[INFO] [stderr]    |         ^^^^^^^ help: convert the identifier to snake case: `end_time`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `ensurePrice` should have a snake case name
[INFO] [stderr]   --> src/json_value/jd_value.rs:28:9
[INFO] [stderr]    |
[INFO] [stderr] 28 |     pub ensurePrice: f64,                              //保证金
[INFO] [stderr]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `ensure_price`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `judicatureBasicInfoResult` should have a snake case name
[INFO] [stderr]   --> src/json_value/jd_value.rs:29:9
[INFO] [stderr]    |
[INFO] [stderr] 29 |     pub judicatureBasicInfoResult: Map<String, Value>, //变卖时=里面有，市场价  也许是  “评估价”
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `judicature_basic_info_result`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `paimaiImageResultList` should have a snake case name
[INFO] [stderr]   --> src/json_value/jd_value.rs:30:9
[INFO] [stderr]    |
[INFO] [stderr] 30 |     pub paimaiImageResultList: Vec<Image>,             //相册
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `paimai_image_result_list`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `paimaiTimes` should have a snake case name
[INFO] [stderr]   --> src/json_value/jd_value.rs:31:9
[INFO] [stderr]    |
[INFO] [stderr] 31 |     pub paimaiTimes: i8,                               //拍卖阶段   1一拍  2.二拍    4.变卖
[INFO] [stderr]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `paimai_times`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `priceLowerOffset` should have a snake case name
[INFO] [stderr]   --> src/json_value/jd_value.rs:32:9
[INFO] [stderr]    |
[INFO] [stderr] 32 |     pub priceLowerOffset: f32,                         //加价幅度
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `price_lower_offset`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `productAddressResult` should have a snake case name
[INFO] [stderr]   --> src/json_value/jd_value.rs:33:9
[INFO] [stderr]    |
[INFO] [stderr] 33 |     pub productAddressResult: Address,                 //标的物所在地
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `product_address_result`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `startPrice` should have a snake case name
[INFO] [stderr]   --> src/json_value/jd_value.rs:34:9
[INFO] [stderr]    |
[INFO] [stderr] 34 |     pub startPrice: f64,                               //起拍价
[INFO] [stderr]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `start_price`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `assessmentPrice` should have a snake case name
[INFO] [stderr]   --> src/json_value/jd_value.rs:35:9
[INFO] [stderr]    |
[INFO] [stderr] 35 |     pub assessmentPrice: f64,                          //评估价
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `assessment_price`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `startTime` should have a snake case name
[INFO] [stderr]   --> src/json_value/jd_value.rs:36:9
[INFO] [stderr]    |
[INFO] [stderr] 36 |     pub startTime: i64,                                //开拍时间戳 ,毫秒
[INFO] [stderr]    |         ^^^^^^^^^ help: convert the identifier to snake case: `start_time`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `courtVendorId` should have a snake case name
[INFO] [stderr]   --> src/json_value/jd_value.rs:38:9
[INFO] [stderr]    |
[INFO] [stderr] 38 |     pub courtVendorId: i64,                            //处置单位:所属法院 的 shopId
[INFO] [stderr]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `court_vendor_id`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `imagePath` should have a snake case name
[INFO] [stderr]   --> src/json_value/jd_value.rs:49:9
[INFO] [stderr]    |
[INFO] [stderr] 49 |     pub imagePath: String,
[INFO] [stderr]    |         ^^^^^^^^^ help: convert the identifier to snake case: `image_path`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `skuId` should have a snake case name
[INFO] [stderr]   --> src/json_value/jd_value.rs:50:9
[INFO] [stderr]    |
[INFO] [stderr] 50 |     pub skuId: i64,
[INFO] [stderr]    |         ^^^^^ help: convert the identifier to snake case: `sku_id`
[INFO] [stderr] 
[INFO] [stderr] warning: `manage-gwmc-vip` (bin "manage-gwmc-vip" test) generated 105 warnings (run `cargo fix --bin "manage-gwmc-vip" --tests` to apply 24 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.27s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: buf_redux v0.8.4, diesel_derives v2.0.1, multipart v0.18.0, xml5ever v0.16.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/manage_gwmc_vip-ff6a9b83ee7a5095)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "1953e9ee56814c49559ffb24c34c0c20f363fe44b1cf1936e1c5eb87db637de5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1953e9ee56814c49559ffb24c34c0c20f363fe44b1cf1936e1c5eb87db637de5", kill_on_drop: false }`
[INFO] [stdout] 1953e9ee56814c49559ffb24c34c0c20f363fe44b1cf1936e1c5eb87db637de5
