[INFO] cloning repository https://github.com/Abel-Co/SeaFile
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Abel-Co/SeaFile" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAbel-Co%2FSeaFile", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAbel-Co%2FSeaFile'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c04a8081d84522bb702d2830a3cff532a98699d7
[INFO] testing Abel-Co/SeaFile against 1.99.0-beta.8 for beta-1.100-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAbel-Co%2FSeaFile" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Abel-Co/SeaFile
[INFO] removed 0 missing tests
[INFO] finished tweaking git repo https://github.com/Abel-Co/SeaFile
[INFO] tweaked toml for git repo https://github.com/Abel-Co/SeaFile written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Abel-Co/SeaFile on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Abel-Co/SeaFile 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.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded validator_types v0.16.0
[INFO] [stderr]   Downloaded validator_derive v0.16.0
[INFO] [stderr]   Downloaded if_chain v1.0.2
[INFO] [stderr]   Downloaded validator v0.16.0
[INFO] [stderr]   Downloaded unicode-ident v1.0.3
[INFO] [stderr]   Downloaded futures-sink v0.3.23
[INFO] [stderr]   Downloaded bytes v1.2.1
[INFO] [stderr]   Downloaded serde_bytes v0.11.7
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.82
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.32
[INFO] [stderr]   Downloaded futures-task v0.3.23
[INFO] [stderr]   Downloaded futures-macro v0.3.23
[INFO] [stderr]   Downloaded futures-io v0.3.23
[INFO] [stderr]   Downloaded sha-1 v0.10.0
[INFO] [stderr]   Downloaded cpufeatures v0.2.4
[INFO] [stderr]   Downloaded tokio-macros v1.8.0
[INFO] [stderr]   Downloaded android_system_properties v0.1.4
[INFO] [stderr]   Downloaded pest_derive v2.3.0
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.82
[INFO] [stderr]   Downloaded thiserror-impl v1.0.32
[INFO] [stderr]   Downloaded pest_generator v2.3.0
[INFO] [stderr]   Downloaded generic-array v0.14.6
[INFO] [stderr]   Downloaded rbatis-macro-driver v3.1.3
[INFO] [stderr]   Downloaded tracing-attributes v0.1.22
[INFO] [stderr]   Downloaded cipher v0.4.3
[INFO] [stderr]   Downloaded sqlx-rt v0.5.13
[INFO] [stderr]   Downloaded fastrand v1.8.0
[INFO] [stderr]   Downloaded cache-padded v1.2.0
[INFO] [stderr]   Downloaded async-executor v1.4.1
[INFO] [stderr]   Downloaded md-5 v0.10.1
[INFO] [stderr]   Downloaded time-macros v0.2.4
[INFO] [stderr]   Downloaded pem v1.1.0
[INFO] [stderr]   Downloaded jobserver v0.1.24
[INFO] [stderr]   Downloaded hyper-rustls v0.23.0
[INFO] [stderr]   Downloaded httparse v1.7.1
[INFO] [stderr]   Downloaded futures-core v0.3.23
[INFO] [stderr]   Downloaded slab v0.4.7
[INFO] [stderr]   Downloaded futures-channel v0.3.23
[INFO] [stderr]   Downloaded async-trait v0.1.57
[INFO] [stderr]   Downloaded iana-time-zone v0.1.46
[INFO] [stderr]   Downloaded rbatis_sql v3.0.26
[INFO] [stderr]   Downloaded rbatis_sql_macro v3.0.17
[INFO] [stderr]   Downloaded thiserror v1.0.32
[INFO] [stderr]   Downloaded pest_meta v2.3.0
[INFO] [stderr]   Downloaded rbatis-core v3.1.11
[INFO] [stderr]   Downloaded proc-macro-hack v0.5.19
[INFO] [stderr]   Downloaded whoami v1.2.1
[INFO] [stderr]   Downloaded gloo-timers v0.2.4
[INFO] [stderr]   Downloaded blocking v1.2.0
[INFO] [stderr]   Downloaded async-task v4.3.0
[INFO] [stderr]   Downloaded async-channel v1.7.1
[INFO] [stderr]   Downloaded wepoll-ffi v0.1.2
[INFO] [stderr]   Downloaded async-lock v2.5.0
[INFO] [stderr]   Downloaded async-global-executor v2.2.0
[INFO] [stderr]   Downloaded async-rustls v0.2.0
[INFO] [stderr]   Downloaded sqlformat v0.1.8
[INFO] [stderr]   Downloaded either v1.8.0
[INFO] [stderr]   Downloaded paste v1.0.8
[INFO] [stderr]   Downloaded hashlink v0.7.0
[INFO] [stderr]   Downloaded crossbeam-queue v0.3.6
[INFO] [stderr]   Downloaded bigdecimal v0.2.2
[INFO] [stderr]   Downloaded ipnetwork v0.17.0
[INFO] [stderr]   Downloaded time v0.3.13
[INFO] [stderr]   Downloaded zeroize v1.5.7
[INFO] [stderr]   Downloaded local-channel v0.1.3
[INFO] [stderr]   Downloaded actix-web-lab-derive v0.19.0
[INFO] [stderr]   Downloaded firestorm v0.5.1
[INFO] [stderr]   Downloaded actix-utils v3.0.0
[INFO] [stderr]   Downloaded actix-macros v0.2.3
[INFO] [stderr]   Downloaded sha1 v0.10.1
[INFO] [stderr]   Downloaded alloc-stdlib v0.2.1
[INFO] [stderr]   Downloaded actix-codec v0.5.0
[INFO] [stderr]   Downloaded http-range v0.1.5
[INFO] [stderr]   Downloaded askama_escape v0.10.3
[INFO] [stderr]   Downloaded unicode-bidi v0.3.8
[INFO] [stderr]   Downloaded pin-project-lite v0.2.9
[INFO] [stderr]   Downloaded parking_lot_core v0.9.3
[INFO] [stderr]   Downloaded smallvec v1.9.0
[INFO] [stderr]   Downloaded value-bag v1.8.0
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.82
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.82
[INFO] [stderr]   Downloaded tokio-rustls v0.23.4
[INFO] [stderr]   Downloaded rustls-pemfile v1.0.1
[INFO] [stderr]   Downloaded ucd-trie v0.1.4
[INFO] [stderr]   Downloaded stringprep v0.1.2
[INFO] [stderr]   Downloaded crossbeam-utils v0.8.11
[INFO] [stderr]   Downloaded async-process v1.5.0
[INFO] [stderr]   Downloaded concurrent-queue v1.2.4
[INFO] [stderr]   Downloaded async-io v1.8.0
[INFO] [stderr]   Downloaded polling v2.3.0
[INFO] [stderr]   Downloaded atoi v0.4.0
[INFO] [stderr]   Downloaded kqueue v1.0.6
[INFO] [stderr]   Downloaded kqueue-sys v1.0.3
[INFO] [stderr]   Downloaded thread-id v4.0.0
[INFO] [stderr]   Downloaded ordered-float v2.10.0
[INFO] [stderr]   Downloaded simple_asn1 v0.6.2
[INFO] [stderr]   Downloaded crc v3.0.0
[INFO] [stderr]   Downloaded crc-catalog v2.1.0
[INFO] [stderr]   Downloaded bcrypt v0.13.0
[INFO] [stderr]   Downloaded serde_html_form v0.2.4
[INFO] [stderr]   Downloaded local-waker v0.1.3
[INFO] [stderr]   Downloaded impl-more v0.1.6
[INFO] [stderr]   Downloaded bytestring v1.1.0
[INFO] [stderr]   Downloaded actix-service v2.0.2
[INFO] [stderr]   Downloaded alloc-no-stdlib v2.0.3
[INFO] [stderr]   Downloaded serde_yaml v0.9.14
[INFO] [stderr]   Downloaded tracing-core v0.1.29
[INFO] [stderr]   Downloaded html_parser v0.6.3
[INFO] [stderr]   Downloaded futures-lite v1.12.0
[INFO] [stderr]   Downloaded signal-hook v0.3.14
[INFO] [stderr]   Downloaded futures-executor v0.3.23
[INFO] [stderr]   Downloaded crossbeam-deque v0.8.2
[INFO] [stderr]   Downloaded crossbeam-epoch v0.9.13
[INFO] [stderr]   Downloaded semver v1.0.13
[INFO] [stderr]   Downloaded ahash v0.8.2
[INFO] [stderr]   Downloaded cookie v0.16.0
[INFO] [stderr]   Downloaded actix-web-codegen v4.2.2
[INFO] [stderr]   Downloaded actix-server v2.1.1
[INFO] [stderr]   Downloaded actix-rt v2.7.0
[INFO] [stderr]   Downloaded actix-files v0.6.2
[INFO] [stderr]   Downloaded serde_derive v1.0.144
[INFO] [stderr]   Downloaded unsafe-libyaml v0.2.4
[INFO] [stderr]   Downloaded bumpalo v3.11.0
[INFO] [stderr]   Downloaded tracing v0.1.36
[INFO] [stderr]   Downloaded rbson v2.0.5
[INFO] [stderr]   Downloaded futures-intrusive v0.4.0
[INFO] [stderr]   Downloaded rayon-core v1.10.2
[INFO] [stderr]   Downloaded anyhow v1.0.62
[INFO] [stderr]   Downloaded jsonwebtoken v8.1.1
[INFO] [stderr]   Downloaded actix-router v0.5.0
[INFO] [stderr]   Downloaded js-sys v0.3.59
[INFO] [stderr]   Downloaded http v0.2.8
[INFO] [stderr]   Downloaded tokio-util v0.7.3
[INFO] [stderr]   Downloaded pest v2.3.0
[INFO] [stderr]   Downloaded futures v0.3.23
[INFO] [stderr]   Downloaded log4rs v1.3.0
[INFO] [stderr]   Downloaded arc-swap v1.7.0
[INFO] [stderr]   Downloaded mediatype v0.19.18
[INFO] [stderr]   Downloaded nom v7.1.1
[INFO] [stderr]   Downloaded rust_decimal v1.26.1
[INFO] [stderr]   Downloaded crossbeam-channel v0.5.6
[INFO] [stderr]   Downloaded mio v0.8.4
[INFO] [stderr]   Downloaded reqwest v0.11.11
[INFO] [stderr]   Downloaded h2 v0.3.24
[INFO] [stderr]   Downloaded futures-util v0.3.23
[INFO] [stderr]   Downloaded rbatis v3.1.16
[INFO] [stderr]   Downloaded hyper v0.14.20
[INFO] [stderr]   Downloaded hkdf v0.12.3
[INFO] [stderr]   Downloaded aes v0.8.2
[INFO] [stderr]   Downloaded actix-http v3.6.0
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.82
[INFO] [stderr]   Downloaded webpki-roots v0.22.4
[INFO] [stderr]   Downloaded redis v0.25.2
[INFO] [stderr]   Downloaded webpki-roots v0.21.1
[INFO] [stderr]   Downloaded rustls v0.20.6
[INFO] [stderr]   Downloaded sqlx-core v0.5.13
[INFO] [stderr]   Downloaded rayon v1.6.1
[INFO] [stderr]   Downloaded actix-web-lab v0.19.2
[INFO] [stderr]   Downloaded brotli-decompressor v2.3.2
[INFO] [stderr]   Downloaded actix-web v4.5.1
[INFO] [stderr]   Downloaded tokio v1.26.0
[INFO] [stderr]   Downloaded web-sys v0.3.59
[INFO] [stderr]   Downloaded brotli v3.3.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 4d879da0791e8b2ae5bd2db13c8d51e83b2e59b3c40c6354bee1ed93ce23223b
[INFO] running `Command { std: "docker" "start" "4d879da0791e8b2ae5bd2db13c8d51e83b2e59b3c40c6354bee1ed93ce23223b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4d879da0791e8b2ae5bd2db13c8d51e83b2e59b3c40c6354bee1ed93ce23223b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4d879da0791e8b2ae5bd2db13c8d51e83b2e59b3c40c6354bee1ed93ce23223b" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4d879da0791e8b2ae5bd2db13c8d51e83b2e59b3c40c6354bee1ed93ce23223b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4d879da0791e8b2ae5bd2db13c8d51e83b2e59b3c40c6354bee1ed93ce23223b" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.78
[INFO] [stderr]    Compiling unicode-ident v1.0.3
[INFO] [stderr]    Compiling syn v1.0.99
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling serde_derive v1.0.144
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]    Compiling serde v1.0.144
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling once_cell v1.19.0
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling futures-core v0.3.23
[INFO] [stderr]    Compiling value-bag v1.8.0
[INFO] [stderr]    Compiling pin-project-lite v0.2.9
[INFO] [stderr]    Compiling itoa v1.0.3
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling futures-io v0.3.23
[INFO] [stderr]    Compiling typenum v1.15.0
[INFO] [stderr]    Compiling bytes v1.2.1
[INFO] [stderr]    Compiling smallvec v1.9.0
[INFO] [stderr]    Compiling ryu v1.0.11
[INFO] [stderr]    Compiling futures-sink v0.3.23
[INFO] [stderr]    Compiling parking_lot_core v0.9.3
[INFO] [stderr]    Compiling futures-channel v0.3.23
[INFO] [stderr]    Compiling generic-array v0.14.6
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling futures-task v0.3.23
[INFO] [stderr]    Compiling untrusted v0.7.1
[INFO] [stderr]    Compiling futures-util v0.3.23
[INFO] [stderr]    Compiling spin v0.5.2
[INFO] [stderr]    Compiling percent-encoding v2.1.0
[INFO] [stderr]    Compiling matches v0.1.9
[INFO] [stderr]    Compiling tinyvec_macros v0.1.0
[INFO] [stderr]    Compiling hashbrown v0.12.3
[INFO] [stderr]    Compiling tinyvec v1.6.0
[INFO] [stderr]    Compiling slab v0.4.7
[INFO] [stderr]    Compiling lock_api v0.4.7
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling tokio v1.26.0
[INFO] [stderr]    Compiling indexmap v1.9.1
[INFO] [stderr]    Compiling tracing-core v0.1.29
[INFO] [stderr]    Compiling form_urlencoded v1.0.1
[INFO] [stderr]    Compiling unicode-bidi v0.3.8
[INFO] [stderr]    Compiling base64 v0.13.0
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling serde_json v1.0.85
[INFO] [stderr]    Compiling subtle v2.4.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.11
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]    Compiling http v0.2.8
[INFO] [stderr]    Compiling parking v2.0.0
[INFO] [stderr]    Compiling unicode-normalization v0.1.21
[INFO] [stderr]    Compiling waker-fn v1.1.0
[INFO] [stderr]    Compiling cache-padded v1.2.0
[INFO] [stderr]    Compiling jobserver v0.1.24
[INFO] [stderr]    Compiling num_cpus v1.13.1
[INFO] [stderr]    Compiling socket2 v0.4.4
[INFO] [stderr]    Compiling signal-hook-registry v1.4.0
[INFO] [stderr]    Compiling getrandom v0.2.7
[INFO] [stderr]    Compiling fastrand v1.8.0
[INFO] [stderr]    Compiling cc v1.0.73
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]    Compiling idna v0.2.3
[INFO] [stderr]    Compiling ppv-lite86 v0.2.16
[INFO] [stderr]    Compiling futures-lite v1.12.0
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling concurrent-queue v1.2.4
[INFO] [stderr]    Compiling cpufeatures v0.2.4
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling polling v2.3.0
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling event-listener v2.5.3
[INFO] [stderr]    Compiling pkg-config v0.3.30
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling hashbrown v0.14.3
[INFO] [stderr]    Compiling equivalent v1.0.1
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]    Compiling async-io v1.8.0
[INFO] [stderr]    Compiling ahash v0.7.6
[INFO] [stderr]    Compiling httparse v1.7.1
[INFO] [stderr]    Compiling url v2.2.2
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling ucd-trie v0.1.4
[INFO] [stderr]    Compiling regex-syntax v0.6.27
[INFO] [stderr]    Compiling paste v1.0.8
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling zstd-sys v2.0.9+zstd.1.5.5
[INFO] [stderr]    Compiling async-task v4.3.0
[INFO] [stderr]    Compiling signal-hook v0.3.14
[INFO] [stderr]    Compiling async-channel v1.7.1
[INFO] [stderr]    Compiling bytestring v1.1.0
[INFO] [stderr]    Compiling async-process v1.5.0
[INFO] [stderr]    Compiling standback v0.2.17
[INFO] [stderr]    Compiling alloc-no-stdlib v2.0.3
[INFO] [stderr]    Compiling num_threads v0.1.6
[INFO] [stderr]    Compiling httpdate v1.0.2
[INFO] [stderr]    Compiling parking_lot_core v0.8.5
[INFO] [stderr]    Compiling atomic-waker v1.0.0
[INFO] [stderr]    Compiling time-macros v0.2.4
[INFO] [stderr]    Compiling iana-time-zone v0.1.46
[INFO] [stderr]    Compiling local-waker v0.1.3
[INFO] [stderr]    Compiling async-trait v0.1.57
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.2
[INFO] [stderr]    Compiling indexmap v2.2.5
[INFO] [stderr]    Compiling encoding_rs v0.8.31
[INFO] [stderr]    Compiling proc-macro-hack v0.5.19
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]    Compiling zstd-safe v7.0.0
[INFO] [stderr]    Compiling digest v0.10.3
[INFO] [stderr]    Compiling blocking v1.2.0
[INFO] [stderr]    Compiling alloc-stdlib v0.2.1
[INFO] [stderr]    Compiling async-executor v1.4.1
[INFO] [stderr]    Compiling async-lock v2.5.0
[INFO] [stderr]    Compiling memoffset v0.7.1
[INFO] [stderr]    Compiling num-bigint v0.3.3
[INFO] [stderr]    Compiling ahash v0.8.2
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]    Compiling instant v0.1.12
[INFO] [stderr]    Compiling mime v0.3.16
[INFO] [stderr]    Compiling firestorm v0.5.1
[INFO] [stderr]    Compiling adler v1.0.2
[INFO] [stderr]    Compiling miniz_oxide v0.5.3
[INFO] [stderr]    Compiling brotli-decompressor v2.3.2
[INFO] [stderr]    Compiling actix-utils v3.0.0
[INFO] [stderr]    Compiling inout v0.1.3
[INFO] [stderr]    Compiling actix-service v2.0.2
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.13
[INFO] [stderr]    Compiling cookie v0.16.0
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling rustls v0.20.6
[INFO] [stderr]    Compiling const_fn v0.4.9
[INFO] [stderr]    Compiling convert_case v0.4.0
[INFO] [stderr]    Compiling crossbeam-queue v0.3.6
[INFO] [stderr]    Compiling log v0.4.21
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling rust_decimal v1.26.1
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling flate2 v1.0.24
[INFO] [stderr]    Compiling cipher v0.4.3
[INFO] [stderr]    Compiling parking_lot v0.11.2
[INFO] [stderr]    Compiling nom v7.1.1
[INFO] [stderr]    Compiling regex v1.6.0
[INFO] [stderr]    Compiling sha1 v0.10.1
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling hashbrown v0.11.2
[INFO] [stderr]    Compiling socket2 v0.5.6
[INFO] [stderr]    Compiling time v0.3.13
[INFO] [stderr]    Compiling syn v2.0.52
[INFO] [stderr]    Compiling dirs-sys v0.3.7
[INFO] [stderr]    Compiling num-bigint v0.4.3
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling time v0.2.27
[INFO] [stderr]    Compiling bitflags v2.4.2
[INFO] [stderr]    Compiling language-tags v0.3.2
[INFO] [stderr]    Compiling unicode_categories v0.1.1
[INFO] [stderr]    Compiling base64 v0.21.0
[INFO] [stderr]    Compiling try-lock v0.2.3
[INFO] [stderr]    Compiling crc-catalog v1.1.1
[INFO] [stderr]    Compiling arrayvec v0.7.2
[INFO] [stderr]    Compiling crc v2.1.0
[INFO] [stderr]    Compiling hashlink v0.7.0
[INFO] [stderr]    Compiling brotli v3.3.4
[INFO] [stderr]    Compiling dirs v4.0.0
[INFO] [stderr]    Compiling hkdf v0.12.3
[INFO] [stderr]    Compiling mime_guess v2.0.4
[INFO] [stderr]    Compiling futures-intrusive v0.4.0
[INFO] [stderr]    Compiling sha-1 v0.10.0
[INFO] [stderr]    Compiling md-5 v0.10.1
[INFO] [stderr]    Compiling sha2 v0.10.2
[INFO] [stderr]    Compiling http-body v0.4.5
[INFO] [stderr]    Compiling atoi v0.4.0
[INFO] [stderr]    Compiling stringprep v0.1.2
[INFO] [stderr]    Compiling crossbeam-channel v0.5.6
[INFO] [stderr]    Compiling tower-service v0.3.2
[INFO] [stderr]    Compiling regex-automata v0.1.10
[INFO] [stderr]    Compiling destructure_traitobject v0.2.0
[INFO] [stderr]    Compiling whoami v1.2.1
[INFO] [stderr]    Compiling anyhow v1.0.62
[INFO] [stderr]    Compiling rayon-core v1.10.2
[INFO] [stderr]    Compiling unsafe-any-ors v1.0.0
[INFO] [stderr]    Compiling crossbeam-deque v0.8.2
[INFO] [stderr]    Compiling ordered-float v2.10.0
[INFO] [stderr]    Compiling csv-core v0.1.10
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling arc-swap v1.7.0
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.4
[INFO] [stderr]    Compiling itoa v0.4.8
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling if_chain v1.0.2
[INFO] [stderr]    Compiling inotify v0.9.6
[INFO] [stderr]    Compiling typemap-ors v1.0.0
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling blowfish v0.9.1
[INFO] [stderr]    Compiling filetime v0.2.23
[INFO] [stderr]    Compiling thread-id v4.0.0
[INFO] [stderr]    Compiling rustls-pemfile v1.0.1
[INFO] [stderr]    Compiling pem v1.1.0
[INFO] [stderr]    Compiling validator_types v0.16.0
[INFO] [stderr]    Compiling crc-catalog v2.1.0
[INFO] [stderr]    Compiling zeroize v1.5.7
[INFO] [stderr]    Compiling http-range v0.1.5
[INFO] [stderr]    Compiling sha1_smol v1.0.0
[INFO] [stderr]    Compiling mediatype v0.19.18
[INFO] [stderr]    Compiling log-mdc v0.1.0
[INFO] [stderr]    Compiling ipnet v2.5.0
[INFO] [stderr]    Compiling impl-more v0.1.6
[INFO] [stderr]    Compiling humantime v2.1.0
[INFO] [stderr]    Compiling askama_escape v0.10.3
[INFO] [stderr]    Compiling crc v3.0.0
[INFO] [stderr]    Compiling bcrypt v0.13.0
[INFO] [stderr]    Compiling aes v0.8.2
[INFO] [stderr]    Compiling ctr v0.9.2
[INFO] [stderr]    Compiling futures-macro v0.3.23
[INFO] [stderr]    Compiling tokio-macros v1.8.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.32
[INFO] [stderr]    Compiling tracing-attributes v0.1.22
[INFO] [stderr]    Compiling time-macros-impl v0.1.2
[INFO] [stderr]    Compiling derive_more v0.99.17
[INFO] [stderr]    Compiling actix-macros v0.2.3
[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 time-macros v0.1.1
[INFO] [stderr]    Compiling webpki-roots v0.21.1
[INFO] [stderr]    Compiling webpki-roots v0.22.4
[INFO] [stderr]    Compiling thiserror v1.0.32
[INFO] [stderr]    Compiling actix-web-lab-derive v0.19.0
[INFO] [stderr]    Compiling pest v2.3.0
[INFO] [stderr]    Compiling simple_asn1 v0.6.2
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling validator_derive v0.16.0
[INFO] [stderr]    Compiling pest_meta v2.3.0
[INFO] [stderr]    Compiling pest_generator v2.3.0
[INFO] [stderr]    Compiling pest_derive v2.3.0
[INFO] [stderr]    Compiling local-channel v0.1.3
[INFO] [stderr]    Compiling futures-executor v0.3.23
[INFO] [stderr]    Compiling futures v0.3.23
[INFO] [stderr]    Compiling zstd v0.13.0
[INFO] [stderr]    Compiling either v1.8.0
[INFO] [stderr]    Compiling chrono v0.4.35
[INFO] [stderr]    Compiling uuid v0.8.2
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling serde_bytes v0.11.7
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling bigdecimal v0.2.2
[INFO] [stderr]    Compiling bstr v0.2.17
[INFO] [stderr]    Compiling ipnetwork v0.17.0
[INFO] [stderr]    Compiling serde_html_form v0.2.4
[INFO] [stderr]    Compiling serde-value v0.7.0
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling itertools v0.11.0
[INFO] [stderr]    Compiling actix-router v0.5.0
[INFO] [stderr]    Compiling serde_yaml v0.9.14
[INFO] [stderr]    Compiling rayon v1.6.1
[INFO] [stderr]    Compiling mio v0.8.4
[INFO] [stderr]    Compiling tracing v0.1.36
[INFO] [stderr]    Compiling kv-log-macro v1.0.7
[INFO] [stderr]    Compiling rustls v0.19.1
[INFO] [stderr]    Compiling want v0.3.0
[INFO] [stderr]    Compiling csv v1.1.6
[INFO] [stderr]    Compiling jsonwebtoken v8.1.1
[INFO] [stderr]    Compiling async-global-executor v2.2.0
[INFO] [stderr]    Compiling html_parser v0.6.3
[INFO] [stderr]    Compiling actix-web-codegen v4.2.2
[INFO] [stderr]    Compiling sqlformat v0.1.8
[INFO] [stderr]    Compiling rbson v2.0.5
[INFO] [stderr]    Compiling validator v0.16.0
[INFO] [stderr]    Compiling notify v6.1.1
[INFO] [stderr]    Compiling async-std v1.12.0
[INFO] [stderr]    Compiling log4rs v1.3.0
[INFO] [stderr]    Compiling rbatis_sql_macro v3.0.17
[INFO] [stderr]    Compiling rbatis-macro-driver v3.1.3
[INFO] [stderr]    Compiling async-rustls v0.2.0
[INFO] [stderr]    Compiling rbatis_sql v3.0.26
[INFO] [stderr]    Compiling sqlx-rt v0.5.13
[INFO] [stderr]    Compiling sqlx-core v0.5.13
[INFO] [stderr]    Compiling tokio-util v0.7.3
[INFO] [stderr]    Compiling actix-rt v2.7.0
[INFO] [stderr]    Compiling tokio-rustls v0.23.4
[INFO] [stderr]    Compiling actix-server v2.1.1
[INFO] [stderr]    Compiling h2 v0.3.24
[INFO] [stderr]    Compiling actix-codec v0.5.0
[INFO] [stderr]    Compiling combine v4.6.6
[INFO] [stderr]    Compiling rbatis-core v3.1.11
[INFO] [stderr]    Compiling rbatis v3.1.16
[INFO] [stderr]    Compiling redis v0.25.2
[INFO] [stderr]    Compiling actix-http v3.6.0
[INFO] [stderr]    Compiling hyper v0.14.20
[INFO] [stderr]    Compiling actix-web v4.5.1
[INFO] [stderr]    Compiling hyper-rustls v0.23.0
[INFO] [stderr]    Compiling reqwest v0.11.11
[INFO] [stderr]    Compiling actix-web-lab v0.19.2
[INFO] [stderr]    Compiling actix-files v0.6.2
[INFO] [stderr]    Compiling seafile v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `redis::aio::MultiplexedConnection`
[INFO] [stdout]  --> src/module/cache/redis_service.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use redis::aio::MultiplexedConnection;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `redis::aio::Connection`: aio::Connection is deprecated. Use aio::MultiplexedConnection instead.
[INFO] [stdout]  --> src/module/cache/redis_service.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use redis::aio::Connection;
[INFO] [stdout]   |                 ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `redis::aio::Connection`: aio::Connection is deprecated. Use aio::MultiplexedConnection instead.
[INFO] [stdout]   --> src/module/cache/redis_service.rs:27:44
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub async fn get_conn(&self) -> Result<Connection> {
[INFO] [stdout]    |                                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `redis::Client::get_async_connection`: aio::Connection is deprecated. Use client::get_multiplexed_async_connection instead.
[INFO] [stdout]   --> src/module/cache/redis_service.rs:30:32
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let conn = self.client.get_async_connection().await;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]   --> src/module/cache/config.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn default() -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] ...
[INFO] [stdout] 37 |         Config{..Default::default()}
[INFO] [stdout]    |                  ------------------ recursive call site
[INFO] [stdout]    |
[INFO] [stdout]    = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout]    = note: `#[warn(unconditional_recursion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ICacheService` is never used
[INFO] [stdout]   --> src/module/cache/cache_service.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait ICacheService: Sync + Send + Debug {
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CacheService` is never constructed
[INFO] [stdout]   --> src/module/cache/cache_service.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct CacheService {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/module/cache/cache_service.rs:28:18
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl CacheService {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 28 |     pub async fn aaa(&self) {}
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 29 |     pub fn new(cfg: &Config) -> Result<Self> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub async fn set_string(&self, k: &str, v: &str) -> Result<String> {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub async fn get_string(&self, k: &str) -> Result<String> {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub async fn set_json<T>(&self, k: &str, v: &T) -> Result<String>
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub async fn get_json<T>(&self, k: &str) -> Result<T>
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub async fn set_string_ex(&self, k: &str, v: &str, ex: Option<Duration>) -> Result<String> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     pub async fn ttl(&self, k: &str) -> Result<i64> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RedisService` is never constructed
[INFO] [stdout]   --> src/module/cache/redis_service.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct RedisService {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_conn` are never used
[INFO] [stdout]   --> src/module/cache/redis_service.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl RedisService {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 20 |     pub fn new(url: &str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub async fn get_conn(&self) -> Result<Connection> {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Config` is never constructed
[INFO] [stdout]  --> src/module/cache/config.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Config {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_error_info` and `init_infos` are never used
[INFO] [stdout]   --> src/module/cache/config.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl Config {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] 42 |     pub fn get_error_info(&self, code: &str) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn init_infos(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/cache_service.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn set_string(&self, k: &str, v: &str) -> BoxFuture<Result<String>>;
[INFO] [stdout]    |                   ^^^^^                       ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn set_string(&self, k: &str, v: &str) -> BoxFuture<'_, Result<String>>;
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/cache_service.rs:16:19
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn get_string(&self, k: &str) -> BoxFuture<Result<String>>;
[INFO] [stdout]    |                   ^^^^^              ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn get_string(&self, k: &str) -> BoxFuture<'_, Result<String>>;
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/cache_service.rs:18:22
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn set_string_ex(&self, k: &str, v: &str, ex: Option<Duration>) -> BoxFuture<Result<String>>;
[INFO] [stdout]    |                      ^^^^^ the lifetime is elided here                 ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn set_string_ex(&self, k: &str, v: &str, ex: Option<Duration>) -> BoxFuture<'_, Result<String>>;
[INFO] [stdout]    |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/cache_service.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn ttl(&self, k: &str) -> BoxFuture<Result<i64>>;
[INFO] [stdout]    |            ^^^^^              ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn ttl(&self, k: &str) -> BoxFuture<'_, Result<i64>>;
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/mem_service.rs:45:19
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn set_string(&self, k: &str, v: &str) -> BoxFuture<Result<String>> {
[INFO] [stdout]    |                   ^^^^^                       ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn set_string(&self, k: &str, v: &str) -> BoxFuture<'_, Result<String>> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/mem_service.rs:56:19
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn get_string(&self, k: &str) -> BoxFuture<Result<String>> {
[INFO] [stdout]    |                   ^^^^^              ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn get_string(&self, k: &str) -> BoxFuture<'_, Result<String>> {
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/mem_service.rs:67:22
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn set_string_ex(&self, k: &str, v: &str, t: Option<Duration>) -> BoxFuture<Result<String>> {
[INFO] [stdout]    |                      ^^^^^ the lifetime is elided here                ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn set_string_ex(&self, k: &str, v: &str, t: Option<Duration>) -> BoxFuture<'_, Result<String>> {
[INFO] [stdout]    |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/mem_service.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn ttl(&self, k: &str) -> BoxFuture<Result<i64>> {
[INFO] [stdout]    |            ^^^^^              ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn ttl(&self, k: &str) -> BoxFuture<'_, Result<i64>> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/redis_service.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn set_string(&self, k: &str, v: &str) -> BoxFuture<Result<String>> {
[INFO] [stdout]    |                   ^^^^^                       ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn set_string(&self, k: &str, v: &str) -> BoxFuture<'_, Result<String>> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/redis_service.rs:49:19
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn get_string(&self, k: &str) -> BoxFuture<Result<String>> {
[INFO] [stdout]    |                   ^^^^^              ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn get_string(&self, k: &str) -> BoxFuture<'_, Result<String>> {
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/redis_service.rs:67:22
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn set_string_ex(&self, k: &str, v: &str, ex: Option<Duration>) -> BoxFuture<Result<String>> {
[INFO] [stdout]    |                      ^^^^^ the lifetime is elided here                 ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn set_string_ex(&self, k: &str, v: &str, ex: Option<Duration>) -> BoxFuture<'_, Result<String>> {
[INFO] [stdout]    |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/redis_service.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn ttl(&self, k: &str) -> BoxFuture<Result<i64>> {
[INFO] [stdout]    |            ^^^^^              ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn ttl(&self, k: &str) -> BoxFuture<'_, Result<i64>> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 07s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: redis v0.25.2, sqlx-core v0.5.13
[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" "4d879da0791e8b2ae5bd2db13c8d51e83b2e59b3c40c6354bee1ed93ce23223b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4d879da0791e8b2ae5bd2db13c8d51e83b2e59b3c40c6354bee1ed93ce23223b" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `redis::aio::MultiplexedConnection`
[INFO] [stdout]  --> src/module/cache/redis_service.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use redis::aio::MultiplexedConnection;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `redis::aio::Connection`: aio::Connection is deprecated. Use aio::MultiplexedConnection instead.
[INFO] [stdout]  --> src/module/cache/redis_service.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use redis::aio::Connection;
[INFO] [stdout]   |                 ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `redis::aio::Connection`: aio::Connection is deprecated. Use aio::MultiplexedConnection instead.
[INFO] [stdout]   --> src/module/cache/redis_service.rs:27:44
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub async fn get_conn(&self) -> Result<Connection> {
[INFO] [stdout]    |                                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `redis::Client::get_async_connection`: aio::Connection is deprecated. Use client::get_multiplexed_async_connection instead.
[INFO] [stdout]   --> src/module/cache/redis_service.rs:30:32
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let conn = self.client.get_async_connection().await;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]   --> src/module/cache/config.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn default() -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] ...
[INFO] [stdout] 37 |         Config{..Default::default()}
[INFO] [stdout]    |                  ------------------ recursive call site
[INFO] [stdout]    |
[INFO] [stdout]    = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout]    = note: `#[warn(unconditional_recursion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ICacheService` is never used
[INFO] [stdout]   --> src/module/cache/cache_service.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait ICacheService: Sync + Send + Debug {
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CacheService` is never constructed
[INFO] [stdout]   --> src/module/cache/cache_service.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct CacheService {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/module/cache/cache_service.rs:28:18
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl CacheService {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 28 |     pub async fn aaa(&self) {}
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 29 |     pub fn new(cfg: &Config) -> Result<Self> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub async fn set_string(&self, k: &str, v: &str) -> Result<String> {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub async fn get_string(&self, k: &str) -> Result<String> {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub async fn set_json<T>(&self, k: &str, v: &T) -> Result<String>
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub async fn get_json<T>(&self, k: &str) -> Result<T>
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub async fn set_string_ex(&self, k: &str, v: &str, ex: Option<Duration>) -> Result<String> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     pub async fn ttl(&self, k: &str) -> Result<i64> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RedisService` is never constructed
[INFO] [stdout]   --> src/module/cache/redis_service.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct RedisService {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_conn` are never used
[INFO] [stdout]   --> src/module/cache/redis_service.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl RedisService {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 20 |     pub fn new(url: &str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub async fn get_conn(&self) -> Result<Connection> {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling seafile v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: struct `Config` is never constructed
[INFO] [stdout]  --> src/module/cache/config.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Config {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_error_info` and `init_infos` are never used
[INFO] [stdout]   --> src/module/cache/config.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl Config {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] 42 |     pub fn get_error_info(&self, code: &str) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn init_infos(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/cache_service.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn set_string(&self, k: &str, v: &str) -> BoxFuture<Result<String>>;
[INFO] [stdout]    |                   ^^^^^                       ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn set_string(&self, k: &str, v: &str) -> BoxFuture<'_, Result<String>>;
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/cache_service.rs:16:19
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn get_string(&self, k: &str) -> BoxFuture<Result<String>>;
[INFO] [stdout]    |                   ^^^^^              ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn get_string(&self, k: &str) -> BoxFuture<'_, Result<String>>;
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/cache_service.rs:18:22
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn set_string_ex(&self, k: &str, v: &str, ex: Option<Duration>) -> BoxFuture<Result<String>>;
[INFO] [stdout]    |                      ^^^^^ the lifetime is elided here                 ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn set_string_ex(&self, k: &str, v: &str, ex: Option<Duration>) -> BoxFuture<'_, Result<String>>;
[INFO] [stdout]    |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/cache_service.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn ttl(&self, k: &str) -> BoxFuture<Result<i64>>;
[INFO] [stdout]    |            ^^^^^              ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn ttl(&self, k: &str) -> BoxFuture<'_, Result<i64>>;
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/mem_service.rs:45:19
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn set_string(&self, k: &str, v: &str) -> BoxFuture<Result<String>> {
[INFO] [stdout]    |                   ^^^^^                       ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn set_string(&self, k: &str, v: &str) -> BoxFuture<'_, Result<String>> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/mem_service.rs:56:19
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn get_string(&self, k: &str) -> BoxFuture<Result<String>> {
[INFO] [stdout]    |                   ^^^^^              ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn get_string(&self, k: &str) -> BoxFuture<'_, Result<String>> {
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/mem_service.rs:67:22
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn set_string_ex(&self, k: &str, v: &str, t: Option<Duration>) -> BoxFuture<Result<String>> {
[INFO] [stdout]    |                      ^^^^^ the lifetime is elided here                ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn set_string_ex(&self, k: &str, v: &str, t: Option<Duration>) -> BoxFuture<'_, Result<String>> {
[INFO] [stdout]    |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/mem_service.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn ttl(&self, k: &str) -> BoxFuture<Result<i64>> {
[INFO] [stdout]    |            ^^^^^              ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn ttl(&self, k: &str) -> BoxFuture<'_, Result<i64>> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/redis_service.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn set_string(&self, k: &str, v: &str) -> BoxFuture<Result<String>> {
[INFO] [stdout]    |                   ^^^^^                       ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn set_string(&self, k: &str, v: &str) -> BoxFuture<'_, Result<String>> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/redis_service.rs:49:19
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn get_string(&self, k: &str) -> BoxFuture<Result<String>> {
[INFO] [stdout]    |                   ^^^^^              ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn get_string(&self, k: &str) -> BoxFuture<'_, Result<String>> {
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/redis_service.rs:67:22
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn set_string_ex(&self, k: &str, v: &str, ex: Option<Duration>) -> BoxFuture<Result<String>> {
[INFO] [stdout]    |                      ^^^^^ the lifetime is elided here                 ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn set_string_ex(&self, k: &str, v: &str, ex: Option<Duration>) -> BoxFuture<'_, Result<String>> {
[INFO] [stdout]    |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/redis_service.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn ttl(&self, k: &str) -> BoxFuture<Result<i64>> {
[INFO] [stdout]    |            ^^^^^              ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn ttl(&self, k: &str) -> BoxFuture<'_, Result<i64>> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `aes` and `unaes`
[INFO] [stdout]   --> src/module/utils/encryption.rs:57:44
[INFO] [stdout]    |
[INFO] [stdout] 57 |     use crate::module::utils::encryption::{aes, unaes};
[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: `redis::aio::MultiplexedConnection`
[INFO] [stdout]  --> src/module/cache/redis_service.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use redis::aio::MultiplexedConnection;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `redis::aio::Connection`: aio::Connection is deprecated. Use aio::MultiplexedConnection instead.
[INFO] [stdout]  --> src/module/cache/redis_service.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use redis::aio::Connection;
[INFO] [stdout]   |                 ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `redis::aio::Connection`: aio::Connection is deprecated. Use aio::MultiplexedConnection instead.
[INFO] [stdout]   --> src/module/cache/redis_service.rs:27:44
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub async fn get_conn(&self) -> Result<Connection> {
[INFO] [stdout]    |                                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `redis::Client::get_async_connection`: aio::Connection is deprecated. Use client::get_multiplexed_async_connection instead.
[INFO] [stdout]   --> src/module/cache/redis_service.rs:30:32
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let conn = self.client.get_async_connection().await;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]   --> src/module/cache/config.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn default() -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] ...
[INFO] [stdout] 37 |         Config{..Default::default()}
[INFO] [stdout]    |                  ------------------ recursive call site
[INFO] [stdout]    |
[INFO] [stdout]    = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout]    = note: `#[warn(unconditional_recursion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ICacheService` is never used
[INFO] [stdout]   --> src/module/cache/cache_service.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait ICacheService: Sync + Send + Debug {
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CacheService` is never constructed
[INFO] [stdout]   --> src/module/cache/cache_service.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct CacheService {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/module/cache/cache_service.rs:28:18
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl CacheService {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 28 |     pub async fn aaa(&self) {}
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 29 |     pub fn new(cfg: &Config) -> Result<Self> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub async fn set_string(&self, k: &str, v: &str) -> Result<String> {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub async fn get_string(&self, k: &str) -> Result<String> {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub async fn set_json<T>(&self, k: &str, v: &T) -> Result<String>
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub async fn get_json<T>(&self, k: &str) -> Result<T>
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub async fn set_string_ex(&self, k: &str, v: &str, ex: Option<Duration>) -> Result<String> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     pub async fn ttl(&self, k: &str) -> Result<i64> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RedisService` is never constructed
[INFO] [stdout]   --> src/module/cache/redis_service.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct RedisService {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_conn` are never used
[INFO] [stdout]   --> src/module/cache/redis_service.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl RedisService {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 20 |     pub fn new(url: &str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub async fn get_conn(&self) -> Result<Connection> {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Config` is never constructed
[INFO] [stdout]  --> src/module/cache/config.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Config {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_error_info` and `init_infos` are never used
[INFO] [stdout]   --> src/module/cache/config.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl Config {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] 42 |     pub fn get_error_info(&self, code: &str) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn init_infos(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/cache_service.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn set_string(&self, k: &str, v: &str) -> BoxFuture<Result<String>>;
[INFO] [stdout]    |                   ^^^^^                       ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn set_string(&self, k: &str, v: &str) -> BoxFuture<'_, Result<String>>;
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/cache_service.rs:16:19
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn get_string(&self, k: &str) -> BoxFuture<Result<String>>;
[INFO] [stdout]    |                   ^^^^^              ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn get_string(&self, k: &str) -> BoxFuture<'_, Result<String>>;
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/cache_service.rs:18:22
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn set_string_ex(&self, k: &str, v: &str, ex: Option<Duration>) -> BoxFuture<Result<String>>;
[INFO] [stdout]    |                      ^^^^^ the lifetime is elided here                 ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn set_string_ex(&self, k: &str, v: &str, ex: Option<Duration>) -> BoxFuture<'_, Result<String>>;
[INFO] [stdout]    |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/cache_service.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn ttl(&self, k: &str) -> BoxFuture<Result<i64>>;
[INFO] [stdout]    |            ^^^^^              ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn ttl(&self, k: &str) -> BoxFuture<'_, Result<i64>>;
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/mem_service.rs:45:19
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn set_string(&self, k: &str, v: &str) -> BoxFuture<Result<String>> {
[INFO] [stdout]    |                   ^^^^^                       ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn set_string(&self, k: &str, v: &str) -> BoxFuture<'_, Result<String>> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/mem_service.rs:56:19
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn get_string(&self, k: &str) -> BoxFuture<Result<String>> {
[INFO] [stdout]    |                   ^^^^^              ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn get_string(&self, k: &str) -> BoxFuture<'_, Result<String>> {
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/mem_service.rs:67:22
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn set_string_ex(&self, k: &str, v: &str, t: Option<Duration>) -> BoxFuture<Result<String>> {
[INFO] [stdout]    |                      ^^^^^ the lifetime is elided here                ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn set_string_ex(&self, k: &str, v: &str, t: Option<Duration>) -> BoxFuture<'_, Result<String>> {
[INFO] [stdout]    |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/mem_service.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn ttl(&self, k: &str) -> BoxFuture<Result<i64>> {
[INFO] [stdout]    |            ^^^^^              ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn ttl(&self, k: &str) -> BoxFuture<'_, Result<i64>> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/redis_service.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn set_string(&self, k: &str, v: &str) -> BoxFuture<Result<String>> {
[INFO] [stdout]    |                   ^^^^^                       ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn set_string(&self, k: &str, v: &str) -> BoxFuture<'_, Result<String>> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/redis_service.rs:49:19
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn get_string(&self, k: &str) -> BoxFuture<Result<String>> {
[INFO] [stdout]    |                   ^^^^^              ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn get_string(&self, k: &str) -> BoxFuture<'_, Result<String>> {
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/redis_service.rs:67:22
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn set_string_ex(&self, k: &str, v: &str, ex: Option<Duration>) -> BoxFuture<Result<String>> {
[INFO] [stdout]    |                      ^^^^^ the lifetime is elided here                 ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn set_string_ex(&self, k: &str, v: &str, ex: Option<Duration>) -> BoxFuture<'_, Result<String>> {
[INFO] [stdout]    |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/module/cache/redis_service.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn ttl(&self, k: &str) -> BoxFuture<Result<i64>> {
[INFO] [stdout]    |            ^^^^^              ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn ttl(&self, k: &str) -> BoxFuture<'_, Result<i64>> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 5.00s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: redis v0.25.2, sqlx-core v0.5.13
[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" "4d879da0791e8b2ae5bd2db13c8d51e83b2e59b3c40c6354bee1ed93ce23223b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4d879da0791e8b2ae5bd2db13c8d51e83b2e59b3c40c6354bee1ed93ce23223b" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `redis::aio::MultiplexedConnection`
[INFO] [stderr]  --> src/module/cache/redis_service.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use redis::aio::MultiplexedConnection;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated struct `redis::aio::Connection`: aio::Connection is deprecated. Use aio::MultiplexedConnection instead.
[INFO] [stderr]  --> src/module/cache/redis_service.rs:5:17
[INFO] [stderr]   |
[INFO] [stderr] 5 | use redis::aio::Connection;
[INFO] [stderr]   |                 ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated struct `redis::aio::Connection`: aio::Connection is deprecated. Use aio::MultiplexedConnection instead.
[INFO] [stderr]   --> src/module/cache/redis_service.rs:27:44
[INFO] [stderr]    |
[INFO] [stderr] 27 |     pub async fn get_conn(&self) -> Result<Connection> {
[INFO] [stderr]    |                                            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `redis::Client::get_async_connection`: aio::Connection is deprecated. Use client::get_multiplexed_async_connection instead.
[INFO] [stderr]   --> src/module/cache/redis_service.rs:30:32
[INFO] [stderr]    |
[INFO] [stderr] 30 |         let conn = self.client.get_async_connection().await;
[INFO] [stderr]    |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function cannot return without recursing
[INFO] [stderr]   --> src/module/cache/config.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 |     fn default() -> Self {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stderr] ...
[INFO] [stderr] 37 |         Config{..Default::default()}
[INFO] [stderr]    |                  ------------------ recursive call site
[INFO] [stderr]    |
[INFO] [stderr]    = help: a `loop` may express intention better if this is on purpose
[INFO] [stderr]    = note: `#[warn(unconditional_recursion)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait `ICacheService` is never used
[INFO] [stderr]   --> src/module/cache/cache_service.rs:13:11
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub trait ICacheService: Sync + Send + Debug {
[INFO] [stderr]    |           ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `CacheService` is never constructed
[INFO] [stderr]   --> src/module/cache/cache_service.rs:23:12
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub struct CacheService {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]   --> src/module/cache/cache_service.rs:28:18
[INFO] [stderr]    |
[INFO] [stderr] 27 | impl CacheService {
[INFO] [stderr]    | ----------------- associated items in this implementation
[INFO] [stderr] 28 |     pub async fn aaa(&self) {}
[INFO] [stderr]    |                  ^^^
[INFO] [stderr] 29 |     pub fn new(cfg: &Config) -> Result<Self> {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 52 |     pub async fn set_string(&self, k: &str, v: &str) -> Result<String> {
[INFO] [stderr]    |                  ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 56 |     pub async fn get_string(&self, k: &str) -> Result<String> {
[INFO] [stderr]    |                  ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 60 |     pub async fn set_json<T>(&self, k: &str, v: &T) -> Result<String>
[INFO] [stderr]    |                  ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 75 |     pub async fn get_json<T>(&self, k: &str) -> Result<T>
[INFO] [stderr]    |                  ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 93 |     pub async fn set_string_ex(&self, k: &str, v: &str, ex: Option<Duration>) -> Result<String> {
[INFO] [stderr]    |                  ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 97 |     pub async fn ttl(&self, k: &str) -> Result<i64> {
[INFO] [stderr]    |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RedisService` is never constructed
[INFO] [stderr]   --> src/module/cache/redis_service.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub struct RedisService {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `get_conn` are never used
[INFO] [stderr]   --> src/module/cache/redis_service.rs:20:12
[INFO] [stderr]    |
[INFO] [stderr] 19 | impl RedisService {
[INFO] [stderr]    | ----------------- associated items in this implementation
[INFO] [stderr] 20 |     pub fn new(url: &str) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 27 |     pub async fn get_conn(&self) -> Result<Connection> {
[INFO] [stderr]    |                  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Config` is never constructed
[INFO] [stderr]  --> src/module/cache/config.rs:5:12
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct Config {
[INFO] [stderr]   |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_error_info` and `init_infos` are never used
[INFO] [stderr]   --> src/module/cache/config.rs:42:12
[INFO] [stderr]    |
[INFO] [stderr] 41 | impl Config {
[INFO] [stderr]    | ----------- methods in this implementation
[INFO] [stderr] 42 |     pub fn get_error_info(&self, code: &str) -> String {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 52 |     pub fn init_infos(&mut self) {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/module/cache/cache_service.rs:14:19
[INFO] [stderr]    |
[INFO] [stderr] 14 |     fn set_string(&self, k: &str, v: &str) -> BoxFuture<Result<String>>;
[INFO] [stderr]    |                   ^^^^^                       ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 14 |     fn set_string(&self, k: &str, v: &str) -> BoxFuture<'_, Result<String>>;
[INFO] [stderr]    |                                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/module/cache/cache_service.rs:16:19
[INFO] [stderr]    |
[INFO] [stderr] 16 |     fn get_string(&self, k: &str) -> BoxFuture<Result<String>>;
[INFO] [stderr]    |                   ^^^^^              ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 16 |     fn get_string(&self, k: &str) -> BoxFuture<'_, Result<String>>;
[INFO] [stderr]    |                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/module/cache/cache_service.rs:18:22
[INFO] [stderr]    |
[INFO] [stderr] 18 |     fn set_string_ex(&self, k: &str, v: &str, ex: Option<Duration>) -> BoxFuture<Result<String>>;
[INFO] [stderr]    |                      ^^^^^ the lifetime is elided here                 ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 18 |     fn set_string_ex(&self, k: &str, v: &str, ex: Option<Duration>) -> BoxFuture<'_, Result<String>>;
[INFO] [stderr]    |                                                                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/module/cache/cache_service.rs:20:12
[INFO] [stderr]    |
[INFO] [stderr] 20 |     fn ttl(&self, k: &str) -> BoxFuture<Result<i64>>;
[INFO] [stderr]    |            ^^^^^              ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |            |
[INFO] [stderr]    |            the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 20 |     fn ttl(&self, k: &str) -> BoxFuture<'_, Result<i64>>;
[INFO] [stderr]    |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/module/cache/mem_service.rs:45:19
[INFO] [stderr]    |
[INFO] [stderr] 45 |     fn set_string(&self, k: &str, v: &str) -> BoxFuture<Result<String>> {
[INFO] [stderr]    |                   ^^^^^                       ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 45 |     fn set_string(&self, k: &str, v: &str) -> BoxFuture<'_, Result<String>> {
[INFO] [stderr]    |                                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/module/cache/mem_service.rs:56:19
[INFO] [stderr]    |
[INFO] [stderr] 56 |     fn get_string(&self, k: &str) -> BoxFuture<Result<String>> {
[INFO] [stderr]    |                   ^^^^^              ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 56 |     fn get_string(&self, k: &str) -> BoxFuture<'_, Result<String>> {
[INFO] [stderr]    |                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/module/cache/mem_service.rs:67:22
[INFO] [stderr]    |
[INFO] [stderr] 67 |     fn set_string_ex(&self, k: &str, v: &str, t: Option<Duration>) -> BoxFuture<Result<String>> {
[INFO] [stderr]    |                      ^^^^^ the lifetime is elided here                ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 67 |     fn set_string_ex(&self, k: &str, v: &str, t: Option<Duration>) -> BoxFuture<'_, Result<String>> {
[INFO] [stderr]    |                                                                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/module/cache/mem_service.rs:82:12
[INFO] [stderr]    |
[INFO] [stderr] 82 |     fn ttl(&self, k: &str) -> BoxFuture<Result<i64>> {
[INFO] [stderr]    |            ^^^^^              ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |            |
[INFO] [stderr]    |            the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 82 |     fn ttl(&self, k: &str) -> BoxFuture<'_, Result<i64>> {
[INFO] [stderr]    |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/module/cache/redis_service.rs:41:19
[INFO] [stderr]    |
[INFO] [stderr] 41 |     fn set_string(&self, k: &str, v: &str) -> BoxFuture<Result<String>> {
[INFO] [stderr]    |                   ^^^^^                       ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 41 |     fn set_string(&self, k: &str, v: &str) -> BoxFuture<'_, Result<String>> {
[INFO] [stderr]    |                                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/module/cache/redis_service.rs:49:19
[INFO] [stderr]    |
[INFO] [stderr] 49 |     fn get_string(&self, k: &str) -> BoxFuture<Result<String>> {
[INFO] [stderr]    |                   ^^^^^              ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 49 |     fn get_string(&self, k: &str) -> BoxFuture<'_, Result<String>> {
[INFO] [stderr]    |                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/module/cache/redis_service.rs:67:22
[INFO] [stderr]    |
[INFO] [stderr] 67 |     fn set_string_ex(&self, k: &str, v: &str, ex: Option<Duration>) -> BoxFuture<Result<String>> {
[INFO] [stderr]    |                      ^^^^^ the lifetime is elided here                 ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 67 |     fn set_string_ex(&self, k: &str, v: &str, ex: Option<Duration>) -> BoxFuture<'_, Result<String>> {
[INFO] [stderr]    |                                                                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/module/cache/redis_service.rs:97:12
[INFO] [stderr]    |
[INFO] [stderr] 97 |     fn ttl(&self, k: &str) -> BoxFuture<Result<i64>> {
[INFO] [stderr]    |            ^^^^^              ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |            |
[INFO] [stderr]    |            the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 97 |     fn ttl(&self, k: &str) -> BoxFuture<'_, Result<i64>> {
[INFO] [stderr]    |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `aes` and `unaes`
[INFO] [stderr]   --> src/module/utils/encryption.rs:57:44
[INFO] [stderr]    |
[INFO] [stderr] 57 |     use crate::module::utils::encryption::{aes, unaes};
[INFO] [stderr]    |                                            ^^^  ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `redis::aio::MultiplexedConnection`
[INFO] [stderr]  --> src/module/cache/redis_service.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use redis::aio::MultiplexedConnection;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `seafile` (lib) generated 24 warnings (run `cargo fix --lib -p seafile` to apply 13 suggestions)
[INFO] [stderr] warning: `seafile` (lib test) generated 25 warnings (23 duplicates) (run `cargo fix --lib -p seafile --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.25s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: redis v0.25.2, sqlx-core v0.5.13
[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/lib.rs (/opt/rustwide/target/debug/deps/seafile-cd35cff4b622425e)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test module::utils::crc_utils::test_crc::crc_16 ... ok
[INFO] [stdout] test module::utils::crc_utils::test_crc::crc2 ... ok
[INFO] [stdout] test module::utils::crc_utils::test_crc::crc1 ... ok
[INFO] [stdout] test module::utils::crc_utils::test_crc::crc_64 ... ok
[INFO] [stdout] test module::utils::crc_utils::test_crc::crc_32 ... ok
[INFO] [stdout] test boot::c::ctx_mod_test::test_rbatis_pool ... ok
[INFO] [stdout] test boot::c::ctx_mod_test::test_rbatis_basic ... ok
[INFO] [stdout] test module::utils::random::random_test::test_random ... ok
[INFO] [stdout] test module::utils::encryption::test_encryption::test_the_new_aes_unaes ... ok
[INFO] [stdout] test module::utils::random::random_test::test_rang_pwd ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 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/seafile-fb563f229d3e4c4c)
[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 tests/lib.rs (/opt/rustwide/target/debug/deps/tests-96e2cf0e294e26b8)
[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 seafile
[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" "4d879da0791e8b2ae5bd2db13c8d51e83b2e59b3c40c6354bee1ed93ce23223b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4d879da0791e8b2ae5bd2db13c8d51e83b2e59b3c40c6354bee1ed93ce23223b", kill_on_drop: false }`
[INFO] [stdout] 4d879da0791e8b2ae5bd2db13c8d51e83b2e59b3c40c6354bee1ed93ce23223b
