[INFO] cloning repository https://github.com/wandoujia555/wdj_exam_backend [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/wandoujia555/wdj_exam_backend" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwandoujia555%2Fwdj_exam_backend", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwandoujia555%2Fwdj_exam_backend'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 194123e876899341a6e71133b94a0cf6b3e6a95a [INFO] testing wandoujia555/wdj_exam_backend against master#b03b3a7ec92682be2917540b679478d41c95a30c for pr-137122-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwandoujia555%2Fwdj_exam_backend" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/wandoujia555/wdj_exam_backend [INFO] finished tweaking git repo https://github.com/wandoujia555/wdj_exam_backend [INFO] tweaked toml for git repo https://github.com/wandoujia555/wdj_exam_backend written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/wandoujia555/wdj_exam_backend on toolchain b03b3a7ec92682be2917540b679478d41c95a30c [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b03b3a7ec92682be2917540b679478d41c95a30c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/wandoujia555/wdj_exam_backend 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" "+b03b3a7ec92682be2917540b679478d41c95a30c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded dubbo-config v0.1.0 [INFO] [stderr] Downloaded dubbo-build v0.2.0 [INFO] [stderr] Downloaded mysql-common-derive v0.32.0 [INFO] [stderr] Downloaded dubbo v0.1.0 [INFO] [stderr] Downloaded uuid v1.14.0 [INFO] [stderr] Downloaded mysql_common v0.34.1 [INFO] [stderr] Downloaded mysql_async v0.35.1 [INFO] [stderr] Downloaded redis v0.29.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+b03b3a7ec92682be2917540b679478d41c95a30c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c49fe23d92621fbe079a36c3875b5ed4c4ea48cb6302453a280e8ecabf0147d1 [INFO] running `Command { std: "docker" "start" "-a" "c49fe23d92621fbe079a36c3875b5ed4c4ea48cb6302453a280e8ecabf0147d1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c49fe23d92621fbe079a36c3875b5ed4c4ea48cb6302453a280e8ecabf0147d1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c49fe23d92621fbe079a36c3875b5ed4c4ea48cb6302453a280e8ecabf0147d1", kill_on_drop: false }` [INFO] [stdout] c49fe23d92621fbe079a36c3875b5ed4c4ea48cb6302453a280e8ecabf0147d1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+b03b3a7ec92682be2917540b679478d41c95a30c" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 43766ad2bf72968621d917d11545f33bde68467ca92297529016b0760f9b9383 [INFO] running `Command { std: "docker" "start" "-a" "43766ad2bf72968621d917d11545f33bde68467ca92297529016b0760f9b9383", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.93 [INFO] [stderr] Compiling unicode-ident v1.0.17 [INFO] [stderr] Compiling libc v0.2.170 [INFO] [stderr] Compiling autocfg v1.4.0 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling pin-project-lite v0.2.16 [INFO] [stderr] Compiling smallvec v1.14.0 [INFO] [stderr] Compiling bytes v1.10.0 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling log v0.4.26 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling itoa v1.0.14 [INFO] [stderr] Compiling futures-core v0.3.31 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling once_cell v1.20.3 [INFO] [stderr] Compiling futures-sink v0.3.31 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling futures-io v0.3.31 [INFO] [stderr] Compiling pkg-config v0.3.31 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling futures-task v0.3.31 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling tracing-core v0.1.33 [INFO] [stderr] Compiling foldhash v0.1.4 [INFO] [stderr] Compiling allocator-api2 v0.2.21 [INFO] [stderr] Compiling serde v1.0.218 [INFO] [stderr] Compiling stable_deref_trait v1.2.0 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling either v1.14.0 [INFO] [stderr] Compiling typenum v1.18.0 [INFO] [stderr] Compiling anyhow v1.0.96 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling ryu v1.0.19 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling percent-encoding v2.3.1 [INFO] [stderr] Compiling writeable v0.5.5 [INFO] [stderr] Compiling litemap v0.7.4 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling http v0.2.12 [INFO] [stderr] Compiling hashbrown v0.15.2 [INFO] [stderr] Compiling jobserver v0.1.32 [INFO] [stderr] Compiling socket2 v0.5.8 [INFO] [stderr] Compiling mio v1.0.3 [INFO] [stderr] Compiling signal-hook-registry v1.4.2 [INFO] [stderr] Compiling getrandom v0.2.15 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling parking_lot v0.12.3 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Compiling quote v1.0.38 [INFO] [stderr] Compiling cc v1.2.15 [INFO] [stderr] Compiling httparse v1.10.0 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling serde_json v1.0.139 [INFO] [stderr] Compiling indexmap v2.7.1 [INFO] [stderr] Compiling icu_locid_transform_data v1.5.0 [INFO] [stderr] Compiling syn v2.0.98 [INFO] [stderr] Compiling form_urlencoded v1.2.1 [INFO] [stderr] Compiling adler2 v2.0.0 [INFO] [stderr] Compiling icu_properties_data v1.5.0 [INFO] [stderr] Compiling miniz_oxide v0.8.5 [INFO] [stderr] Compiling crc32fast v1.4.2 [INFO] [stderr] Compiling write16 v1.0.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling zstd-safe v7.2.3 [INFO] [stderr] Compiling icu_normalizer_data v1.5.0 [INFO] [stderr] Compiling utf8_iter v1.0.4 [INFO] [stderr] Compiling bitflags v2.8.0 [INFO] [stderr] Compiling utf16_iter v1.0.5 [INFO] [stderr] Compiling tower-service v0.3.3 [INFO] [stderr] Compiling httpdate v1.0.3 [INFO] [stderr] Compiling http-body v0.4.6 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling base64 v0.22.1 [INFO] [stderr] Compiling mime v0.3.17 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling getrandom v0.3.1 [INFO] [stderr] Compiling cpufeatures v0.2.17 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling num-conv v0.1.0 [INFO] [stderr] Compiling rustix v1.0.2 [INFO] [stderr] Compiling time-core v0.1.2 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Compiling try-lock v0.2.5 [INFO] [stderr] Compiling time-macros v0.2.19 [INFO] [stderr] Compiling deranged v0.3.11 [INFO] [stderr] Compiling local-waker v0.1.4 [INFO] [stderr] Compiling hashbrown v0.12.3 [INFO] [stderr] Compiling linux-raw-sys v0.4.15 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling linux-raw-sys v0.9.2 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling tower-layer v0.3.3 [INFO] [stderr] Compiling alloc-no-stdlib v2.0.4 [INFO] [stderr] Compiling prettyplease v0.1.25 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling want v0.3.1 [INFO] [stderr] Compiling alloc-stdlib v0.2.2 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling libz-sys v1.1.21 [INFO] [stderr] Compiling zstd-sys v2.0.14+zstd.1.5.7 [INFO] [stderr] Compiling winnow v0.7.3 [INFO] [stderr] Compiling fixedbitset v0.4.2 [INFO] [stderr] Compiling time v0.3.37 [INFO] [stderr] Compiling thiserror v2.0.11 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling toml_datetime v0.6.8 [INFO] [stderr] Compiling regex-lite v0.1.6 [INFO] [stderr] Compiling flate2 v1.1.0 [INFO] [stderr] Compiling home v0.5.11 [INFO] [stderr] Compiling tempfile v3.18.0 [INFO] [stderr] Compiling which v4.4.2 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling petgraph v0.6.5 [INFO] [stderr] Compiling actix-service v2.0.2 [INFO] [stderr] Compiling brotli-decompressor v4.0.2 [INFO] [stderr] Compiling actix-utils v3.0.1 [INFO] [stderr] Compiling cmake v0.1.54 [INFO] [stderr] Compiling toml_edit v0.22.24 [INFO] [stderr] Compiling proc-macro-error-attr2 v2.0.0 [INFO] [stderr] Compiling bytestring v1.4.0 [INFO] [stderr] Compiling synstructure v0.13.1 [INFO] [stderr] Compiling darling_core v0.20.10 [INFO] [stderr] Compiling subprocess v0.2.9 [INFO] [stderr] Compiling cookie v0.16.2 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Compiling convert_case v0.4.0 [INFO] [stderr] Compiling multimap v0.8.3 [INFO] [stderr] Compiling http-range-header v0.3.1 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling brotli v6.0.0 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling proc-macro-error2 v2.0.1 [INFO] [stderr] Compiling ring v0.17.11 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling prost-derive v0.11.9 [INFO] [stderr] Compiling prost-derive v0.10.1 [INFO] [stderr] Compiling local-channel v0.1.5 [INFO] [stderr] Compiling mysql_common v0.34.1 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling overload v0.1.1 [INFO] [stderr] Compiling sync_wrapper v0.1.2 [INFO] [stderr] Compiling termcolor v1.4.1 [INFO] [stderr] Compiling unsafe-libyaml v0.2.11 [INFO] [stderr] Compiling matchit v0.5.0 [INFO] [stderr] Compiling language-tags v0.3.2 [INFO] [stderr] Compiling nu-ansi-term v0.46.0 [INFO] [stderr] Compiling proc-macro-crate v3.2.0 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling crossbeam-queue v0.3.12 [INFO] [stderr] Compiling crossbeam-channel v0.5.14 [INFO] [stderr] Compiling btoi v0.4.3 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling tracing-attributes v0.1.28 [INFO] [stderr] Compiling zerofrom-derive v0.1.5 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling yoke-derive v0.7.5 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling serde_derive v1.0.218 [INFO] [stderr] Compiling zerovec-derive v0.10.3 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling icu_provider_macros v1.5.0 [INFO] [stderr] Compiling tokio v1.43.0 [INFO] [stderr] Compiling pin-project-internal v1.1.9 [INFO] [stderr] Compiling prost v0.11.9 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling zerocopy v0.7.35 [INFO] [stderr] Compiling darling_macro v0.20.10 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling prost-types v0.11.9 [INFO] [stderr] Compiling async-trait v0.1.86 [INFO] [stderr] Compiling thiserror-impl v2.0.11 [INFO] [stderr] Compiling darling v0.20.10 [INFO] [stderr] Compiling actix-router v0.5.3 [INFO] [stderr] Compiling derive_more v0.99.19 [INFO] [stderr] Compiling zerofrom v0.1.5 [INFO] [stderr] Compiling ppv-lite86 v0.2.20 [INFO] [stderr] Compiling yoke v0.7.5 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling zerovec v0.10.4 [INFO] [stderr] Compiling prost v0.10.4 [INFO] [stderr] Compiling pin-project v1.1.9 [INFO] [stderr] Compiling tracing-futures v0.2.5 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling actix-web-codegen v4.3.0 [INFO] [stderr] Compiling actix-macros v0.2.4 [INFO] [stderr] Compiling sha2 v0.10.8 [INFO] [stderr] Compiling prost-build v0.11.9 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling mysql-common-derive v0.32.0 [INFO] [stderr] Compiling async-stream v0.3.6 [INFO] [stderr] Compiling pem v3.0.5 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling thread_local v1.1.8 [INFO] [stderr] Compiling saturating v0.1.0 [INFO] [stderr] Compiling impl-more v0.1.9 [INFO] [stderr] Compiling uuid v1.14.0 [INFO] [stderr] Compiling untrusted v0.9.0 [INFO] [stderr] Compiling base64 v0.13.1 [INFO] [stderr] Compiling simple_asn1 v0.6.3 [INFO] [stderr] Compiling tinystr v0.7.6 [INFO] [stderr] Compiling icu_locid v1.5.0 [INFO] [stderr] Compiling icu_collections v1.5.0 [INFO] [stderr] Compiling dubbo-build v0.2.0 [INFO] [stderr] Compiling crossbeam v0.8.4 [INFO] [stderr] Compiling keyed_priority_queue v0.4.2 [INFO] [stderr] Compiling lru v0.12.5 [INFO] [stderr] Compiling scheduled-thread-pool v0.2.7 [INFO] [stderr] Compiling tracing-subscriber v0.3.19 [INFO] [stderr] Compiling combine v4.6.7 [INFO] [stderr] Compiling twox-hash v2.1.0 [INFO] [stderr] Compiling icu_provider v1.5.0 [INFO] [stderr] Compiling axum-core v0.2.9 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling sha1_smol v1.0.1 [INFO] [stderr] Compiling iana-time-zone v0.1.61 [INFO] [stderr] Compiling icu_locid_transform v1.5.0 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling arc-swap v1.7.1 [INFO] [stderr] Compiling wdj_exam_back_front v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Compiling r2d2 v0.8.10 [INFO] [stderr] Compiling dotenv v0.15.0 [INFO] [stderr] Compiling tokio-util v0.7.13 [INFO] [stderr] Compiling actix-rt v2.10.0 [INFO] [stderr] Compiling tokio-io-timeout v1.2.0 [INFO] [stderr] Compiling icu_properties v1.5.1 [INFO] [stderr] Compiling tokio-stream v0.1.17 [INFO] [stderr] Compiling actix-server v2.5.0 [INFO] [stderr] Compiling h2 v0.3.26 [INFO] [stderr] Compiling tower v0.4.13 [INFO] [stderr] Compiling actix-codec v0.5.2 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling serde_yaml v0.9.34+deprecated [INFO] [stderr] Compiling chrono v0.4.39 [INFO] [stderr] Compiling zstd v0.13.3 [INFO] [stderr] Compiling jsonwebtoken v9.3.1 [INFO] [stderr] Compiling icu_normalizer v1.5.0 [INFO] [stderr] Compiling tower-http v0.3.5 [INFO] [stderr] Compiling dubbo-config v0.1.0 [INFO] [stderr] Compiling idna_adapter v1.2.0 [INFO] [stderr] Compiling idna v1.0.3 [INFO] [stderr] Compiling url v2.5.4 [INFO] [stderr] Compiling redis v0.29.0 [INFO] [stderr] Compiling mysql_async v0.35.1 [INFO] [stderr] Compiling hyper v0.14.32 [INFO] [stderr] Compiling actix-http v3.9.0 [INFO] [stderr] Compiling actix-web v4.9.0 [INFO] [stderr] Compiling axum v0.5.17 [INFO] [stderr] Compiling hyper-timeout v0.4.1 [INFO] [stderr] Compiling tonic v0.7.2 [INFO] [stderr] Compiling actix-cors v0.6.5 [INFO] [stderr] Compiling dubbo v0.1.0 [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/client/api/util.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HttpResponse`, `Responder`, and `web` [INFO] [stdout] --> src/client/main.rs:7:17 [INFO] [stdout] | [INFO] [stdout] 7 | use actix_web::{web, App, HttpResponse, HttpServer, Responder}; [INFO] [stdout] | ^^^ ^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `codegen::Request` and `triple::transport::router` [INFO] [stdout] --> src/client/main.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | use dubbo::{codegen::Request, triple::transport::router}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GreeterReply`, `GreeterRequest`, `LoginReply`, `LoginRequest`, and `greeter_client::GreeterClient` [INFO] [stdout] --> src/client/main.rs:9:14 [INFO] [stdout] | [INFO] [stdout] 9 | use protos::{greeter_client::GreeterClient, GreeterReply, GreeterRequest, LoginReply, LoginRequest}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::task` [INFO] [stdout] --> src/client/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use tokio::task; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Paper` and `self` [INFO] [stdout] --> src/client/routers/routers.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | self, authenticate, call_dubbo_service, get_answer_by_id, get_answer_by_question_id, get_answer_list_by_paper_id, get_paper_by_id... [INFO] [stdout] | ^^^^ [INFO] [stdout] 4 | }, [INFO] [stdout] 5 | protos::{AnswerListRequest, AnswerPaper, AnswerRequest, Paper, PaperUserInfoRequest, QuestionRequest, SetUserInfoRequest}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `App` and `HttpServer` [INFO] [stdout] --> src/client/routers/routers.rs:7:22 [INFO] [stdout] | [INFO] [stdout] 7 | use actix_web::{web, App, HttpResponse, HttpServer, Responder}; [INFO] [stdout] | ^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `prost::Message` [INFO] [stdout] --> src/client/routers/routers.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use prost::Message; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::to_string` [INFO] [stdout] --> src/client/routers/routers.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use serde_json::to_string; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `actix_web::HttpResponse` [INFO] [stdout] --> src/client/middleware/auth.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use actix_web::HttpResponse; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `actix_web::rt::task` [INFO] [stdout] --> src/server/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use actix_web::rt::task; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/server/main.rs:6:27 [INFO] [stdout] | [INFO] [stdout] 6 | use protos::login_reply::{self, Message}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `query_class_by_id` and `set_answer_by_user_id` [INFO] [stdout] --> src/server/main.rs:9:27 [INFO] [stdout] | [INFO] [stdout] 9 | get_user_exam_status, query_class_by_id, query_paper_by_id, query_paper_list_by_id, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | save_answer_by_user_id, set_answer_by_user_id, set_user_exam_status, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `authenticate as user_authenticate` [INFO] [stdout] --> src/server/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | authenticate as user_authenticate, query_student_by_code, query_teacher_by_code, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `env` and `result` [INFO] [stdout] --> src/server/main.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | use std::{env, result}; [INFO] [stdout] | ^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PaperRequest` and `Paper` [INFO] [stdout] --> src/server/main.rs:25:61 [INFO] [stdout] | [INFO] [stdout] 25 | GreeterReply, GreeterRequest, LoginReply, LoginRequest, Paper, PaperRequest, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::service` [INFO] [stdout] --> src/server/api/login.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::service; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Row` [INFO] [stdout] --> src/server/service/mysql.rs:2:37 [INFO] [stdout] | [INFO] [stdout] 2 | use mysql_async::{prelude::*, Pool, Row}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Pool` [INFO] [stdout] --> src/server/service/query/user.rs:8:31 [INFO] [stdout] | [INFO] [stdout] 8 | use mysql_async::{prelude::*, Pool, Row}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap` and `HashMap` [INFO] [stdout] --> src/server/service/query/paper.rs:1:24 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{BTreeMap, HashMap}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/server/service/query/paper.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> src/server/service/query/paper.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AnswerReply` and `QuestionType` [INFO] [stdout] --> src/server/service/query/paper.rs:9:51 [INFO] [stdout] | [INFO] [stdout] 9 | AnswerInfo, AnswerListReply, AnswerPaper, AnswerReply, Paper, PaperInfo, PaperInfoList, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 10 | PaperUserInfoReply, Question, QuestionList, QuestionReply, QuestionType, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `prost::Message` [INFO] [stdout] --> src/server/service/query/paper.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use prost::Message; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `REDIS_PAPER_KEY`, `get_string_by_key_redis`, and `set_string_by_key_redis` [INFO] [stdout] --> src/server/service/query/paper.rs:18:21 [INFO] [stdout] | [INFO] [stdout] 18 | use super::common::{get_string_by_key_redis, set_string_by_key_redis, REDIS_PAPER_KEY}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/server/service/query/common.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/server/main.rs:246:5 [INFO] [stdout] | [INFO] [stdout] 246 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cli` [INFO] [stdout] --> src/client/api/util.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let cli = &*CLIENT; // 共享并重用客户端 [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cli` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_login` [INFO] [stdout] --> src/client/routers/routers.rs:81:44 [INFO] [stdout] | [INFO] [stdout] 81 | Some(login_reply::Message::IsLogin(is_login)) => HttpResponse::Ok().json(false), [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_login` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `student_code` [INFO] [stdout] --> src/server/api/login.rs:4:27 [INFO] [stdout] | [INFO] [stdout] 4 | pub async fn authenticate(student_code:i32,password:String){ [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_student_code` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `password` [INFO] [stdout] --> src/server/api/login.rs:4:44 [INFO] [stdout] | [INFO] [stdout] 4 | pub async fn authenticate(student_code:i32,password:String){ [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_password` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `paper_result` [INFO] [stdout] --> src/server/service/query/paper.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | let paper_result = match result { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_paper_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function depends on never type fallback being `()` [INFO] [stdout] --> src/server/service/redis.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | fn is_valid(&self, conn: &mut Self::Connection) -> Result<(), Self::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: specify the types explicitly [INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail [INFO] [stdout] --> src/server/service/redis.rs:23:14 [INFO] [stdout] | [INFO] [stdout] 23 | conn.ping()?; [INFO] [stdout] | ^^^^ [INFO] [stdout] = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default [INFO] [stdout] help: use `()` annotations to avoid fallback changes [INFO] [stdout] | [INFO] [stdout] 23 | conn.ping::<()>()?; [INFO] [stdout] | ++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures_util::FutureExt` [INFO] [stdout] --> src/server/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use futures_util::FutureExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/client/middleware/auth.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_request` is never used [INFO] [stdout] --> src/client/api/util.rs:12:10 [INFO] [stdout] | [INFO] [stdout] 12 | async fn make_request() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_paper_by_id_with_answer` is never used [INFO] [stdout] --> src/client/api/util.rs:144:14 [INFO] [stdout] | [INFO] [stdout] 144 | pub async fn get_paper_by_id_with_answer() {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_answer_by_paper_and_user` is never used [INFO] [stdout] --> src/client/api/util.rs:147:14 [INFO] [stdout] | [INFO] [stdout] 147 | pub async fn get_answer_by_paper_and_user() {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_score_by_paper_and_user` is never used [INFO] [stdout] --> src/client/api/util.rs:150:14 [INFO] [stdout] | [INFO] [stdout] 150 | pub async fn get_score_by_paper_and_user() {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_comment_by_paper_and_user` is never used [INFO] [stdout] --> src/client/api/util.rs:153:14 [INFO] [stdout] | [INFO] [stdout] 153 | pub async fn get_comment_by_paper_and_user() {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/client/main.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | start_server(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 28 | let _ = start_server(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `answer_type` [INFO] [stdout] --> src/server/main.rs:121:13 [INFO] [stdout] | [INFO] [stdout] 121 | let answer_type = request.answer_type; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_answer_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/server/main.rs:132:20 [INFO] [stdout] | [INFO] [stdout] 132 | if let Err(e) = [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `authenticate` is never used [INFO] [stdout] --> src/server/api/login.rs:4:14 [INFO] [stdout] | [INFO] [stdout] 4 | pub async fn authenticate(student_code:i32,password:String){ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_paper_list_by_user_id` is never used [INFO] [stdout] --> src/server/api/paper.rs:2:14 [INFO] [stdout] | [INFO] [stdout] 2 | pub async fn get_paper_list_by_user_id(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_paper_by_id` is never used [INFO] [stdout] --> src/server/api/paper.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | pub async fn get_paper_by_id(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_paper_by_id_with_answer` is never used [INFO] [stdout] --> src/server/api/paper.rs:16:14 [INFO] [stdout] | [INFO] [stdout] 16 | pub async fn get_paper_by_id_with_answer(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_answer_by_paper_and_user` is never used [INFO] [stdout] --> src/server/api/paper.rs:22:14 [INFO] [stdout] | [INFO] [stdout] 22 | pub async fn get_answer_by_paper_and_user(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_score_by_paper_and_user` is never used [INFO] [stdout] --> src/server/api/paper.rs:27:14 [INFO] [stdout] | [INFO] [stdout] 27 | pub async fn get_score_by_paper_and_user(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_comment_by_paper_and_user` is never used [INFO] [stdout] --> src/server/api/paper.rs:32:14 [INFO] [stdout] | [INFO] [stdout] 32 | pub async fn get_comment_by_paper_and_user(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `query` and `insert_user` are never used [INFO] [stdout] --> src/server/service/mysql.rs:18:18 [INFO] [stdout] | [INFO] [stdout] 10 | impl Database { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 18 | pub async fn query(&self, query: &str) -> Result, mysql_async::Error> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub async fn insert_user(pool: &Pool, name: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `code` and `privileges` are never read [INFO] [stdout] --> src/server/service/query/user.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct User { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 12 | id: i32, [INFO] [stdout] 13 | code: i32, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | privileges: i32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `User` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `authenticate` is never used [INFO] [stdout] --> src/server/service/query/user.rs:69:14 [INFO] [stdout] | [INFO] [stdout] 69 | pub async fn authenticate( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_answer_by_user_id` is never used [INFO] [stdout] --> src/server/service/query/paper.rs:325:14 [INFO] [stdout] | [INFO] [stdout] 325 | pub async fn set_answer_by_user_id( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_paper_state_user_by_id` is never used [INFO] [stdout] --> src/server/service/query/paper.rs:387:14 [INFO] [stdout] | [INFO] [stdout] 387 | pub async fn set_paper_state_user_by_id( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_paper_user_by_id` is never used [INFO] [stdout] --> src/server/service/query/paper.rs:404:14 [INFO] [stdout] | [INFO] [stdout] 404 | pub async fn get_paper_user_by_id( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REDIS_PAPER_KEY` is never used [INFO] [stdout] --> src/server/service/query/common.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | pub const REDIS_PAPER_KEY: &str = "paper_"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REDIS_CLASS_KEY` is never used [INFO] [stdout] --> src/server/service/query/common.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | pub const REDIS_CLASS_KEY: &str = "class_"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_string_by_key_redis` is never used [INFO] [stdout] --> src/server/service/query/common.rs:9:14 [INFO] [stdout] | [INFO] [stdout] 9 | pub async fn get_string_by_key_redis(redus_key: T, key: U) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_string_by_key_redis` is never used [INFO] [stdout] --> src/server/service/query/common.rs:24:14 [INFO] [stdout] | [INFO] [stdout] 24 | pub async fn set_string_by_key_redis(redus_key: T, key: U, value: V) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/server/main.rs:250:5 [INFO] [stdout] | [INFO] [stdout] 250 | service::redis::redisi_init().await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 250 | let _ = service::redis::redisi_init().await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 36s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: wdj_exam_back_front v0.1.0 (/opt/rustwide/workdir) [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" "43766ad2bf72968621d917d11545f33bde68467ca92297529016b0760f9b9383", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "43766ad2bf72968621d917d11545f33bde68467ca92297529016b0760f9b9383", kill_on_drop: false }` [INFO] [stdout] 43766ad2bf72968621d917d11545f33bde68467ca92297529016b0760f9b9383 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+b03b3a7ec92682be2917540b679478d41c95a30c" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 769a8516a092b09138e6cfc293b50d6ab62d3f795073d9a7dad9df405723f482 [INFO] running `Command { std: "docker" "start" "-a" "769a8516a092b09138e6cfc293b50d6ab62d3f795073d9a7dad9df405723f482", kill_on_drop: false }` [INFO] [stderr] Compiling wdj_exam_back_front v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/client/api/util.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HttpResponse`, `Responder`, and `web` [INFO] [stdout] --> src/client/main.rs:7:17 [INFO] [stdout] | [INFO] [stdout] 7 | use actix_web::{web, App, HttpResponse, HttpServer, Responder}; [INFO] [stdout] | ^^^ ^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `codegen::Request` and `triple::transport::router` [INFO] [stdout] --> src/client/main.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | use dubbo::{codegen::Request, triple::transport::router}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GreeterReply`, `GreeterRequest`, `LoginReply`, `LoginRequest`, and `greeter_client::GreeterClient` [INFO] [stdout] --> src/client/main.rs:9:14 [INFO] [stdout] | [INFO] [stdout] 9 | use protos::{greeter_client::GreeterClient, GreeterReply, GreeterRequest, LoginReply, LoginRequest}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::task` [INFO] [stdout] --> src/client/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use tokio::task; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Paper` and `self` [INFO] [stdout] --> src/client/routers/routers.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | self, authenticate, call_dubbo_service, get_answer_by_id, get_answer_by_question_id, get_answer_list_by_paper_id, get_paper_by_id... [INFO] [stdout] | ^^^^ [INFO] [stdout] 4 | }, [INFO] [stdout] 5 | protos::{AnswerListRequest, AnswerPaper, AnswerRequest, Paper, PaperUserInfoRequest, QuestionRequest, SetUserInfoRequest}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `App` and `HttpServer` [INFO] [stdout] --> src/client/routers/routers.rs:7:22 [INFO] [stdout] | [INFO] [stdout] 7 | use actix_web::{web, App, HttpResponse, HttpServer, Responder}; [INFO] [stdout] | ^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `prost::Message` [INFO] [stdout] --> src/client/routers/routers.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use prost::Message; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::to_string` [INFO] [stdout] --> src/client/routers/routers.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use serde_json::to_string; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `actix_web::HttpResponse` [INFO] [stdout] --> src/client/middleware/auth.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use actix_web::HttpResponse; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `actix_web::rt::task` [INFO] [stdout] --> src/server/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use actix_web::rt::task; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/server/main.rs:6:27 [INFO] [stdout] | [INFO] [stdout] 6 | use protos::login_reply::{self, Message}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `query_class_by_id` and `set_answer_by_user_id` [INFO] [stdout] --> src/server/main.rs:9:27 [INFO] [stdout] | [INFO] [stdout] 9 | get_user_exam_status, query_class_by_id, query_paper_by_id, query_paper_list_by_id, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | save_answer_by_user_id, set_answer_by_user_id, set_user_exam_status, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `authenticate as user_authenticate` [INFO] [stdout] --> src/server/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | authenticate as user_authenticate, query_student_by_code, query_teacher_by_code, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `env` and `result` [INFO] [stdout] --> src/server/main.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | use std::{env, result}; [INFO] [stdout] | ^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PaperRequest` and `Paper` [INFO] [stdout] --> src/server/main.rs:25:61 [INFO] [stdout] | [INFO] [stdout] 25 | GreeterReply, GreeterRequest, LoginReply, LoginRequest, Paper, PaperRequest, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::service` [INFO] [stdout] --> src/server/api/login.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::service; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Row` [INFO] [stdout] --> src/server/service/mysql.rs:2:37 [INFO] [stdout] | [INFO] [stdout] 2 | use mysql_async::{prelude::*, Pool, Row}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Pool` [INFO] [stdout] --> src/server/service/query/user.rs:8:31 [INFO] [stdout] | [INFO] [stdout] 8 | use mysql_async::{prelude::*, Pool, Row}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap` and `HashMap` [INFO] [stdout] --> src/server/service/query/paper.rs:1:24 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{BTreeMap, HashMap}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/server/service/query/paper.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> src/server/service/query/paper.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AnswerReply` and `QuestionType` [INFO] [stdout] --> src/server/service/query/paper.rs:9:51 [INFO] [stdout] | [INFO] [stdout] 9 | AnswerInfo, AnswerListReply, AnswerPaper, AnswerReply, Paper, PaperInfo, PaperInfoList, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 10 | PaperUserInfoReply, Question, QuestionList, QuestionReply, QuestionType, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `prost::Message` [INFO] [stdout] --> src/server/service/query/paper.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use prost::Message; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `REDIS_PAPER_KEY`, `get_string_by_key_redis`, and `set_string_by_key_redis` [INFO] [stdout] --> src/server/service/query/paper.rs:18:21 [INFO] [stdout] | [INFO] [stdout] 18 | use super::common::{get_string_by_key_redis, set_string_by_key_redis, REDIS_PAPER_KEY}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/server/service/query/common.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/server/main.rs:246:5 [INFO] [stdout] | [INFO] [stdout] 246 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cli` [INFO] [stdout] --> src/client/api/util.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let cli = &*CLIENT; // 共享并重用客户端 [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cli` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_login` [INFO] [stdout] --> src/client/routers/routers.rs:81:44 [INFO] [stdout] | [INFO] [stdout] 81 | Some(login_reply::Message::IsLogin(is_login)) => HttpResponse::Ok().json(false), [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_login` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `student_code` [INFO] [stdout] --> src/server/api/login.rs:4:27 [INFO] [stdout] | [INFO] [stdout] 4 | pub async fn authenticate(student_code:i32,password:String){ [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_student_code` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `password` [INFO] [stdout] --> src/server/api/login.rs:4:44 [INFO] [stdout] | [INFO] [stdout] 4 | pub async fn authenticate(student_code:i32,password:String){ [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_password` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `paper_result` [INFO] [stdout] --> src/server/service/query/paper.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | let paper_result = match result { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_paper_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function depends on never type fallback being `()` [INFO] [stdout] --> src/server/service/redis.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | fn is_valid(&self, conn: &mut Self::Connection) -> Result<(), Self::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: specify the types explicitly [INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail [INFO] [stdout] --> src/server/service/redis.rs:23:14 [INFO] [stdout] | [INFO] [stdout] 23 | conn.ping()?; [INFO] [stdout] | ^^^^ [INFO] [stdout] = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default [INFO] [stdout] help: use `()` annotations to avoid fallback changes [INFO] [stdout] | [INFO] [stdout] 23 | conn.ping::<()>()?; [INFO] [stdout] | ++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures_util::FutureExt` [INFO] [stdout] --> src/server/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use futures_util::FutureExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/client/middleware/auth.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_request` is never used [INFO] [stdout] --> src/client/api/util.rs:12:10 [INFO] [stdout] | [INFO] [stdout] 12 | async fn make_request() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_paper_by_id_with_answer` is never used [INFO] [stdout] --> src/client/api/util.rs:144:14 [INFO] [stdout] | [INFO] [stdout] 144 | pub async fn get_paper_by_id_with_answer() {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_answer_by_paper_and_user` is never used [INFO] [stdout] --> src/client/api/util.rs:147:14 [INFO] [stdout] | [INFO] [stdout] 147 | pub async fn get_answer_by_paper_and_user() {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_score_by_paper_and_user` is never used [INFO] [stdout] --> src/client/api/util.rs:150:14 [INFO] [stdout] | [INFO] [stdout] 150 | pub async fn get_score_by_paper_and_user() {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_comment_by_paper_and_user` is never used [INFO] [stdout] --> src/client/api/util.rs:153:14 [INFO] [stdout] | [INFO] [stdout] 153 | pub async fn get_comment_by_paper_and_user() {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/client/main.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | start_server(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 28 | let _ = start_server(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `answer_type` [INFO] [stdout] --> src/server/main.rs:121:13 [INFO] [stdout] | [INFO] [stdout] 121 | let answer_type = request.answer_type; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_answer_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/server/main.rs:132:20 [INFO] [stdout] | [INFO] [stdout] 132 | if let Err(e) = [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `authenticate` is never used [INFO] [stdout] --> src/server/api/login.rs:4:14 [INFO] [stdout] | [INFO] [stdout] 4 | pub async fn authenticate(student_code:i32,password:String){ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_paper_list_by_user_id` is never used [INFO] [stdout] --> src/server/api/paper.rs:2:14 [INFO] [stdout] | [INFO] [stdout] 2 | pub async fn get_paper_list_by_user_id(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_paper_by_id` is never used [INFO] [stdout] --> src/server/api/paper.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | pub async fn get_paper_by_id(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_paper_by_id_with_answer` is never used [INFO] [stdout] --> src/server/api/paper.rs:16:14 [INFO] [stdout] | [INFO] [stdout] 16 | pub async fn get_paper_by_id_with_answer(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_answer_by_paper_and_user` is never used [INFO] [stdout] --> src/server/api/paper.rs:22:14 [INFO] [stdout] | [INFO] [stdout] 22 | pub async fn get_answer_by_paper_and_user(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_score_by_paper_and_user` is never used [INFO] [stdout] --> src/server/api/paper.rs:27:14 [INFO] [stdout] | [INFO] [stdout] 27 | pub async fn get_score_by_paper_and_user(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_comment_by_paper_and_user` is never used [INFO] [stdout] --> src/server/api/paper.rs:32:14 [INFO] [stdout] | [INFO] [stdout] 32 | pub async fn get_comment_by_paper_and_user(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `query` and `insert_user` are never used [INFO] [stdout] --> src/server/service/mysql.rs:18:18 [INFO] [stdout] | [INFO] [stdout] 10 | impl Database { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 18 | pub async fn query(&self, query: &str) -> Result, mysql_async::Error> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub async fn insert_user(pool: &Pool, name: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `code` and `privileges` are never read [INFO] [stdout] --> src/server/service/query/user.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct User { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 12 | id: i32, [INFO] [stdout] 13 | code: i32, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | privileges: i32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `User` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `authenticate` is never used [INFO] [stdout] --> src/server/service/query/user.rs:69:14 [INFO] [stdout] | [INFO] [stdout] 69 | pub async fn authenticate( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_answer_by_user_id` is never used [INFO] [stdout] --> src/server/service/query/paper.rs:325:14 [INFO] [stdout] | [INFO] [stdout] 325 | pub async fn set_answer_by_user_id( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_paper_state_user_by_id` is never used [INFO] [stdout] --> src/server/service/query/paper.rs:387:14 [INFO] [stdout] | [INFO] [stdout] 387 | pub async fn set_paper_state_user_by_id( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_paper_user_by_id` is never used [INFO] [stdout] --> src/server/service/query/paper.rs:404:14 [INFO] [stdout] | [INFO] [stdout] 404 | pub async fn get_paper_user_by_id( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REDIS_PAPER_KEY` is never used [INFO] [stdout] --> src/server/service/query/common.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | pub const REDIS_PAPER_KEY: &str = "paper_"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REDIS_CLASS_KEY` is never used [INFO] [stdout] --> src/server/service/query/common.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | pub const REDIS_CLASS_KEY: &str = "class_"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_string_by_key_redis` is never used [INFO] [stdout] --> src/server/service/query/common.rs:9:14 [INFO] [stdout] | [INFO] [stdout] 9 | pub async fn get_string_by_key_redis(redus_key: T, key: U) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_string_by_key_redis` is never used [INFO] [stdout] --> src/server/service/query/common.rs:24:14 [INFO] [stdout] | [INFO] [stdout] 24 | pub async fn set_string_by_key_redis(redus_key: T, key: U, value: V) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/server/main.rs:250:5 [INFO] [stdout] | [INFO] [stdout] 250 | service::redis::redisi_init().await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 250 | let _ = service::redis::redisi_init().await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 5.14s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: wdj_exam_back_front v0.1.0 (/opt/rustwide/workdir) [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" "769a8516a092b09138e6cfc293b50d6ab62d3f795073d9a7dad9df405723f482", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "769a8516a092b09138e6cfc293b50d6ab62d3f795073d9a7dad9df405723f482", kill_on_drop: false }` [INFO] [stdout] 769a8516a092b09138e6cfc293b50d6ab62d3f795073d9a7dad9df405723f482 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+b03b3a7ec92682be2917540b679478d41c95a30c" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 671943d5ca445af4b00997687ee7758c9bee613616426fa0234357ba8bbb9579 [INFO] running `Command { std: "docker" "start" "-a" "671943d5ca445af4b00997687ee7758c9bee613616426fa0234357ba8bbb9579", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/client/api/util.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `HttpResponse`, `Responder`, and `web` [INFO] [stderr] --> src/client/main.rs:7:17 [INFO] [stderr] | [INFO] [stderr] 7 | use actix_web::{web, App, HttpResponse, HttpServer, Responder}; [INFO] [stderr] | ^^^ ^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `codegen::Request` and `triple::transport::router` [INFO] [stderr] --> src/client/main.rs:8:13 [INFO] [stderr] | [INFO] [stderr] 8 | use dubbo::{codegen::Request, triple::transport::router}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `GreeterReply`, `GreeterRequest`, `LoginReply`, `LoginRequest`, and `greeter_client::GreeterClient` [INFO] [stderr] --> src/client/main.rs:9:14 [INFO] [stderr] | [INFO] [stderr] 9 | use protos::{greeter_client::GreeterClient, GreeterReply, GreeterRequest, LoginReply, LoginRequest}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `tokio::task` [INFO] [stderr] --> src/client/main.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use tokio::task; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Paper` and `self` [INFO] [stderr] --> src/client/routers/routers.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | self, authenticate, call_dubbo_service, get_answer_by_id, get_answer_by_question_id, get_answer_list_by_paper_id, get_paper_by_id... [INFO] [stderr] | ^^^^ [INFO] [stderr] 4 | }, [INFO] [stderr] 5 | protos::{AnswerListRequest, AnswerPaper, AnswerRequest, Paper, PaperUserInfoRequest, QuestionRequest, SetUserInfoRequest}, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `App` and `HttpServer` [INFO] [stderr] --> src/client/routers/routers.rs:7:22 [INFO] [stderr] | [INFO] [stderr] 7 | use actix_web::{web, App, HttpResponse, HttpServer, Responder}; [INFO] [stderr] | ^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `prost::Message` [INFO] [stderr] --> src/client/routers/routers.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use prost::Message; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde_json::to_string` [INFO] [stderr] --> src/client/routers/routers.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use serde_json::to_string; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `actix_web::HttpResponse` [INFO] [stderr] --> src/client/middleware/auth.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use actix_web::HttpResponse; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cli` [INFO] [stderr] --> src/client/api/util.rs:13:9 [INFO] [stderr] | [INFO] [stderr] 13 | let cli = &*CLIENT; // 共享并重用客户端 [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_cli` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `is_login` [INFO] [stderr] --> src/client/routers/routers.rs:81:44 [INFO] [stderr] | [INFO] [stderr] 81 | Some(login_reply::Message::IsLogin(is_login)) => HttpResponse::Ok().json(false), [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_login` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/client/middleware/auth.rs:149:17 [INFO] [stderr] | [INFO] [stderr] 149 | Err(e) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: function `make_request` is never used [INFO] [stderr] --> src/client/api/util.rs:12:10 [INFO] [stderr] | [INFO] [stderr] 12 | async fn make_request() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `get_paper_by_id_with_answer` is never used [INFO] [stderr] --> src/client/api/util.rs:144:14 [INFO] [stderr] | [INFO] [stderr] 144 | pub async fn get_paper_by_id_with_answer() {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_answer_by_paper_and_user` is never used [INFO] [stderr] --> src/client/api/util.rs:147:14 [INFO] [stderr] | [INFO] [stderr] 147 | pub async fn get_answer_by_paper_and_user() {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_score_by_paper_and_user` is never used [INFO] [stderr] --> src/client/api/util.rs:150:14 [INFO] [stderr] | [INFO] [stderr] 150 | pub async fn get_score_by_paper_and_user() {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_comment_by_paper_and_user` is never used [INFO] [stderr] --> src/client/api/util.rs:153:14 [INFO] [stderr] | [INFO] [stderr] 153 | pub async fn get_comment_by_paper_and_user() {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/client/main.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | start_server(); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 28 | let _ = start_server(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused import: `actix_web::rt::task` [INFO] [stderr] --> src/server/main.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use actix_web::rt::task; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `self` [INFO] [stderr] --> src/server/main.rs:6:27 [INFO] [stderr] | [INFO] [stderr] 6 | use protos::login_reply::{self, Message}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `query_class_by_id` and `set_answer_by_user_id` [INFO] [stderr] --> src/server/main.rs:9:27 [INFO] [stderr] | [INFO] [stderr] 9 | get_user_exam_status, query_class_by_id, query_paper_by_id, query_paper_list_by_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] 10 | save_answer_by_user_id, set_answer_by_user_id, set_user_exam_status, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `authenticate as user_authenticate` [INFO] [stderr] --> src/server/main.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | authenticate as user_authenticate, query_student_by_code, query_teacher_by_code, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `env` and `result` [INFO] [stderr] --> src/server/main.rs:17:11 [INFO] [stderr] | [INFO] [stderr] 17 | use std::{env, result}; [INFO] [stderr] | ^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `PaperRequest` and `Paper` [INFO] [stderr] --> src/server/main.rs:25:61 [INFO] [stderr] | [INFO] [stderr] 25 | GreeterReply, GreeterRequest, LoginReply, LoginRequest, Paper, PaperRequest, [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::service` [INFO] [stderr] --> src/server/api/login.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::service; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Row` [INFO] [stderr] --> src/server/service/mysql.rs:2:37 [INFO] [stderr] | [INFO] [stderr] 2 | use mysql_async::{prelude::*, Pool, Row}; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Pool` [INFO] [stderr] --> src/server/service/query/user.rs:8:31 [INFO] [stderr] | [INFO] [stderr] 8 | use mysql_async::{prelude::*, Pool, Row}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BTreeMap` and `HashMap` [INFO] [stderr] --> src/server/service/query/paper.rs:1:24 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::{BTreeMap, HashMap}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stderr] --> src/server/service/query/paper.rs:4:13 [INFO] [stderr] | [INFO] [stderr] 4 | use serde::{Deserialize, Serialize}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde_json::json` [INFO] [stderr] --> src/server/service/query/paper.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use serde_json::json; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `AnswerReply` and `QuestionType` [INFO] [stderr] --> src/server/service/query/paper.rs:9:51 [INFO] [stderr] | [INFO] [stderr] 9 | AnswerInfo, AnswerListReply, AnswerPaper, AnswerReply, Paper, PaperInfo, PaperInfoList, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 10 | PaperUserInfoReply, Question, QuestionList, QuestionReply, QuestionType, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `prost::Message` [INFO] [stderr] --> src/server/service/query/paper.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use prost::Message; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `REDIS_PAPER_KEY`, `get_string_by_key_redis`, and `set_string_by_key_redis` [INFO] [stderr] --> src/server/service/query/paper.rs:18:21 [INFO] [stderr] | [INFO] [stderr] 18 | use super::common::{get_string_by_key_redis, set_string_by_key_redis, REDIS_PAPER_KEY}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/server/service/query/common.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread` [INFO] [stderr] --> src/server/main.rs:246:5 [INFO] [stderr] | [INFO] [stderr] 246 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `student_code` [INFO] [stderr] --> src/server/api/login.rs:4:27 [INFO] [stderr] | [INFO] [stderr] 4 | pub async fn authenticate(student_code:i32,password:String){ [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_student_code` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `password` [INFO] [stderr] --> src/server/api/login.rs:4:44 [INFO] [stderr] | [INFO] [stderr] 4 | pub async fn authenticate(student_code:i32,password:String){ [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_password` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `paper_result` [INFO] [stderr] --> src/server/service/query/paper.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | let paper_result = match result { [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_paper_result` [INFO] [stderr] [INFO] [stderr] warning: this function depends on never type fallback being `()` [INFO] [stderr] --> src/server/service/redis.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | fn is_valid(&self, conn: &mut Self::Connection) -> Result<(), Self::Error> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions! [INFO] [stderr] = note: for more information, see [INFO] [stderr] = help: specify the types explicitly [INFO] [stderr] note: in edition 2024, the requirement `!: FromRedisValue` will fail [INFO] [stderr] --> src/server/service/redis.rs:23:14 [INFO] [stderr] | [INFO] [stderr] 23 | conn.ping()?; [INFO] [stderr] | ^^^^ [INFO] [stderr] = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default [INFO] [stderr] help: use `()` annotations to avoid fallback changes [INFO] [stderr] | [INFO] [stderr] 23 | conn.ping::<()>()?; [INFO] [stderr] | ++++++ [INFO] [stderr] [INFO] [stderr] warning: unused import: `futures_util::FutureExt` [INFO] [stderr] --> src/server/main.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use futures_util::FutureExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `answer_type` [INFO] [stderr] --> src/server/main.rs:121:13 [INFO] [stderr] | [INFO] [stderr] 121 | let answer_type = request.answer_type; [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_answer_type` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/server/main.rs:132:20 [INFO] [stderr] | [INFO] [stderr] 132 | if let Err(e) = [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: function `authenticate` is never used [INFO] [stderr] --> src/server/api/login.rs:4:14 [INFO] [stderr] | [INFO] [stderr] 4 | pub async fn authenticate(student_code:i32,password:String){ [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `get_paper_list_by_user_id` is never used [INFO] [stderr] --> src/server/api/paper.rs:2:14 [INFO] [stderr] | [INFO] [stderr] 2 | pub async fn get_paper_list_by_user_id(){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_paper_by_id` is never used [INFO] [stderr] --> src/server/api/paper.rs:11:14 [INFO] [stderr] | [INFO] [stderr] 11 | pub async fn get_paper_by_id(){ [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_paper_by_id_with_answer` is never used [INFO] [stderr] --> src/server/api/paper.rs:16:14 [INFO] [stderr] | [INFO] [stderr] 16 | pub async fn get_paper_by_id_with_answer(){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_answer_by_paper_and_user` is never used [INFO] [stderr] --> src/server/api/paper.rs:22:14 [INFO] [stderr] | [INFO] [stderr] 22 | pub async fn get_answer_by_paper_and_user(){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_score_by_paper_and_user` is never used [INFO] [stderr] --> src/server/api/paper.rs:27:14 [INFO] [stderr] | [INFO] [stderr] 27 | pub async fn get_score_by_paper_and_user(){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_comment_by_paper_and_user` is never used [INFO] [stderr] --> src/server/api/paper.rs:32:14 [INFO] [stderr] | [INFO] [stderr] 32 | pub async fn get_comment_by_paper_and_user(){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `query` and `insert_user` are never used [INFO] [stderr] --> src/server/service/mysql.rs:18:18 [INFO] [stderr] | [INFO] [stderr] 10 | impl Database { [INFO] [stderr] | ------------- associated items in this implementation [INFO] [stderr] ... [INFO] [stderr] 18 | pub async fn query(&self, query: &str) -> Result, mysql_async::Error> { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 25 | pub async fn insert_user(pool: &Pool, name: &str) -> Result { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `code` and `privileges` are never read [INFO] [stderr] --> src/server/service/query/user.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct User { [INFO] [stderr] | ---- fields in this struct [INFO] [stderr] 12 | id: i32, [INFO] [stderr] 13 | code: i32, [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 16 | privileges: i32, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `User` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: function `authenticate` is never used [INFO] [stderr] --> src/server/service/query/user.rs:69:14 [INFO] [stderr] | [INFO] [stderr] 69 | pub async fn authenticate( [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `set_answer_by_user_id` is never used [INFO] [stderr] --> src/server/service/query/paper.rs:325:14 [INFO] [stderr] | [INFO] [stderr] 325 | pub async fn set_answer_by_user_id( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `set_paper_state_user_by_id` is never used [INFO] [stderr] --> src/server/service/query/paper.rs:387:14 [INFO] [stderr] | [INFO] [stderr] 387 | pub async fn set_paper_state_user_by_id( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_paper_user_by_id` is never used [INFO] [stderr] --> src/server/service/query/paper.rs:404:14 [INFO] [stderr] | [INFO] [stderr] 404 | pub async fn get_paper_user_by_id( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `REDIS_PAPER_KEY` is never used [INFO] [stderr] --> src/server/service/query/common.rs:3:11 [INFO] [stderr] | [INFO] [stderr] 3 | pub const REDIS_PAPER_KEY: &str = "paper_"; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `REDIS_CLASS_KEY` is never used [INFO] [stderr] --> src/server/service/query/common.rs:4:11 [INFO] [stderr] | [INFO] [stderr] 4 | pub const REDIS_CLASS_KEY: &str = "class_"; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_string_by_key_redis` is never used [INFO] [stderr] --> src/server/service/query/common.rs:9:14 [INFO] [stderr] | [INFO] [stderr] 9 | pub async fn get_string_by_key_redis(redus_key: T, key: U) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `set_string_by_key_redis` is never used [INFO] [stderr] --> src/server/service/query/common.rs:24:14 [INFO] [stderr] | [INFO] [stderr] 24 | pub async fn set_string_by_key_redis(redus_key: T, key: U, value: V) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/server/main.rs:250:5 [INFO] [stderr] | [INFO] [stderr] 250 | service::redis::redisi_init().await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 250 | let _ = service::redis::redisi_init().await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `wdj_exam_back_front` (bin "hello-client" test) generated 19 warnings (run `cargo fix --bin "hello-client" --tests` to apply 10 suggestions) [INFO] [stderr] warning: `wdj_exam_back_front` (bin "greeter-server" test) generated 42 warnings (run `cargo fix --bin "greeter-server" --tests` to apply 18 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.35s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: wdj_exam_back_front v0.1.0 (/opt/rustwide/workdir) [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/server/main.rs (/opt/rustwide/target/debug/deps/greeter_server-e319489fdef52524) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/client/main.rs (/opt/rustwide/target/debug/deps/hello_client-75bf6a429f764084) [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/wdj_exam_back_front-46ea05dd0f07e745) [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] [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" "671943d5ca445af4b00997687ee7758c9bee613616426fa0234357ba8bbb9579", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "671943d5ca445af4b00997687ee7758c9bee613616426fa0234357ba8bbb9579", kill_on_drop: false }` [INFO] [stdout] 671943d5ca445af4b00997687ee7758c9bee613616426fa0234357ba8bbb9579