[INFO] cloning repository https://github.com/niuchangqing/rust-web-demo
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/niuchangqing/rust-web-demo" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fniuchangqing%2Frust-web-demo", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fniuchangqing%2Frust-web-demo'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e969ed9aaa9a2be0b62d139ae987190239ba5ebd
[INFO] testing niuchangqing/rust-web-demo against 1.83.0 for beta-1.84.0-4-retry
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fniuchangqing%2Frust-web-demo" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/niuchangqing/rust-web-demo on toolchain 1.83.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.83.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/niuchangqing/rust-web-demo
[INFO] finished tweaking git repo https://github.com/niuchangqing/rust-web-demo
[INFO] tweaked toml for git repo https://github.com/niuchangqing/rust-web-demo written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/niuchangqing/rust-web-demo 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" "+1.83.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded futures-sink v0.3.19
[INFO] [stderr]   Downloaded sqlx-rt v0.5.9
[INFO] [stderr]   Downloaded salvo_macros v0.16.0
[INFO] [stderr]   Downloaded textnonce v1.0.0
[INFO] [stderr]   Downloaded tokio-macros v1.7.0
[INFO] [stderr]   Downloaded tokio-tungstenite v0.16.1
[INFO] [stderr]   Downloaded simple_asn1 v0.5.4
[INFO] [stderr]   Downloaded whoami v1.2.1
[INFO] [stderr]   Downloaded crossbeam v0.8.1
[INFO] [stderr]   Downloaded futures-executor v0.3.19
[INFO] [stderr]   Downloaded proc-quote-impl v0.3.2
[INFO] [stderr]   Downloaded rsa v0.4.1
[INFO] [stderr]   Downloaded futures v0.3.19
[INFO] [stderr]   Downloaded headers v0.3.5
[INFO] [stderr]   Downloaded rust_decimal v1.19.0
[INFO] [stderr]   Downloaded nom v7.1.0
[INFO] [stderr]   Downloaded cogo v0.1.2
[INFO] [stderr]   Downloaded futures-util v0.3.19
[INFO] [stderr]   Downloaded h2 v0.3.9
[INFO] [stderr]   Downloaded hyper v0.14.16
[INFO] [stderr]   Downloaded sqlx-core v0.5.9
[INFO] [stderr]   Downloaded rustls v0.20.2
[INFO] [stderr]   Downloaded num-bigint-dig v0.7.0
[INFO] [stderr]   Downloaded rbatis v3.0.27
[INFO] [stderr]   Downloaded tracing-subscriber v0.3.4
[INFO] [stderr]   Downloaded serde_json v1.0.73
[INFO] [stderr]   Downloaded rbson v2.0.3
[INFO] [stderr]   Downloaded http v0.2.5
[INFO] [stderr]   Downloaded salvo v0.16.7
[INFO] [stderr]   Downloaded async-compression v0.3.8
[INFO] [stderr]   Downloaded tokio v1.15.0
[INFO] [stderr]   Downloaded cookie v0.15.1
[INFO] [stderr]   Downloaded tokio-stream v0.1.8
[INFO] [stderr]   Downloaded rbatis-core v3.0.18
[INFO] [stderr]   Downloaded structopt v0.3.25
[INFO] [stderr]   Downloaded html_parser v0.6.2
[INFO] [stderr]   Downloaded jsonwebtoken v7.2.0
[INFO] [stderr]   Downloaded pin-project-internal v1.0.9
[INFO] [stderr]   Downloaded pin-project v1.0.9
[INFO] [stderr]   Downloaded salvo_core v0.16.7
[INFO] [stderr]   Downloaded futures-channel v0.3.19
[INFO] [stderr]   Downloaded tungstenite v0.16.0
[INFO] [stderr]   Downloaded tokio-rustls v0.23.2
[INFO] [stderr]   Downloaded futures-macro v0.3.19
[INFO] [stderr]   Downloaded ipnetwork v0.17.0
[INFO] [stderr]   Downloaded rexpr v1.0.7
[INFO] [stderr]   Downloaded crossbeam-queue v0.3.2
[INFO] [stderr]   Downloaded rbatis_sql v3.0.13
[INFO] [stderr]   Downloaded fast_log v1.4.10
[INFO] [stderr]   Downloaded py_sql v1.0.1
[INFO] [stderr]   Downloaded rbatis_sql_macro v3.0.7
[INFO] [stderr]   Downloaded csrf v0.4.1
[INFO] [stderr]   Downloaded pem v0.8.3
[INFO] [stderr]   Downloaded simple_asn1 v0.4.1
[INFO] [stderr]   Downloaded rustls-pemfile v0.2.1
[INFO] [stderr]   Downloaded proc-quote v0.4.0
[INFO] [stderr]   Downloaded rbatis-macro-driver v3.0.5
[INFO] [stderr]   Downloaded brotli v3.3.2
[INFO] [stderr]   Downloaded const_fn v0.4.8
[INFO] [stderr]   Downloaded salvo_extra v0.16.7
[INFO] [stderr]   Downloaded futures-task v0.3.19
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+1.83.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f7b0c659bf647115223eb1b63810b1fa88a4bc4c27f17588ed5738386db3af2b
[INFO] running `Command { std: "docker" "start" "-a" "f7b0c659bf647115223eb1b63810b1fa88a4bc4c27f17588ed5738386db3af2b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f7b0c659bf647115223eb1b63810b1fa88a4bc4c27f17588ed5738386db3af2b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f7b0c659bf647115223eb1b63810b1fa88a4bc4c27f17588ed5738386db3af2b", kill_on_drop: false }`
[INFO] [stdout] f7b0c659bf647115223eb1b63810b1fa88a4bc4c27f17588ed5738386db3af2b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+1.83.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 61918aed50c09a55ab14430420dd3dee46f942457e97e8d73bc45882051b48a3
[INFO] running `Command { std: "docker" "start" "-a" "61918aed50c09a55ab14430420dd3dee46f942457e97e8d73bc45882051b48a3", kill_on_drop: false }`
[INFO] [stderr]    Compiling version_check v0.9.3
[INFO] [stderr]    Compiling proc-macro2 v1.0.36
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling syn v1.0.84
[INFO] [stderr]    Compiling libc v0.2.112
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling once_cell v1.9.0
[INFO] [stderr]    Compiling serde_derive v1.0.132
[INFO] [stderr]    Compiling cc v1.0.72
[INFO] [stderr]    Compiling serde v1.0.132
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling libm v0.2.1
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling smallvec v1.7.0
[INFO] [stderr]    Compiling bytes v1.1.0
[INFO] [stderr]    Compiling pin-project-lite v0.2.7
[INFO] [stderr]    Compiling parking_lot_core v0.8.5
[INFO] [stderr]    Compiling futures-core v0.3.19
[INFO] [stderr]    Compiling lock_api v0.4.5
[INFO] [stderr]    Compiling cpufeatures v0.2.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.15
[INFO] [stderr]    Compiling ryu v1.0.9
[INFO] [stderr]    Compiling generic-array v0.14.4
[INFO] [stderr]    Compiling ahash v0.7.6
[INFO] [stderr]    Compiling itoa v1.0.1
[INFO] [stderr]    Compiling futures-sink v0.3.19
[INFO] [stderr]    Compiling futures-task v0.3.19
[INFO] [stderr]    Compiling futures-channel v0.3.19
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling indexmap v1.7.0
[INFO] [stderr]    Compiling futures-util v0.3.19
[INFO] [stderr]    Compiling proc-macro-hack v0.5.19
[INFO] [stderr]    Compiling quote v1.0.14
[INFO] [stderr]    Compiling serde_json v1.0.73
[INFO] [stderr]    Compiling futures-io v0.3.19
[INFO] [stderr]    Compiling slab v0.4.5
[INFO] [stderr]    Compiling tinyvec v1.5.1
[INFO] [stderr]    Compiling percent-encoding v2.1.0
[INFO] [stderr]    Compiling matches v0.1.9
[INFO] [stderr]    Compiling getrandom v0.2.3
[INFO] [stderr]    Compiling num_cpus v1.13.1
[INFO] [stderr]    Compiling mio v0.7.14
[INFO] [stderr]    Compiling signal-hook-registry v1.4.0
[INFO] [stderr]    Compiling time v0.1.43
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling digest v0.9.0
[INFO] [stderr]    Compiling parking_lot v0.11.2
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]    Compiling block-buffer v0.9.0
[INFO] [stderr]    Compiling http v0.2.5
[INFO] [stderr]    Compiling standback v0.2.17
[INFO] [stderr]    Compiling hashbrown v0.11.2
[INFO] [stderr]    Compiling unicode-bidi v0.3.7
[INFO] [stderr]    Compiling httparse v1.5.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.5
[INFO] [stderr]    Compiling form_urlencoded v1.0.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]    Compiling unicode-normalization v0.1.19
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling rand v0.8.4
[INFO] [stderr]    Compiling const_fn v0.4.8
[INFO] [stderr]    Compiling regex-syntax v0.6.25
[INFO] [stderr]    Compiling sha-1 v0.9.8
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]    Compiling time v0.2.27
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling tracing-core v0.1.21
[INFO] [stderr]    Compiling ucd-trie v0.1.3
[INFO] [stderr]    Compiling crc32fast v1.3.0
[INFO] [stderr]    Compiling rustversion v1.0.6
[INFO] [stderr]    Compiling pest v2.1.3
[INFO] [stderr]    Compiling idna v0.2.3
[INFO] [stderr]    Compiling sha2 v0.9.8
[INFO] [stderr]    Compiling universal-hash v0.4.1
[INFO] [stderr]    Compiling cipher v0.3.0
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]    Compiling async-trait v0.1.52
[INFO] [stderr]    Compiling maplit v1.0.2
[INFO] [stderr]    Compiling unicode-segmentation v1.8.0
[INFO] [stderr]    Compiling unicode-width v0.1.9
[INFO] [stderr]    Compiling crossbeam-queue v0.3.2
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling url v2.2.2
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling socket2 v0.4.2
[INFO] [stderr]    Compiling num-iter v0.1.42
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]    Compiling num-bigint v0.4.3
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling pest_meta v2.1.3
[INFO] [stderr]    Compiling alloc-no-stdlib v2.0.3
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling flate2 v1.0.22
[INFO] [stderr]    Compiling alloc-stdlib v0.2.1
[INFO] [stderr]    Compiling num-bigint-dig v0.7.0
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling crossbeam-channel v0.5.1
[INFO] [stderr]    Compiling num-bigint v0.3.3
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]    Compiling nom v7.1.0
[INFO] [stderr]    Compiling pkg-config v0.3.24
[INFO] [stderr]    Compiling httpdate v1.0.2
[INFO] [stderr]    Compiling mime v0.3.16
[INFO] [stderr]    Compiling encoding_rs v0.8.30
[INFO] [stderr]    Compiling try-lock v0.2.3
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.5
[INFO] [stderr]    Compiling want v0.3.0
[INFO] [stderr]    Compiling mime_guess v2.0.3
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling brotli-decompressor v2.3.2
[INFO] [stderr]    Compiling http-body v0.4.4
[INFO] [stderr]    Compiling polyval v0.5.3
[INFO] [stderr]    Compiling proc-quote-impl v0.3.2
[INFO] [stderr]    Compiling dashmap v4.0.2
[INFO] [stderr]    Compiling bzip2-sys v0.1.11+1.0.8
[INFO] [stderr]    Compiling aead v0.4.3
[INFO] [stderr]    Compiling crypto-mac v0.10.1
[INFO] [stderr]    Compiling crypto-mac v0.11.1
[INFO] [stderr]    Compiling multer v2.0.2
[INFO] [stderr]    Compiling cookie v0.15.1
[INFO] [stderr]    Compiling tower-service v0.3.1
[INFO] [stderr]    Compiling anyhow v1.0.52
[INFO] [stderr]    Compiling regex v1.5.4
[INFO] [stderr]    Compiling base64 v0.12.3
[INFO] [stderr]    Compiling hmac v0.11.0
[INFO] [stderr]    Compiling hmac v0.10.1
[INFO] [stderr]    Compiling ghash v0.4.4
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling generator v0.7.0
[INFO] [stderr]    Compiling headers-core v0.2.0
[INFO] [stderr]    Compiling ctr v0.8.0
[INFO] [stderr]    Compiling aes v0.7.5
[INFO] [stderr]    Compiling webpki v0.21.4
[INFO] [stderr]    Compiling sct v0.6.1
[INFO] [stderr]    Compiling webpki v0.22.0
[INFO] [stderr]    Compiling sct v0.7.0
[INFO] [stderr]    Compiling rustls v0.19.1
[INFO] [stderr]    Compiling webpki-roots v0.21.1
[INFO] [stderr]    Compiling rustls v0.20.2
[INFO] [stderr]    Compiling brotli v3.3.2
[INFO] [stderr]    Compiling poly1305 v0.7.2
[INFO] [stderr]    Compiling pem v0.8.3
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling remove_dir_all v0.5.3
[INFO] [stderr]    Compiling crc-catalog v1.1.1
[INFO] [stderr]    Compiling spin v0.9.2
[INFO] [stderr]    Compiling crc v2.1.0
[INFO] [stderr]    Compiling aes-gcm v0.9.4
[INFO] [stderr]    Compiling textnonce v1.0.0
[INFO] [stderr]    Compiling ct-logs v0.8.0
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling pest_generator v2.1.3
[INFO] [stderr]    Compiling proc-quote v0.4.0
[INFO] [stderr]    Compiling crossbeam-deque v0.8.1
[INFO] [stderr]    Compiling headers v0.3.5
[INFO] [stderr]    Compiling tempdir v0.3.7
[INFO] [stderr]    Compiling cogo v0.1.2
[INFO] [stderr]    Compiling stringprep v0.1.2
[INFO] [stderr]    Compiling hashlink v0.7.0
[INFO] [stderr]    Compiling atoi v0.4.0
[INFO] [stderr]    Compiling futures-intrusive v0.4.0
[INFO] [stderr]    Compiling rustls-pemfile v0.2.1
[INFO] [stderr]    Compiling whoami v1.2.1
[INFO] [stderr]    Compiling xml-rs v0.8.4
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling fastrand v1.6.0
[INFO] [stderr]    Compiling data-encoding v2.3.2
[INFO] [stderr]    Compiling crossbeam v0.8.1
[INFO] [stderr]    Compiling bzip2 v0.4.3
[INFO] [stderr]    Compiling hkdf v0.11.0
[INFO] [stderr]    Compiling nix v0.21.0
[INFO] [stderr]    Compiling tracing-log v0.1.2
[INFO] [stderr]    Compiling thread_local v1.1.3
[INFO] [stderr]    Compiling sharded-slab v0.1.4
[INFO] [stderr]    Compiling dotenv v0.15.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.30
[INFO] [stderr]    Compiling tokio-macros v1.7.0
[INFO] [stderr]    Compiling futures-macro v0.3.19
[INFO] [stderr]    Compiling zeroize_derive v1.2.2
[INFO] [stderr]    Compiling time-macros-impl v0.1.2
[INFO] [stderr]    Compiling tracing-attributes v0.1.18
[INFO] [stderr]    Compiling structopt-derive v0.4.18
[INFO] [stderr]    Compiling pest_derive v2.1.0
[INFO] [stderr]    Compiling pin-project-internal v1.0.9
[INFO] [stderr]    Compiling tracing-subscriber v0.3.4
[INFO] [stderr]    Compiling zeroize v1.3.0
[INFO] [stderr]    Compiling chacha20 v0.7.3
[INFO] [stderr]    Compiling tokio v1.15.0
[INFO] [stderr]    Compiling chacha20poly1305 v0.8.2
[INFO] [stderr]    Compiling time-macros v0.1.1
[INFO] [stderr]    Compiling structopt v0.3.25
[INFO] [stderr]    Compiling thiserror v1.0.30
[INFO] [stderr]    Compiling pin-project v1.0.9
[INFO] [stderr]    Compiling tungstenite v0.16.0
[INFO] [stderr]    Compiling zip v0.5.13
[INFO] [stderr]    Compiling tracing v0.1.29
[INFO] [stderr]    Compiling futures-executor v0.3.19
[INFO] [stderr]    Compiling futures v0.3.19
[INFO] [stderr]    Compiling tokio-rustls v0.22.0
[INFO] [stderr]    Compiling tokio-stream v0.1.8
[INFO] [stderr]    Compiling tokio-util v0.6.9
[INFO] [stderr]    Compiling tokio-rustls v0.23.2
[INFO] [stderr]    Compiling async-compression v0.3.8
[INFO] [stderr]    Compiling tokio-tungstenite v0.16.1
[INFO] [stderr]    Compiling sqlx-rt v0.5.9
[INFO] [stderr]    Compiling h2 v0.3.9
[INFO] [stderr]    Compiling chrono v0.4.19
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling uuid v0.8.2
[INFO] [stderr]    Compiling serde_bytes v0.11.5
[INFO] [stderr]    Compiling rust_decimal v1.19.0
[INFO] [stderr]    Compiling bigdecimal v0.2.2
[INFO] [stderr]    Compiling multimap v0.8.3
[INFO] [stderr]    Compiling ipnetwork v0.17.0
[INFO] [stderr]    Compiling toml v0.5.8
[INFO] [stderr]    Compiling itertools v0.10.3
[INFO] [stderr]    Compiling simple_asn1 v0.5.4
[INFO] [stderr]    Compiling simple_asn1 v0.4.1
[INFO] [stderr]    Compiling csrf v0.4.1
[INFO] [stderr]    Compiling proc-macro-crate v1.1.0
[INFO] [stderr]    Compiling html_parser v0.6.2
[INFO] [stderr]    Compiling rexpr v1.0.7
[INFO] [stderr]    Compiling rbson v2.0.3
[INFO] [stderr]    Compiling jsonwebtoken v7.2.0
[INFO] [stderr]    Compiling rsa v0.4.1
[INFO] [stderr]    Compiling fast_log v1.4.10
[INFO] [stderr]    Compiling salvo_macros v0.16.0
[INFO] [stderr]    Compiling py_sql v1.0.1
[INFO] [stderr]    Compiling rbatis_sql_macro v3.0.7
[INFO] [stderr]    Compiling rbatis-macro-driver v3.0.5
[INFO] [stderr]    Compiling sqlformat v0.1.8
[INFO] [stderr]    Compiling hyper v0.14.16
[INFO] [stderr]    Compiling rbatis_sql v3.0.13
[INFO] [stderr]    Compiling sqlx-core v0.5.9
[INFO] [stderr]    Compiling salvo_core v0.16.7
[INFO] [stderr]    Compiling hyper-rustls v0.22.1
[INFO] [stderr]    Compiling rbatis-core v3.0.18
[INFO] [stderr]    Compiling salvo_extra v0.16.7
[INFO] [stderr]    Compiling rbatis v3.0.27
[INFO] [stderr]    Compiling salvo v0.16.7
[INFO] [stderr]    Compiling rust-web-demo v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `tracing_subscriber::fmt::writer::MakeWriterExt`
[INFO] [stdout]  --> src/config/log.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use tracing_subscriber::fmt::writer::MakeWriterExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `config::*`
[INFO] [stdout]  --> src/config/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use config::*;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `db_config::*`
[INFO] [stdout]  --> src/config/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use db_config::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/service/mod.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |           /// # futures
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 26 | /         let rbatis = futures::executor::block_on({
[INFO] [stdout] 27 | |             crate::mapper::init_rbatis(&config.db_config)
[INFO] [stdout] 28 | |         });
[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)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/service/mod.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | /         /// # async_std
[INFO] [stdout] 30 | |         /// let rbatis = async_std::task::block_on(async {
[INFO] [stdout] 31 | |         ///     crate::mapper::init_rbatis(&config.db_config).await
[INFO] [stdout] 32 | |         /// });
[INFO] [stdout]    | |_______________^
[INFO] [stdout] 33 | /         let context = ServiceContext {
[INFO] [stdout] 34 | |             rbatis:rbatis,
[INFO] [stdout] 35 | |             config:config,
[INFO] [stdout] 36 | |             user_service: UserService{},
[INFO] [stdout] 37 | |         };
[INFO] [stdout]    | |__________- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ErrorCode`
[INFO] [stdout]  --> src/domain/response/mod.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::error::{CustomError, ErrorCode, ErrorTrait};
[INFO] [stdout]   |                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display` and `Formatter`
[INFO] [stdout]  --> src/error.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::{Display, Formatter};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rbatis::Error`
[INFO] [stdout]  --> src/error.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rbatis::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PARAM_MISS` should have an upper camel case name
[INFO] [stdout]   --> src/error.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     PARAM_MISS,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `ParamMiss`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `DB_OPERA_ERROR` should have an upper camel case name
[INFO] [stdout]   --> src/error.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     DB_OPERA_ERROR,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DbOperaError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REQUEST_PARSING_ERROR` should have an upper camel case name
[INFO] [stdout]   --> src/error.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     REQUEST_PARSING_ERROR,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RequestParsingError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SYSTEM_ERROR` should have an upper camel case name
[INFO] [stdout]   --> src/error.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     SYSTEM_ERROR,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SystemError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `resp`
[INFO] [stdout]   --> src/controller/user_controller.rs:12:42
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub async fn get_user(req: &mut Request, resp: &mut Response) -> Result<ResultVo<Option<user::UserVo>>> {
[INFO] [stdout]    |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_resp`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `resp`
[INFO] [stdout]   --> src/controller/user_controller.rs:23:42
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub async fn add_user(req: &mut Request, resp: &mut Response) -> Result<ResultVo<()>> {
[INFO] [stdout]    |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_resp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `resp`
[INFO] [stdout]   --> src/controller/user_controller.rs:33:25
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub async fn test_error(resp: &mut Response) -> Result<ResultVo<String>> {
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_resp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/mapper/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let mut rbatis = Rbatis::new();
[INFO] [stdout]   |         ----^^^^^^
[INFO] [stdout]   |         |
[INFO] [stdout]   |         help: remove this `mut`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]  --> src/config/log.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn init_log(config: &AppConfig) {
[INFO] [stdout]   |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/error.rs:34:30
[INFO] [stdout]    |
[INFO] [stdout] 34 |     async fn write(mut self, req: &mut Request, depot: &mut Depot, res: &mut Response) {
[INFO] [stdout]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/error.rs:34:49
[INFO] [stdout]    |
[INFO] [stdout] 34 |     async fn write(mut self, req: &mut Request, depot: &mut Depot, res: &mut Response) {
[INFO] [stdout]    |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/error.rs:41:30
[INFO] [stdout]    |
[INFO] [stdout] 41 |     async fn write(mut self, req: &mut Request, depot: &mut Depot, res: &mut Response) {
[INFO] [stdout]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/error.rs:41:49
[INFO] [stdout]    |
[INFO] [stdout] 41 |     async fn write(mut self, req: &mut Request, depot: &mut Depot, res: &mut Response) {
[INFO] [stdout]    |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/error.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn from(args: &dyn std::error::Error) -> Self {
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/error.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |             _ => CustomError::from(500, "系统异常"),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/error.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |             ErrorCode::PARAM_MISS => CustomError::from(1000, "参数错误"),
[INFO] [stdout]    |             --------------------- matches some of the same values
[INFO] [stdout] 93 |             ErrorCode::DB_OPERA_ERROR => CustomError::from(1001, "DB操作失败"),
[INFO] [stdout]    |             ------------------------- matches some of the same values
[INFO] [stdout] 94 |             ErrorCode::REQUEST_PARSING_ERROR => CustomError::from(1002, "请求参数解析失败"),
[INFO] [stdout]    |             -------------------------------- matches some of the same values
[INFO] [stdout] 95 |             ErrorCode::SYSTEM_ERROR => CustomError::from(500, "系统异常"),
[INFO] [stdout]    |             ----------------------- matches some of the same values
[INFO] [stdout] 96 |             _ => CustomError::from(500, "系统异常"),
[INFO] [stdout]    |             ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_log_level` is never used
[INFO] [stdout]   --> src/config/log.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn get_log_level(level: &str) -> tracing::Level {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused closure that must be used
[INFO] [stdout]   --> src/entity/tables.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl_field_name_method!(User{id,nickname,password,username,create_time});
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: closures are lazy and do nothing unless called
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `impl_field_name_method` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/config/log.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | /     fast_log::init_split_log(
[INFO] [stdout] 13 | |         "/Users/xuweihong/logs/requests.log",
[INFO] [stdout] 14 | |         fast_log::consts::LogSize::MB(1),
[INFO] [stdout] 15 | |         fast_log::plugin::file_split::RollingType::KeepTime(std::time::Duration::from_secs(24 * 3600)),
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |         true,
[INFO] [stdout] 20 | |     );
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let _ = fast_log::init_split_log(
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::Level`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::Level;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rust_web_demo::domain::response::ResultVo`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rust_web_demo::domain::response::ResultVo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rust_web_demo::error::CustomError`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rust_web_demo::error::CustomError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 51s
[INFO] running `Command { std: "docker" "inspect" "61918aed50c09a55ab14430420dd3dee46f942457e97e8d73bc45882051b48a3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "61918aed50c09a55ab14430420dd3dee46f942457e97e8d73bc45882051b48a3", kill_on_drop: false }`
[INFO] [stdout] 61918aed50c09a55ab14430420dd3dee46f942457e97e8d73bc45882051b48a3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+1.83.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3d3a38e2dde952499f494766255f7690e541cc78940cadf515cd0741cdadaaef
[INFO] running `Command { std: "docker" "start" "-a" "3d3a38e2dde952499f494766255f7690e541cc78940cadf515cd0741cdadaaef", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `tracing_subscriber::fmt::writer::MakeWriterExt`
[INFO] [stdout]  --> src/config/log.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use tracing_subscriber::fmt::writer::MakeWriterExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rust-web-demo v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `config::*`
[INFO] [stdout]  --> src/config/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use config::*;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `db_config::*`
[INFO] [stdout]  --> src/config/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use db_config::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/service/mod.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |           /// # futures
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 26 | /         let rbatis = futures::executor::block_on({
[INFO] [stdout] 27 | |             crate::mapper::init_rbatis(&config.db_config)
[INFO] [stdout] 28 | |         });
[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)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/service/mod.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | /         /// # async_std
[INFO] [stdout] 30 | |         /// let rbatis = async_std::task::block_on(async {
[INFO] [stdout] 31 | |         ///     crate::mapper::init_rbatis(&config.db_config).await
[INFO] [stdout] 32 | |         /// });
[INFO] [stdout]    | |_______________^
[INFO] [stdout] 33 | /         let context = ServiceContext {
[INFO] [stdout] 34 | |             rbatis:rbatis,
[INFO] [stdout] 35 | |             config:config,
[INFO] [stdout] 36 | |             user_service: UserService{},
[INFO] [stdout] 37 | |         };
[INFO] [stdout]    | |__________- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ErrorCode`
[INFO] [stdout]  --> src/domain/response/mod.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::error::{CustomError, ErrorCode, ErrorTrait};
[INFO] [stdout]   |                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display` and `Formatter`
[INFO] [stdout]  --> src/error.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::{Display, Formatter};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rbatis::Error`
[INFO] [stdout]  --> src/error.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rbatis::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PARAM_MISS` should have an upper camel case name
[INFO] [stdout]   --> src/error.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     PARAM_MISS,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `ParamMiss`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `DB_OPERA_ERROR` should have an upper camel case name
[INFO] [stdout]   --> src/error.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     DB_OPERA_ERROR,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DbOperaError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REQUEST_PARSING_ERROR` should have an upper camel case name
[INFO] [stdout]   --> src/error.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     REQUEST_PARSING_ERROR,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RequestParsingError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SYSTEM_ERROR` should have an upper camel case name
[INFO] [stdout]   --> src/error.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     SYSTEM_ERROR,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SystemError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `resp`
[INFO] [stdout]   --> src/controller/user_controller.rs:12:42
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub async fn get_user(req: &mut Request, resp: &mut Response) -> Result<ResultVo<Option<user::UserVo>>> {
[INFO] [stdout]    |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_resp`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `resp`
[INFO] [stdout]   --> src/controller/user_controller.rs:23:42
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub async fn add_user(req: &mut Request, resp: &mut Response) -> Result<ResultVo<()>> {
[INFO] [stdout]    |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_resp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `resp`
[INFO] [stdout]   --> src/controller/user_controller.rs:33:25
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub async fn test_error(resp: &mut Response) -> Result<ResultVo<String>> {
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_resp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/mapper/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let mut rbatis = Rbatis::new();
[INFO] [stdout]   |         ----^^^^^^
[INFO] [stdout]   |         |
[INFO] [stdout]   |         help: remove this `mut`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]  --> src/config/log.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn init_log(config: &AppConfig) {
[INFO] [stdout]   |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/error.rs:34:30
[INFO] [stdout]    |
[INFO] [stdout] 34 |     async fn write(mut self, req: &mut Request, depot: &mut Depot, res: &mut Response) {
[INFO] [stdout]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/error.rs:34:49
[INFO] [stdout]    |
[INFO] [stdout] 34 |     async fn write(mut self, req: &mut Request, depot: &mut Depot, res: &mut Response) {
[INFO] [stdout]    |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/error.rs:41:30
[INFO] [stdout]    |
[INFO] [stdout] 41 |     async fn write(mut self, req: &mut Request, depot: &mut Depot, res: &mut Response) {
[INFO] [stdout]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/error.rs:41:49
[INFO] [stdout]    |
[INFO] [stdout] 41 |     async fn write(mut self, req: &mut Request, depot: &mut Depot, res: &mut Response) {
[INFO] [stdout]    |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/error.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn from(args: &dyn std::error::Error) -> Self {
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/error.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |             _ => CustomError::from(500, "系统异常"),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/error.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |             ErrorCode::PARAM_MISS => CustomError::from(1000, "参数错误"),
[INFO] [stdout]    |             --------------------- matches some of the same values
[INFO] [stdout] 93 |             ErrorCode::DB_OPERA_ERROR => CustomError::from(1001, "DB操作失败"),
[INFO] [stdout]    |             ------------------------- matches some of the same values
[INFO] [stdout] 94 |             ErrorCode::REQUEST_PARSING_ERROR => CustomError::from(1002, "请求参数解析失败"),
[INFO] [stdout]    |             -------------------------------- matches some of the same values
[INFO] [stdout] 95 |             ErrorCode::SYSTEM_ERROR => CustomError::from(500, "系统异常"),
[INFO] [stdout]    |             ----------------------- matches some of the same values
[INFO] [stdout] 96 |             _ => CustomError::from(500, "系统异常"),
[INFO] [stdout]    |             ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_log_level` is never used
[INFO] [stdout]   --> src/config/log.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn get_log_level(level: &str) -> tracing::Level {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused closure that must be used
[INFO] [stdout]   --> src/entity/tables.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl_field_name_method!(User{id,nickname,password,username,create_time});
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: closures are lazy and do nothing unless called
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `impl_field_name_method` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/config/log.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | /     fast_log::init_split_log(
[INFO] [stdout] 13 | |         "/Users/xuweihong/logs/requests.log",
[INFO] [stdout] 14 | |         fast_log::consts::LogSize::MB(1),
[INFO] [stdout] 15 | |         fast_log::plugin::file_split::RollingType::KeepTime(std::time::Duration::from_secs(24 * 3600)),
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |         true,
[INFO] [stdout] 20 | |     );
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let _ = fast_log::init_split_log(
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::Level`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::Level;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rust_web_demo::domain::response::ResultVo`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rust_web_demo::domain::response::ResultVo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rust_web_demo::error::CustomError`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rust_web_demo::error::CustomError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing_subscriber::fmt::writer::MakeWriterExt`
[INFO] [stdout]  --> src/config/log.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use tracing_subscriber::fmt::writer::MakeWriterExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `config::*`
[INFO] [stdout]  --> src/config/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use config::*;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `db_config::*`
[INFO] [stdout]  --> src/config/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use db_config::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/service/mod.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |           /// # futures
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 26 | /         let rbatis = futures::executor::block_on({
[INFO] [stdout] 27 | |             crate::mapper::init_rbatis(&config.db_config)
[INFO] [stdout] 28 | |         });
[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)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/service/mod.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | /         /// # async_std
[INFO] [stdout] 30 | |         /// let rbatis = async_std::task::block_on(async {
[INFO] [stdout] 31 | |         ///     crate::mapper::init_rbatis(&config.db_config).await
[INFO] [stdout] 32 | |         /// });
[INFO] [stdout]    | |_______________^
[INFO] [stdout] 33 | /         let context = ServiceContext {
[INFO] [stdout] 34 | |             rbatis:rbatis,
[INFO] [stdout] 35 | |             config:config,
[INFO] [stdout] 36 | |             user_service: UserService{},
[INFO] [stdout] 37 | |         };
[INFO] [stdout]    | |__________- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ErrorCode`
[INFO] [stdout]  --> src/domain/response/mod.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::error::{CustomError, ErrorCode, ErrorTrait};
[INFO] [stdout]   |                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display` and `Formatter`
[INFO] [stdout]  --> src/error.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::{Display, Formatter};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rbatis::Error`
[INFO] [stdout]  --> src/error.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rbatis::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PARAM_MISS` should have an upper camel case name
[INFO] [stdout]   --> src/error.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     PARAM_MISS,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `ParamMiss`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `DB_OPERA_ERROR` should have an upper camel case name
[INFO] [stdout]   --> src/error.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     DB_OPERA_ERROR,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DbOperaError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `REQUEST_PARSING_ERROR` should have an upper camel case name
[INFO] [stdout]   --> src/error.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     REQUEST_PARSING_ERROR,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RequestParsingError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SYSTEM_ERROR` should have an upper camel case name
[INFO] [stdout]   --> src/error.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     SYSTEM_ERROR,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SystemError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `resp`
[INFO] [stdout]   --> src/controller/user_controller.rs:12:42
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub async fn get_user(req: &mut Request, resp: &mut Response) -> Result<ResultVo<Option<user::UserVo>>> {
[INFO] [stdout]    |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_resp`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `resp`
[INFO] [stdout]   --> src/controller/user_controller.rs:23:42
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub async fn add_user(req: &mut Request, resp: &mut Response) -> Result<ResultVo<()>> {
[INFO] [stdout]    |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_resp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `resp`
[INFO] [stdout]   --> src/controller/user_controller.rs:33:25
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub async fn test_error(resp: &mut Response) -> Result<ResultVo<String>> {
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_resp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/mapper/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let mut rbatis = Rbatis::new();
[INFO] [stdout]   |         ----^^^^^^
[INFO] [stdout]   |         |
[INFO] [stdout]   |         help: remove this `mut`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]  --> src/config/log.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn init_log(config: &AppConfig) {
[INFO] [stdout]   |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/error.rs:34:30
[INFO] [stdout]    |
[INFO] [stdout] 34 |     async fn write(mut self, req: &mut Request, depot: &mut Depot, res: &mut Response) {
[INFO] [stdout]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/error.rs:34:49
[INFO] [stdout]    |
[INFO] [stdout] 34 |     async fn write(mut self, req: &mut Request, depot: &mut Depot, res: &mut Response) {
[INFO] [stdout]    |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/error.rs:41:30
[INFO] [stdout]    |
[INFO] [stdout] 41 |     async fn write(mut self, req: &mut Request, depot: &mut Depot, res: &mut Response) {
[INFO] [stdout]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/error.rs:41:49
[INFO] [stdout]    |
[INFO] [stdout] 41 |     async fn write(mut self, req: &mut Request, depot: &mut Depot, res: &mut Response) {
[INFO] [stdout]    |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/error.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn from(args: &dyn std::error::Error) -> Self {
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/error.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |             _ => CustomError::from(500, "系统异常"),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/error.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |             ErrorCode::PARAM_MISS => CustomError::from(1000, "参数错误"),
[INFO] [stdout]    |             --------------------- matches some of the same values
[INFO] [stdout] 93 |             ErrorCode::DB_OPERA_ERROR => CustomError::from(1001, "DB操作失败"),
[INFO] [stdout]    |             ------------------------- matches some of the same values
[INFO] [stdout] 94 |             ErrorCode::REQUEST_PARSING_ERROR => CustomError::from(1002, "请求参数解析失败"),
[INFO] [stdout]    |             -------------------------------- matches some of the same values
[INFO] [stdout] 95 |             ErrorCode::SYSTEM_ERROR => CustomError::from(500, "系统异常"),
[INFO] [stdout]    |             ----------------------- matches some of the same values
[INFO] [stdout] 96 |             _ => CustomError::from(500, "系统异常"),
[INFO] [stdout]    |             ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_log_level` is never used
[INFO] [stdout]   --> src/config/log.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn get_log_level(level: &str) -> tracing::Level {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused closure that must be used
[INFO] [stdout]   --> src/entity/tables.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl_field_name_method!(User{id,nickname,password,username,create_time});
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: closures are lazy and do nothing unless called
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `impl_field_name_method` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/config/log.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | /     fast_log::init_split_log(
[INFO] [stdout] 13 | |         "/Users/xuweihong/logs/requests.log",
[INFO] [stdout] 14 | |         fast_log::consts::LogSize::MB(1),
[INFO] [stdout] 15 | |         fast_log::plugin::file_split::RollingType::KeepTime(std::time::Duration::from_secs(24 * 3600)),
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |         true,
[INFO] [stdout] 20 | |     );
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let _ = fast_log::init_split_log(
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 5.72s
[INFO] running `Command { std: "docker" "inspect" "3d3a38e2dde952499f494766255f7690e541cc78940cadf515cd0741cdadaaef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3d3a38e2dde952499f494766255f7690e541cc78940cadf515cd0741cdadaaef", kill_on_drop: false }`
[INFO] [stdout] 3d3a38e2dde952499f494766255f7690e541cc78940cadf515cd0741cdadaaef
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+1.83.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 77091e4c2657ad43fd2718d3fd54e85f53c1f38b90f709453766a3b9eaef68cf
[INFO] running `Command { std: "docker" "start" "-a" "77091e4c2657ad43fd2718d3fd54e85f53c1f38b90f709453766a3b9eaef68cf", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `tracing_subscriber::fmt::writer::MakeWriterExt`
[INFO] [stderr]  --> src/config/log.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use tracing_subscriber::fmt::writer::MakeWriterExt;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `config::*`
[INFO] [stderr]  --> src/config/mod.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use config::*;
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `db_config::*`
[INFO] [stderr]  --> src/config/mod.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use db_config::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/service/mod.rs:25:9
[INFO] [stderr]    |
[INFO] [stderr] 25 |           /// # futures
[INFO] [stderr]    |           ^^^^^^^^^^^^^
[INFO] [stderr] 26 | /         let rbatis = futures::executor::block_on({
[INFO] [stderr] 27 | |             crate::mapper::init_rbatis(&config.db_config)
[INFO] [stderr] 28 | |         });
[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)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/service/mod.rs:29:9
[INFO] [stderr]    |
[INFO] [stderr] 29 | /         /// # async_std
[INFO] [stderr] 30 | |         /// let rbatis = async_std::task::block_on(async {
[INFO] [stderr] 31 | |         ///     crate::mapper::init_rbatis(&config.db_config).await
[INFO] [stderr] 32 | |         /// });
[INFO] [stderr]    | |_______________^
[INFO] [stderr] 33 | /         let context = ServiceContext {
[INFO] [stderr] 34 | |             rbatis:rbatis,
[INFO] [stderr] 35 | |             config:config,
[INFO] [stderr] 36 | |             user_service: UserService{},
[INFO] [stderr] 37 | |         };
[INFO] [stderr]    | |__________- rustdoc does not generate documentation for statements
[INFO] [stderr]    |
[INFO] [stderr]    = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ErrorCode`
[INFO] [stderr]  --> src/domain/response/mod.rs:4:33
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::error::{CustomError, ErrorCode, ErrorTrait};
[INFO] [stderr]   |                                 ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Display` and `Formatter`
[INFO] [stderr]  --> src/error.rs:1:16
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::fmt::{Display, Formatter};
[INFO] [stderr]   |                ^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rbatis::Error`
[INFO] [stderr]  --> src/error.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use rbatis::Error;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `PARAM_MISS` should have an upper camel case name
[INFO] [stderr]   --> src/error.rs:54:5
[INFO] [stderr]    |
[INFO] [stderr] 54 |     PARAM_MISS,
[INFO] [stderr]    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `ParamMiss`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `DB_OPERA_ERROR` should have an upper camel case name
[INFO] [stderr]   --> src/error.rs:55:5
[INFO] [stderr]    |
[INFO] [stderr] 55 |     DB_OPERA_ERROR,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DbOperaError`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `REQUEST_PARSING_ERROR` should have an upper camel case name
[INFO] [stderr]   --> src/error.rs:56:5
[INFO] [stderr]    |
[INFO] [stderr] 56 |     REQUEST_PARSING_ERROR,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RequestParsingError`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `SYSTEM_ERROR` should have an upper camel case name
[INFO] [stderr]   --> src/error.rs:57:5
[INFO] [stderr]    |
[INFO] [stderr] 57 |     SYSTEM_ERROR,
[INFO] [stderr]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SystemError`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `resp`
[INFO] [stderr]   --> src/controller/user_controller.rs:12:42
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub async fn get_user(req: &mut Request, resp: &mut Response) -> Result<ResultVo<Option<user::UserVo>>> {
[INFO] [stderr]    |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_resp`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `resp`
[INFO] [stderr]   --> src/controller/user_controller.rs:23:42
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub async fn add_user(req: &mut Request, resp: &mut Response) -> Result<ResultVo<()>> {
[INFO] [stderr]    |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_resp`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `resp`
[INFO] [stderr]   --> src/controller/user_controller.rs:33:25
[INFO] [stderr]    |
[INFO] [stderr] 33 | pub async fn test_error(resp: &mut Response) -> Result<ResultVo<String>> {
[INFO] [stderr]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_resp`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]  --> src/mapper/mod.rs:7:9
[INFO] [stderr]   |
[INFO] [stderr] 7 |     let mut rbatis = Rbatis::new();
[INFO] [stderr]   |         ----^^^^^^
[INFO] [stderr]   |         |
[INFO] [stderr]   |         help: remove this `mut`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `config`
[INFO] [stderr]  --> src/config/log.rs:5:17
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub fn init_log(config: &AppConfig) {
[INFO] [stderr]   |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `req`
[INFO] [stderr]   --> src/error.rs:34:30
[INFO] [stderr]    |
[INFO] [stderr] 34 |     async fn write(mut self, req: &mut Request, depot: &mut Depot, res: &mut Response) {
[INFO] [stderr]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `depot`
[INFO] [stderr]   --> src/error.rs:34:49
[INFO] [stderr]    |
[INFO] [stderr] 34 |     async fn write(mut self, req: &mut Request, depot: &mut Depot, res: &mut Response) {
[INFO] [stderr]    |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `req`
[INFO] [stderr]   --> src/error.rs:41:30
[INFO] [stderr]    |
[INFO] [stderr] 41 |     async fn write(mut self, req: &mut Request, depot: &mut Depot, res: &mut Response) {
[INFO] [stderr]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `depot`
[INFO] [stderr]   --> src/error.rs:41:49
[INFO] [stderr]    |
[INFO] [stderr] 41 |     async fn write(mut self, req: &mut Request, depot: &mut Depot, res: &mut Response) {
[INFO] [stderr]    |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `args`
[INFO] [stderr]   --> src/error.rs:67:13
[INFO] [stderr]    |
[INFO] [stderr] 67 |     fn from(args: &dyn std::error::Error) -> Self {
[INFO] [stderr]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]   --> src/error.rs:96:13
[INFO] [stderr]    |
[INFO] [stderr] 96 |             _ => CustomError::from(500, "系统异常"),
[INFO] [stderr]    |             ^ no value can reach this
[INFO] [stderr]    |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]   --> src/error.rs:96:13
[INFO] [stderr]    |
[INFO] [stderr] 92 |             ErrorCode::PARAM_MISS => CustomError::from(1000, "参数错误"),
[INFO] [stderr]    |             --------------------- matches some of the same values
[INFO] [stderr] 93 |             ErrorCode::DB_OPERA_ERROR => CustomError::from(1001, "DB操作失败"),
[INFO] [stderr]    |             ------------------------- matches some of the same values
[INFO] [stderr] 94 |             ErrorCode::REQUEST_PARSING_ERROR => CustomError::from(1002, "请求参数解析失败"),
[INFO] [stderr]    |             -------------------------------- matches some of the same values
[INFO] [stderr] 95 |             ErrorCode::SYSTEM_ERROR => CustomError::from(500, "系统异常"),
[INFO] [stderr]    |             ----------------------- matches some of the same values
[INFO] [stderr] 96 |             _ => CustomError::from(500, "系统异常"),
[INFO] [stderr]    |             ^ collectively making this unreachable
[INFO] [stderr]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_log_level` is never used
[INFO] [stderr]   --> src/config/log.rs:26:4
[INFO] [stderr]    |
[INFO] [stderr] 26 | fn get_log_level(level: &str) -> tracing::Level {
[INFO] [stderr]    |    ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused closure that must be used
[INFO] [stderr]   --> src/entity/tables.rs:25:1
[INFO] [stderr]    |
[INFO] [stderr] 25 | impl_field_name_method!(User{id,nickname,password,username,create_time});
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: closures are lazy and do nothing unless called
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]    = note: this warning originates in the macro `impl_field_name_method` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/config/log.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | /     fast_log::init_split_log(
[INFO] [stderr] 13 | |         "/Users/xuweihong/logs/requests.log",
[INFO] [stderr] 14 | |         fast_log::consts::LogSize::MB(1),
[INFO] [stderr] 15 | |         fast_log::plugin::file_split::RollingType::KeepTime(std::time::Duration::from_secs(24 * 3600)),
[INFO] [stderr] ...  |
[INFO] [stderr] 19 | |         true,
[INFO] [stderr] 20 | |     );
[INFO] [stderr]    | |_____^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 12 |     let _ = fast_log::init_split_log(
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `rust-web-demo` (lib) generated 26 warnings (run `cargo fix --lib -p rust-web-demo` to apply 7 suggestions)
[INFO] [stderr] warning: `rust-web-demo` (lib test) generated 26 warnings (26 duplicates)
[INFO] [stderr] warning: unused import: `tracing::Level`
[INFO] [stderr]  --> src/main.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use tracing::Level;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_web_demo::domain::response::ResultVo`
[INFO] [stderr]  --> src/main.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use rust_web_demo::domain::response::ResultVo;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_web_demo::error::CustomError`
[INFO] [stderr]  --> src/main.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use rust_web_demo::error::CustomError;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `rust-web-demo` (bin "rust-web-demo" test) generated 3 warnings (run `cargo fix --bin "rust-web-demo" --tests` to apply 3 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.35s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rust_web_demo-735a85ff42f7f511)
[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] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rust_web_demo-741e0d3b718dc62c)
[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] [stderr]    Doc-tests rust_web_demo
[INFO] [stderr] warning: variant `PARAM_MISS` should have an upper camel case name
[INFO] [stderr]   --> src/error.rs:54:5
[INFO] [stderr]    |
[INFO] [stderr] 54 |     PARAM_MISS,
[INFO] [stderr]    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `ParamMiss`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `DB_OPERA_ERROR` should have an upper camel case name
[INFO] [stderr]   --> src/error.rs:55:5
[INFO] [stderr]    |
[INFO] [stderr] 55 |     DB_OPERA_ERROR,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DbOperaError`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `REQUEST_PARSING_ERROR` should have an upper camel case name
[INFO] [stderr]   --> src/error.rs:56:5
[INFO] [stderr]    |
[INFO] [stderr] 56 |     REQUEST_PARSING_ERROR,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RequestParsingError`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `SYSTEM_ERROR` should have an upper camel case name
[INFO] [stderr]   --> src/error.rs:57:5
[INFO] [stderr]    |
[INFO] [stderr] 57 |     SYSTEM_ERROR,
[INFO] [stderr]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SystemError`
[INFO] [stderr] 
[INFO] [stderr] warning: 4 warnings emitted
[INFO] [stderr] 
[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" "77091e4c2657ad43fd2718d3fd54e85f53c1f38b90f709453766a3b9eaef68cf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "77091e4c2657ad43fd2718d3fd54e85f53c1f38b90f709453766a3b9eaef68cf", kill_on_drop: false }`
[INFO] [stdout] 77091e4c2657ad43fd2718d3fd54e85f53c1f38b90f709453766a3b9eaef68cf
