[INFO] cloning repository https://github.com/making-rockets/fast_rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/making-rockets/fast_rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmaking-rockets%2Ffast_rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmaking-rockets%2Ffast_rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 84dfac62bfd26b77b5d41ac2e51d6a8200e3abfa
[INFO] testing making-rockets/fast_rust against 1.54.0 for beta-1.55-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmaking-rockets%2Ffast_rust" "/workspace/builds/worker-6/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/making-rockets/fast_rust on toolchain 1.54.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/making-rockets/fast_rust
[INFO] finished tweaking git repo https://github.com/making-rockets/fast_rust
[INFO] tweaked toml for git repo https://github.com/making-rockets/fast_rust written to /workspace/builds/worker-6/source/Cargo.toml
[INFO] crate git repo https://github.com/making-rockets/fast_rust already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d068b96465a420cff8837faf2630460701f935d4f4be2ea491cfb05dc361c92d
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "d068b96465a420cff8837faf2630460701f935d4f4be2ea491cfb05dc361c92d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d068b96465a420cff8837faf2630460701f935d4f4be2ea491cfb05dc361c92d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d068b96465a420cff8837faf2630460701f935d4f4be2ea491cfb05dc361c92d", kill_on_drop: false }`
[INFO] [stdout] d068b96465a420cff8837faf2630460701f935d4f4be2ea491cfb05dc361c92d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e57ff4f47e82e5a2ed7d5bccd6e0b3892f79035a8cace7f25f4f181e3c5ce5a8
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "e57ff4f47e82e5a2ed7d5bccd6e0b3892f79035a8cace7f25f4f181e3c5ce5a8", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.63
[INFO] [stderr]    Compiling libc v0.2.88
[INFO] [stderr]    Compiling value-bag v1.0.0-alpha.6
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling futures-core v0.3.13
[INFO] [stderr]    Compiling serde_derive v1.0.124
[INFO] [stderr]    Compiling serde v1.0.124
[INFO] [stderr]    Compiling futures-io v0.3.13
[INFO] [stderr]    Compiling futures-sink v0.3.13
[INFO] [stderr]    Compiling futures-task v0.3.13
[INFO] [stderr]    Compiling smallvec v1.6.1
[INFO] [stderr]    Compiling serde_json v1.0.64
[INFO] [stderr]    Compiling pin-project-lite v0.1.12
[INFO] [stderr]    Compiling siphasher v0.3.5
[INFO] [stderr]    Compiling async-trait v0.1.48
[INFO] [stderr]    Compiling signal-hook v0.3.7
[INFO] [stderr]    Compiling lexical-core v0.7.5
[INFO] [stderr]    Compiling subtle v2.4.0
[INFO] [stderr]    Compiling tap v1.0.1
[INFO] [stderr]    Compiling bytemuck v1.5.1
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.4
[INFO] [stderr]    Compiling weezl v0.1.4
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling nodrop v0.1.14
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling ascii v0.9.3
[INFO] [stderr]    Compiling sha1 v0.6.0
[INFO] [stderr]    Compiling debug-helper v0.3.10
[INFO] [stderr]    Compiling podio v0.1.7
[INFO] [stderr]    Compiling base32 v0.4.0
[INFO] [stderr]    Compiling if_chain v1.0.1
[INFO] [stderr]    Compiling thin-slice v0.1.1
[INFO] [stderr]    Compiling checked_int_cast v1.0.0
[INFO] [stderr]    Compiling ego-tree v0.6.2
[INFO] [stderr]    Compiling async_once v0.2.1
[INFO] [stderr]    Compiling fast_api v0.1.0 (/opt/rustwide/workdir/fast_api)
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]    Compiling memoffset v0.6.1
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling indexmap v1.6.2
[INFO] [stderr]    Compiling time v0.2.25
[INFO] [stderr]    Compiling tokio v1.3.0
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]    Compiling brotli-sys v0.3.2
[INFO] [stderr]    Compiling nom v6.1.2
[INFO] [stderr]    Compiling num-bigint v0.3.2
[INFO] [stderr]    Compiling cookie v0.14.4
[INFO] [stderr]    Compiling tokio v0.3.7
[INFO] [stderr]    Compiling thread_local v1.1.3
[INFO] [stderr]    Compiling openssl-sys v0.9.60
[INFO] [stderr]    Compiling fxhash v0.2.1
[INFO] [stderr]    Compiling bzip2-sys v0.1.10+1.0.8
[INFO] [stderr]    Compiling libsqlite3-sys v0.20.1
[INFO] [stderr]    Compiling base64-url v1.4.9
[INFO] [stderr]    Compiling async-lock v2.3.0
[INFO] [stderr]    Compiling lru-cache v0.1.2
[INFO] [stderr]    Compiling dtoa-short v0.3.3
[INFO] [stderr]    Compiling num-bigint-dig v0.6.1
[INFO] [stderr]    Compiling futures-channel v0.3.13
[INFO] [stderr]    Compiling deflate v0.8.6
[INFO] [stderr]    Compiling phf_shared v0.8.0
[INFO] [stderr]    Compiling futf v0.1.4
[INFO] [stderr]    Compiling rgb v0.8.25
[INFO] [stderr]    Compiling servo_arc v0.1.1
[INFO] [stderr]    Compiling crc-any v2.3.5
[INFO] [stderr]    Compiling tracing-core v0.1.17
[INFO] [stderr]    Compiling gif v0.11.1
[INFO] [stderr]    Compiling fallible_collections v0.4.0
[INFO] [stderr]    Compiling async-channel v1.6.1
[INFO] [stderr]    Compiling futures-lite v1.11.3
[INFO] [stderr]    Compiling combine v3.8.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.3
[INFO] [stderr]    Compiling tendril v0.4.2
[INFO] [stderr]    Compiling idna v0.2.2
[INFO] [stderr]    Compiling bitvec v0.19.5
[INFO] [stderr]    Compiling smallvec v0.6.14
[INFO] [stderr]    Compiling png v0.16.8
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling regex v1.4.3
[INFO] [stderr]    Compiling atoi v0.4.0
[INFO] [stderr]    Compiling short-crypt v1.0.23
[INFO] [stderr]    Compiling crypto-mac v0.10.0
[INFO] [stderr]    Compiling crossbeam-channel v0.5.0
[INFO] [stderr]    Compiling crossbeam-queue v0.3.1
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.3
[INFO] [stderr]    Compiling url v2.2.1
[INFO] [stderr]    Compiling num_cpus v1.13.0
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling signal-hook-registry v1.3.0
[INFO] [stderr]    Compiling net2 v0.2.37
[INFO] [stderr]    Compiling iovec v0.1.4
[INFO] [stderr]    Compiling socket2 v0.3.19
[INFO] [stderr]    Compiling parking_lot_core v0.8.3
[INFO] [stderr]    Compiling time v0.1.44
[INFO] [stderr]    Compiling hostname v0.3.1
[INFO] [stderr]    Compiling getrandom v0.2.2
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling async-executor v1.4.0
[INFO] [stderr]    Compiling blocking v1.0.2
[INFO] [stderr]    Compiling num-iter v0.1.42
[INFO] [stderr]    Compiling num-rational v0.3.2
[INFO] [stderr]    Compiling sha-1 v0.9.4
[INFO] [stderr]    Compiling sha2 v0.9.3
[INFO] [stderr]    Compiling md-5 v0.9.1
[INFO] [stderr]    Compiling parking_lot_core v0.6.2
[INFO] [stderr]    Compiling openssl v0.10.32
[INFO] [stderr]    Compiling native-tls v0.2.7
[INFO] [stderr]    Compiling hmac v0.10.1
[INFO] [stderr]    Compiling flate2 v1.0.20
[INFO] [stderr]    Compiling threadpool v1.8.1
[INFO] [stderr]    Compiling dashmap v4.0.2
[INFO] [stderr]    Compiling crossbeam-deque v0.8.0
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling nom v5.1.2
[INFO] [stderr]    Compiling pem v0.8.3
[INFO] [stderr]    Compiling nb-connect v1.0.3
[INFO] [stderr]    Compiling resolv-conf v0.7.0
[INFO] [stderr]    Compiling colored v2.0.0
[INFO] [stderr]    Compiling parking_lot v0.11.1
[INFO] [stderr]    Compiling bzip2 v0.3.3
[INFO] [stderr]    Compiling ahash v0.6.3
[INFO] [stderr]    Compiling parking_lot v0.9.0
[INFO] [stderr]    Compiling rayon-core v1.9.0
[INFO] [stderr]    Compiling crossbeam v0.8.0
[INFO] [stderr]    Compiling lodepng v3.4.5
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling rand_pcg v0.2.1
[INFO] [stderr]    Compiling zip v0.5.6
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling webpki v0.21.4
[INFO] [stderr]    Compiling sct v0.6.0
[INFO] [stderr]    Compiling brotli2 v0.3.2
[INFO] [stderr]    Compiling rayon v1.5.0
[INFO] [stderr]    Compiling webpki-roots v0.21.0
[INFO] [stderr]    Compiling synstructure v0.12.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling phf_generator v0.8.0
[INFO] [stderr]    Compiling phf_codegen v0.8.0
[INFO] [stderr]    Compiling string_cache_codegen v0.5.1
[INFO] [stderr]    Compiling sqlformat v0.1.6
[INFO] [stderr]    Compiling selectors v0.22.0
[INFO] [stderr]    Compiling jpeg-decoder v0.1.22
[INFO] [stderr]    Compiling ctor v0.1.19
[INFO] [stderr]    Compiling futures-macro v0.3.13
[INFO] [stderr]    Compiling derive_more v0.99.11
[INFO] [stderr]    Compiling thiserror-impl v1.0.24
[INFO] [stderr]    Compiling pin-project-internal v0.4.27
[INFO] [stderr]    Compiling pin-project-internal v1.0.5
[INFO] [stderr]    Compiling time-macros-impl v0.1.1
[INFO] [stderr]    Compiling actix-macros v0.1.3
[INFO] [stderr]    Compiling async-attributes v1.1.2
[INFO] [stderr]    Compiling zeroize_derive v1.0.1
[INFO] [stderr]    Compiling enum-as-inner v0.3.3
[INFO] [stderr]    Compiling phf_macros v0.8.0
[INFO] [stderr]    Compiling cssparser v0.27.2
[INFO] [stderr]    Compiling html5ever v0.25.1
[INFO] [stderr]    Compiling cssparser-macros v0.6.0
[INFO] [stderr]    Compiling actix-web-codegen v0.4.0
[INFO] [stderr]    Compiling rbatis-macro-driver v1.8.78
[INFO] [stderr]    Compiling validator_derive v0.12.0
[INFO] [stderr]    Compiling tiff v0.6.1
[INFO] [stderr]    Compiling time-macros v0.1.1
[INFO] [stderr]    Compiling zeroize v1.2.0
[INFO] [stderr]    Compiling futures-util v0.3.13
[INFO] [stderr]    Compiling image v0.23.14
[INFO] [stderr]    Compiling phf v0.8.0
[INFO] [stderr]    Compiling mio v0.6.23
[INFO] [stderr]    Compiling polling v2.0.2
[INFO] [stderr]    Compiling tracing v0.1.25
[INFO] [stderr]    Compiling mio v0.7.9
[INFO] [stderr]    Compiling kv-log-macro v1.0.7
[INFO] [stderr]    Compiling rustls v0.19.0
[INFO] [stderr]    Compiling want v0.3.0
[INFO] [stderr]    Compiling env_logger v0.8.3
[INFO] [stderr]    Compiling thiserror v1.0.24
[INFO] [stderr]    Compiling async-io v1.3.1
[INFO] [stderr]    Compiling pin-project v1.0.5
[INFO] [stderr]    Compiling mio-uds v0.6.8
[INFO] [stderr]    Compiling tracing-futures v0.2.5
[INFO] [stderr]    Compiling pin-project v0.4.27
[INFO] [stderr]    Compiling tokio v0.2.25
[INFO] [stderr]    Compiling async-global-executor v2.0.2
[INFO] [stderr]    Compiling async-process v1.0.2
[INFO] [stderr]    Compiling async-std v1.9.0
[INFO] [stderr]    Compiling actix-service v1.0.6
[INFO] [stderr]    Compiling futures-executor v0.3.13
[INFO] [stderr]    Compiling async-rustls v0.2.0
[INFO] [stderr]    Compiling futures v0.3.13
[INFO] [stderr]    Compiling qrcode v0.12.0
[INFO] [stderr]    Compiling actix-threadpool v0.3.3
[INFO] [stderr]    Compiling tokio-util v0.6.4
[INFO] [stderr]    Compiling tokio-native-tls v0.3.0
[INFO] [stderr]    Compiling h2 v0.3.1
[INFO] [stderr]    Compiling tokio-util v0.3.1
[INFO] [stderr]    Compiling actix-rt v1.1.1
[INFO] [stderr]    Compiling trust-dns-proto v0.19.7
[INFO] [stderr]    Compiling combine v4.5.2
[INFO] [stderr]    Compiling actix-codec v0.3.0
[INFO] [stderr]    Compiling h2 v0.2.7
[INFO] [stderr]    Compiling actix-utils v2.0.0
[INFO] [stderr]    Compiling actix-server v1.0.4
[INFO] [stderr]    Compiling actix-tls v2.0.0
[INFO] [stderr]    Compiling sqlx-rt v0.3.0
[INFO] [stderr]    Compiling trust-dns-resolver v0.19.7
[INFO] [stderr]    Compiling actix-testing v1.0.1
[INFO] [stderr]    Compiling chrono v0.4.19
[INFO] [stderr]    Compiling serde_urlencoded v0.7.0
[INFO] [stderr]    Compiling uuid v0.8.2
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling bigdecimal v0.2.0
[INFO] [stderr]    Compiling ipnetwork v0.17.0
[INFO] [stderr]    Compiling rust_decimal v1.10.3
[INFO] [stderr]    Compiling string_cache v0.8.1
[INFO] [stderr]    Compiling config v0.10.1
[INFO] [stderr]    Compiling actix-router v0.2.7
[INFO] [stderr]    Compiling actix-connect v2.0.0
[INFO] [stderr]    Compiling simple_asn1 v0.4.1
[INFO] [stderr]    Compiling rustflake v0.1.1
[INFO] [stderr]    Compiling toml_edit v0.2.0
[INFO] [stderr]    Compiling deadpool v0.6.0
[INFO] [stderr]    Compiling rexpr v1.0.7
[INFO] [stderr]    Compiling validator v0.12.0
[INFO] [stderr]    Compiling captcha v0.0.8
[INFO] [stderr]    Compiling fast_log v1.3.23
[INFO] [stderr]    Compiling jsonwebtoken v7.2.0
[INFO] [stderr]    Compiling rsa v0.3.0
[INFO] [stderr]    Compiling py_sql v1.0.1
[INFO] [stderr]    Compiling actix-http v2.2.0
[INFO] [stderr]    Compiling markup5ever v0.10.0
[INFO] [stderr]    Compiling sqlx-core v0.5.1
[INFO] [stderr]    Compiling hyper v0.14.4
[INFO] [stderr]    Compiling redis v0.17.0
[INFO] [stderr]    Compiling awc v2.0.3
[INFO] [stderr]    Compiling actix-web v3.3.2
[INFO] [stderr]    Compiling scraper v0.12.0
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling reqwest v0.11.2
[INFO] [stderr]    Compiling redis-async-pool v0.2.4
[INFO] [stderr]    Compiling rbatis-core v1.8.70
[INFO] [stderr]    Compiling rbatis v1.8.74
[INFO] [stderr]    Compiling fast_demo v0.1.0 (/opt/rustwide/workdir/fast_demo)
[INFO] [stderr]    Compiling fast_common v0.1.0 (/opt/rustwide/workdir/fast_common)
[INFO] [stdout] ............gen impl CRUDTable:
[INFO] [stdout]  #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)] pub struct Menu
[INFO] [stdout] {
[INFO] [stdout]     pub id : Option < u64 >, pub menu_name : Option < String >, pub parent_id
[INFO] [stdout]     : Option < u64 >, pub path : Option < String >, pub icon : Option < String
[INFO] [stdout]     >, pub index_no : Option < i32 >, pub remark : Option < String >, pub
[INFO] [stdout]     state : Option < i32 >, pub create_time : Option < NaiveDateTime >,
[INFO] [stdout] } impl rbatis :: crud :: CRUDTable for Menu
[INFO] [stdout] {
[INFO] [stdout]     type IdType = u64 ; fn id_name() -> String { "id".to_string() } fn
[INFO] [stdout]     get_id(& self) -> Option < & Self :: IdType > { self.id.as_ref() } fn
[INFO] [stdout]     table_name() -> String { "menu".to_string() } fn table_columns() -> String
[INFO] [stdout]     {
[INFO] [stdout]         "id,menu_name,parent_id,path,icon,index_no,remark,state,create_time".to_string()
[INFO] [stdout]     } fn formats(driver_type : & rbatis :: core :: db :: DriverType) -> std ::
[INFO] [stdout]     collections :: HashMap < String, fn(arg : & str) -> String >
[INFO] [stdout]     {
[INFO] [stdout]         let mut m = std :: collections :: HashMap :: new() ; match driver_type
[INFO] [stdout]         {
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Mysql => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Postgres => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Sqlite => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Mssql => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: None => { return m ; },
[INFO] [stdout]         }
[INFO] [stdout]     }
[INFO] [stdout] }
[INFO] [stdout] ............gen impl CRUDTable end............
[INFO] [stdout] ............gen impl CRUDTable:
[INFO] [stdout]  #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)] pub struct Role
[INFO] [stdout] {
[INFO] [stdout]     pub id : Option < u64 >, pub role_name : Option < String >, pub index_no :
[INFO] [stdout]     Option < i32 >, pub remark : Option < String >, pub state : Option < i32
[INFO] [stdout]     >, pub create_time : Option < NaiveDateTime >,
[INFO] [stdout] } impl rbatis :: crud :: CRUDTable for Role
[INFO] [stdout] {
[INFO] [stdout]     type IdType = u64 ; fn id_name() -> String { "id".to_string() } fn
[INFO] [stdout]     get_id(& self) -> Option < & Self :: IdType > { self.id.as_ref() } fn
[INFO] [stdout]     table_name() -> String { "role".to_string() } fn table_columns() -> String
[INFO] [stdout]     { "id,role_name,index_no,remark,state,create_time".to_string() } fn
[INFO] [stdout]     formats(driver_type : & rbatis :: core :: db :: DriverType) -> std ::
[INFO] [stdout]     collections :: HashMap < String, fn(arg : & str) -> String >
[INFO] [stdout]     {
[INFO] [stdout]         let mut m = std :: collections :: HashMap :: new() ; match driver_type
[INFO] [stdout]         {
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Mysql => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Postgres => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Sqlite => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Mssql => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: None => { return m ; },
[INFO] [stdout]         }
[INFO] [stdout]     }
[INFO] [stdout] }
[INFO] [stdout] ............gen impl CRUDTable end............
[INFO] [stdout] ............gen impl CRUDTable:
[INFO] [stdout]  #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)] pub struct User
[INFO] [stdout] {
[INFO] [stdout]     pub id : Option < u64 >, pub user_name : Option < String >, pub age :
[INFO] [stdout]     Option < u64 >, pub create_time : Option < NaiveDateTime >, pub password :
[INFO] [stdout]     Option < String >,
[INFO] [stdout] } impl rbatis :: crud :: CRUDTable for User
[INFO] [stdout] {
[INFO] [stdout]     type IdType = u64 ; fn id_name() -> String { "id".to_string() } fn
[INFO] [stdout]     get_id(& self) -> Option < & Self :: IdType > { self.id.as_ref() } fn
[INFO] [stdout]     table_name() -> String { "user".to_string() } fn table_columns() -> String
[INFO] [stdout]     { "id,user_name,age,create_time,password".to_string() } fn
[INFO] [stdout]     formats(driver_type : & rbatis :: core :: db :: DriverType) -> std ::
[INFO] [stdout]     collections :: HashMap < String, fn(arg : & str) -> String >
[INFO] [stdout]     {
[INFO] [stdout]         let mut m = std :: collections :: HashMap :: new() ; match driver_type
[INFO] [stdout]         {
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Mysql => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Postgres => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Sqlite => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Mssql => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: None => { return m ; },
[INFO] [stdout]         }
[INFO] [stdout]     }
[INFO] [stdout] }
[INFO] [stdout] ............gen impl CRUDTable end............
[INFO] [stdout] warning: unused imports: `HttpResponse`, `Responder`
[INFO] [stdout]  --> fast_common/src/common/api_result.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use actix_web::{HttpResponse, Responder};
[INFO] [stdout]   |                 ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Expected`
[INFO] [stdout]  --> fast_common/src/common/api_result.rs:4:35
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::de::{DeserializeOwned, Expected};
[INFO] [stdout]   |                                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serializer`
[INFO] [stdout]  --> fast_common/src/common/api_result.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Serialize, Serializer};
[INFO] [stdout]   |                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_web::dev::HttpResponseBuilder`
[INFO] [stdout]  --> fast_common/src/common/api_result.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use actix_web::dev::HttpResponseBuilder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_http::http::HeaderValue`
[INFO] [stdout]  --> fast_common/src/common/api_result.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use actix_http::http::HeaderValue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CONTENT_DISPOSITION`
[INFO] [stdout]  --> fast_common/src/common/api_result.rs:9:46
[INFO] [stdout]   |
[INFO] [stdout] 9 | use actix_http::http::header::{CONTENT_TYPE, CONTENT_DISPOSITION, ACCESS_CONTROL_ALLOW_ORIGIN, CACHE_CONTROL};
[INFO] [stdout]   |                                              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]   --> fast_common/src/common/api_result.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::fs::File;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::__private::de::Content`
[INFO] [stdout]   --> fast_common/src/common/api_result.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use serde::__private::de::Content;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]   --> fast_common/src/common/api_result.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::error::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HttpRequest`, `HttpResponse`
[INFO] [stdout]  --> fast_common/src/middleware/auth.rs:6:31
[INFO] [stdout]   |
[INFO] [stdout] 6 | use actix_web::{error, Error, HttpRequest, HttpResponse};
[INFO] [stdout]   |                               ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GlobalError`
[INFO] [stdout]   --> fast_common/src/middleware/auth.rs:11:38
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::common::api_result::{Api, GlobalError};
[INFO] [stdout]    |                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BorrowMut`, `Borrow`
[INFO] [stdout]   --> fast_common/src/middleware/auth.rs:12:19
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::borrow::{Borrow, BorrowMut};
[INFO] [stdout]    |                   ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_web::test::ok_service`
[INFO] [stdout]   --> fast_common/src/middleware/auth.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use actix_web::test::ok_service;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ResponseBuilder`, `Response`
[INFO] [stdout]   --> fast_common/src/middleware/auth.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 | use actix_http::{Response, ResponseBuilder, body::Body, HttpMessage};
[INFO] [stdout]    |                  ^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reqwest::StatusCode`
[INFO] [stdout]   --> fast_common/src/middleware/auth.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use reqwest::StatusCode;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `validator::HasLen`
[INFO] [stdout]   --> fast_common/src/middleware/auth.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use validator::HasLen;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_web::error::ReadlinesError::ContentTypeError`
[INFO] [stdout]   --> fast_common/src/middleware/handle_method.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use actix_web::error::ReadlinesError::ContentTypeError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> fast_common/src/base/base_storage.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Menu`
[INFO] [stdout]  --> fast_common/src/models/role_menu.rs:2:27
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::models::menu::{Menu, MenuVo};
[INFO] [stdout]   |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::models::user_role::UserRole`
[INFO] [stdout]  --> fast_common/src/models/user.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::models::user_role::UserRole;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Timelike`
[INFO] [stdout]  --> fast_common/src/utils/crypt_util.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::{Local, Timelike};
[INFO] [stdout]   |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FromRedisValue`
[INFO] [stdout]  --> fast_common/src/utils/redis_util.rs:1:78
[INFO] [stdout]   |
[INFO] [stdout] 1 | use redis::{AsyncCommands, RedisError, RedisResult, Value, from_redis_value, FromRedisValue};
[INFO] [stdout]   |                                                                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefMut`, `Deref`
[INFO] [stdout]  --> fast_common/src/config/path_filter.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::{DerefMut, Deref};
[INFO] [stdout]   |                ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rb`
[INFO] [stdout]   --> fast_common/src/common/orm_config.rs:47:28
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn do_intercept(&self, rb: &Rbatis, context_id: &str, sql: &mut String, args: &mut Vec<Value>, is_prepared_sql: bool) -> Result<(), E...
[INFO] [stdout]    |                            ^^ help: if this is intentional, prefix it with an underscore: `_rb`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context_id`
[INFO] [stdout]   --> fast_common/src/common/orm_config.rs:47:41
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn do_intercept(&self, rb: &Rbatis, context_id: &str, sql: &mut String, args: &mut Vec<Value>, is_prepared_sql: bool) -> Result<(), E...
[INFO] [stdout]    |                                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> fast_common/src/common/orm_config.rs:47:77
[INFO] [stdout]    |
[INFO] [stdout] 47 | ...xt_id: &str, sql: &mut String, args: &mut Vec<Value>, is_prepared_sql: bool) -> Result<(), Error> {
[INFO] [stdout]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_prepared_sql`
[INFO] [stdout]   --> fast_common/src/common/orm_config.rs:47:100
[INFO] [stdout]    |
[INFO] [stdout] 47 | ...s: &mut Vec<Value>, is_prepared_sql: bool) -> Result<(), Error> {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_prepared_sql`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> fast_common/src/middleware/handle_method.rs:72:29
[INFO] [stdout]    |
[INFO] [stdout] 72 |                         Err(e) => {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sign`
[INFO] [stdout]   --> fast_common/src/utils/crypt_util.rs:59:26
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn encode(&self, sign: &str) -> Result<String, String> {
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_sign`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `claims`
[INFO] [stdout]   --> fast_common/src/utils/crypt_util.rs:84:16
[INFO] [stdout]    |
[INFO] [stdout] 84 |             Ok(claims) => { Ok(()) }
[INFO] [stdout]    |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_claims`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `id`
[INFO] [stdout]  --> fast_common/src/base/base_model.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     id: u64,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `create_time`
[INFO] [stdout]  --> fast_common/src/base/base_model.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     create_time: std::time::SystemTime,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `add`
[INFO] [stdout]  --> fast_common/src/config/path_filter.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn add(&mut self, path: String) -> &mut PathFilter {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> fast_common/src/config/path_filter.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new() -> PathFilter {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tokenData` should have a snake case name
[INFO] [stdout]   --> fast_common/src/utils/crypt_util.rs:72:16
[INFO] [stdout]    |
[INFO] [stdout] 72 |             Ok(tokenData) => { Ok(tokenData.claims) }
[INFO] [stdout]    |                ^^^^^^^^^ help: convert the identifier to snake case: `token_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 35 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling fast_admin v0.1.0 (/opt/rustwide/workdir/fast_admin)
[INFO] [stdout] warning: unused import: `fast_common::utils::captcha_util`
[INFO] [stdout]  --> fast_admin/src/controller/index_controller.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use fast_common::utils::captcha_util;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fast_common::models::user::User`
[INFO] [stdout]   --> fast_admin/src/service/menu_service.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use fast_common::models::user::User;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fast_common::models::role::RoleVo`
[INFO] [stdout]   --> fast_admin/src/service/menu_service.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use fast_common::models::role::RoleVo;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> fast_admin/src/service/user_service.rs:2:63
[INFO] [stdout]   |
[INFO] [stdout] 2 | use fast_common::{common::orm_config::RB, utils::redis_util::{self, RedisUtil}};
[INFO] [stdout]   |                                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_web::HttpResponse`
[INFO] [stdout]   --> fast_admin/src/service/user_service.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use actix_web::HttpResponse;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Api`, `GlobalError`
[INFO] [stdout]   --> fast_admin/src/service/user_service.rs:14:39
[INFO] [stdout]    |
[INFO] [stdout] 14 | use fast_common::common::api_result::{Api, GlobalError};
[INFO] [stdout]    |                                       ^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::service::role_service`
[INFO] [stdout]   --> fast_admin/src/service/user_service.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::service::role_service;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fast_common::models::role::Role`
[INFO] [stdout]   --> fast_admin/src/service/user_service.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use fast_common::models::role::Role;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fast_common::models::user::User`
[INFO] [stdout]  --> fast_admin/src/service/role_service.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use fast_common::models::user::User;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RoleVo`
[INFO] [stdout]  --> fast_admin/src/service/role_service.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use fast_common::models::role::{RoleVo, Role};
[INFO] [stdout]   |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fast_common::models::user_role::UserRole`
[INFO] [stdout]  --> fast_admin/src/service/role_service.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use fast_common::models::user_role::UserRole;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request`
[INFO] [stdout]   --> fast_admin/src/controller/index_controller.rs:14:20
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub async fn index(request: HttpRequest) -> HttpResponse {
[INFO] [stdout]    |                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request`
[INFO] [stdout]   --> fast_admin/src/controller/user_controller.rs:16:39
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub async fn list(arg: Query<UserVo>, request: HttpRequest) -> HttpResponse {
[INFO] [stdout]    |                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `menus`
[INFO] [stdout]   --> fast_admin/src/service/user_service.rs:96:37
[INFO] [stdout]    |
[INFO] [stdout] 96 | ...                   let menus = MenuService::find_menus_by_role(roles.unwrap().id.unwrap()).await;
[INFO] [stdout]    |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_menus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> fast_admin/src/service/user_service.rs:133:17
[INFO] [stdout]     |
[INFO] [stdout] 133 |             Err(err) => { Err("验证码错误".to_string()) }
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> fast_admin/src/controller/index_controller.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 |                     RedisUtil::get_redis_util().await.set_string_expire(&user_name,  &png_code.1.iter().collect(), 60).await;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 16 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 8m 18s
[INFO] running `Command { std: "docker" "inspect" "e57ff4f47e82e5a2ed7d5bccd6e0b3892f79035a8cace7f25f4f181e3c5ce5a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e57ff4f47e82e5a2ed7d5bccd6e0b3892f79035a8cace7f25f4f181e3c5ce5a8", kill_on_drop: false }`
[INFO] [stdout] e57ff4f47e82e5a2ed7d5bccd6e0b3892f79035a8cace7f25f4f181e3c5ce5a8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 86ad341c5805f2b500968c21357578d44e3f04ace266f093b8f5ea7078212228
[INFO] running `Command { std: "docker" "start" "-a" "86ad341c5805f2b500968c21357578d44e3f04ace266f093b8f5ea7078212228", kill_on_drop: false }`
[INFO] [stderr]    Compiling fast_api v0.1.0 (/opt/rustwide/workdir/fast_api)
[INFO] [stderr]    Compiling fast_demo v0.1.0 (/opt/rustwide/workdir/fast_demo)
[INFO] [stdout] warning: unused imports: `HttpResponse`, `Responder`
[INFO] [stdout]  --> fast_common/src/common/api_result.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use actix_web::{HttpResponse, Responder};
[INFO] [stdout]   |                 ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Expected`
[INFO] [stdout]  --> fast_common/src/common/api_result.rs:4:35
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::de::{DeserializeOwned, Expected};
[INFO] [stdout]   |                                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serializer`
[INFO] [stdout]  --> fast_common/src/common/api_result.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Serialize, Serializer};
[INFO] [stdout]   |                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_web::dev::HttpResponseBuilder`
[INFO] [stdout]  --> fast_common/src/common/api_result.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use actix_web::dev::HttpResponseBuilder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_http::http::HeaderValue`
[INFO] [stdout]  --> fast_common/src/common/api_result.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use actix_http::http::HeaderValue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CONTENT_DISPOSITION`
[INFO] [stdout]  --> fast_common/src/common/api_result.rs:9:46
[INFO] [stdout]   |
[INFO] [stdout] 9 | use actix_http::http::header::{CONTENT_TYPE, CONTENT_DISPOSITION, ACCESS_CONTROL_ALLOW_ORIGIN, CACHE_CONTROL};
[INFO] [stdout]   |                                              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]   --> fast_common/src/common/api_result.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::fs::File;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::__private::de::Content`
[INFO] [stdout]   --> fast_common/src/common/api_result.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use serde::__private::de::Content;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]   --> fast_common/src/common/api_result.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::error::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HttpRequest`, `HttpResponse`
[INFO] [stdout]  --> fast_common/src/middleware/auth.rs:6:31
[INFO] [stdout]   |
[INFO] [stdout] 6 | use actix_web::{error, Error, HttpRequest, HttpResponse};
[INFO] [stdout]   |                               ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GlobalError`
[INFO] [stdout]   --> fast_common/src/middleware/auth.rs:11:38
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::common::api_result::{Api, GlobalError};
[INFO] [stdout]    |                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BorrowMut`, `Borrow`
[INFO] [stdout]   --> fast_common/src/middleware/auth.rs:12:19
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::borrow::{Borrow, BorrowMut};
[INFO] [stdout]    |                   ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_web::test::ok_service`
[INFO] [stdout]   --> fast_common/src/middleware/auth.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use actix_web::test::ok_service;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ResponseBuilder`, `Response`
[INFO] [stdout]   --> fast_common/src/middleware/auth.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 | use actix_http::{Response, ResponseBuilder, body::Body, HttpMessage};
[INFO] [stdout]    |                  ^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reqwest::StatusCode`
[INFO] [stdout]   --> fast_common/src/middleware/auth.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use reqwest::StatusCode;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `validator::HasLen`
[INFO] [stdout]   --> fast_common/src/middleware/auth.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use validator::HasLen;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_web::error::ReadlinesError::ContentTypeError`
[INFO] [stdout]   --> fast_common/src/middleware/handle_method.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use actix_web::error::ReadlinesError::ContentTypeError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling fast_common v0.1.0 (/opt/rustwide/workdir/fast_common)
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> fast_common/src/base/base_storage.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling fast_admin v0.1.0 (/opt/rustwide/workdir/fast_admin)
[INFO] [stdout] warning: unused import: `Menu`
[INFO] [stdout]  --> fast_common/src/models/role_menu.rs:2:27
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::models::menu::{Menu, MenuVo};
[INFO] [stdout]   |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::models::user_role::UserRole`
[INFO] [stdout]  --> fast_common/src/models/user.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::models::user_role::UserRole;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Timelike`
[INFO] [stdout]  --> fast_common/src/utils/crypt_util.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::{Local, Timelike};
[INFO] [stdout]   |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FromRedisValue`
[INFO] [stdout]  --> fast_common/src/utils/redis_util.rs:1:78
[INFO] [stdout]   |
[INFO] [stdout] 1 | use redis::{AsyncCommands, RedisError, RedisResult, Value, from_redis_value, FromRedisValue};
[INFO] [stdout]   |                                                                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefMut`, `Deref`
[INFO] [stdout]  --> fast_common/src/config/path_filter.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::{DerefMut, Deref};
[INFO] [stdout]   |                ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rb`
[INFO] [stdout]   --> fast_common/src/common/orm_config.rs:47:28
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn do_intercept(&self, rb: &Rbatis, context_id: &str, sql: &mut String, args: &mut Vec<Value>, is_prepared_sql: bool) -> Result<(), E...
[INFO] [stdout]    |                            ^^ help: if this is intentional, prefix it with an underscore: `_rb`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context_id`
[INFO] [stdout]   --> fast_common/src/common/orm_config.rs:47:41
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn do_intercept(&self, rb: &Rbatis, context_id: &str, sql: &mut String, args: &mut Vec<Value>, is_prepared_sql: bool) -> Result<(), E...
[INFO] [stdout]    |                                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> fast_common/src/common/orm_config.rs:47:77
[INFO] [stdout]    |
[INFO] [stdout] 47 | ...xt_id: &str, sql: &mut String, args: &mut Vec<Value>, is_prepared_sql: bool) -> Result<(), Error> {
[INFO] [stdout]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_prepared_sql`
[INFO] [stdout]   --> fast_common/src/common/orm_config.rs:47:100
[INFO] [stdout]    |
[INFO] [stdout] 47 | ...s: &mut Vec<Value>, is_prepared_sql: bool) -> Result<(), Error> {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_prepared_sql`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> fast_common/src/middleware/handle_method.rs:72:29
[INFO] [stdout]    |
[INFO] [stdout] 72 |                         Err(e) => {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sign`
[INFO] [stdout]   --> fast_common/src/utils/crypt_util.rs:59:26
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn encode(&self, sign: &str) -> Result<String, String> {
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_sign`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `claims`
[INFO] [stdout]   --> fast_common/src/utils/crypt_util.rs:84:16
[INFO] [stdout]    |
[INFO] [stdout] 84 |             Ok(claims) => { Ok(()) }
[INFO] [stdout]    |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_claims`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `id`
[INFO] [stdout]  --> fast_common/src/base/base_model.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     id: u64,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `create_time`
[INFO] [stdout]  --> fast_common/src/base/base_model.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     create_time: std::time::SystemTime,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `add`
[INFO] [stdout]  --> fast_common/src/config/path_filter.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn add(&mut self, path: String) -> &mut PathFilter {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> fast_common/src/config/path_filter.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new() -> PathFilter {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tokenData` should have a snake case name
[INFO] [stdout]   --> fast_common/src/utils/crypt_util.rs:72:16
[INFO] [stdout]    |
[INFO] [stdout] 72 |             Ok(tokenData) => { Ok(tokenData.claims) }
[INFO] [stdout]    |                ^^^^^^^^^ help: convert the identifier to snake case: `token_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 35 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fast_common::utils::captcha_util`
[INFO] [stdout]  --> fast_admin/src/controller/index_controller.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use fast_common::utils::captcha_util;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fast_common::models::user::User`
[INFO] [stdout]   --> fast_admin/src/service/menu_service.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use fast_common::models::user::User;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fast_common::models::role::RoleVo`
[INFO] [stdout]   --> fast_admin/src/service/menu_service.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use fast_common::models::role::RoleVo;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> fast_admin/src/service/user_service.rs:2:63
[INFO] [stdout]   |
[INFO] [stdout] 2 | use fast_common::{common::orm_config::RB, utils::redis_util::{self, RedisUtil}};
[INFO] [stdout]   |                                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_web::HttpResponse`
[INFO] [stdout]   --> fast_admin/src/service/user_service.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use actix_web::HttpResponse;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Api`, `GlobalError`
[INFO] [stdout]   --> fast_admin/src/service/user_service.rs:14:39
[INFO] [stdout]    |
[INFO] [stdout] 14 | use fast_common::common::api_result::{Api, GlobalError};
[INFO] [stdout]    |                                       ^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::service::role_service`
[INFO] [stdout]   --> fast_admin/src/service/user_service.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::service::role_service;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fast_common::models::role::Role`
[INFO] [stdout]   --> fast_admin/src/service/user_service.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use fast_common::models::role::Role;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fast_common::models::user::User`
[INFO] [stdout]  --> fast_admin/src/service/role_service.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use fast_common::models::user::User;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RoleVo`
[INFO] [stdout]  --> fast_admin/src/service/role_service.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use fast_common::models::role::{RoleVo, Role};
[INFO] [stdout]   |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fast_common::models::user_role::UserRole`
[INFO] [stdout]  --> fast_admin/src/service/role_service.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use fast_common::models::user_role::UserRole;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] ............gen impl CRUDTable:
[INFO] [stdout]  #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)] pub struct Menu
[INFO] [stdout] {
[INFO] [stdout]     pub id : Option < u64 >, pub menu_name : Option < String >, pub parent_id
[INFO] [stdout]     : Option < u64 >, pub path : Option < String >, pub icon : Option < String
[INFO] [stdout]     >, pub index_no : Option < i32 >, pub remark : Option < String >, pub
[INFO] [stdout]     state : Option < i32 >, pub create_time : Option < NaiveDateTime >,
[INFO] [stdout] } impl rbatis :: crud :: CRUDTable for Menu
[INFO] [stdout] {
[INFO] [stdout]     type IdType = u64 ; fn id_name() -> String { "id".to_string() } fn
[INFO] [stdout]     get_id(& self) -> Option < & Self :: IdType > { self.id.as_ref() } fn
[INFO] [stdout]     table_name() -> String { "menu".to_string() } fn table_columns() -> String
[INFO] [stdout]     {
[INFO] [stdout]         "id,menu_name,parent_id,path,icon,index_no,remark,state,create_time".to_string()
[INFO] [stdout]     } fn formats(driver_type : & rbatis :: core :: db :: DriverType) -> std ::
[INFO] [stdout]     collections :: HashMap < String, fn(arg : & str) -> String >
[INFO] [stdout]     {
[INFO] [stdout]         let mut m = std :: collections :: HashMap :: new() ; match driver_type
[INFO] [stdout]         {
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Mysql => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Postgres => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Sqlite => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Mssql => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: None => { return m ; },
[INFO] [stdout]         }
[INFO] [stdout]     }
[INFO] [stdout] }
[INFO] [stdout] ............gen impl CRUDTable end............
[INFO] [stdout] ............gen impl CRUDTable:
[INFO] [stdout]  #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)] pub struct Role
[INFO] [stdout] {
[INFO] [stdout]     pub id : Option < u64 >, pub role_name : Option < String >, pub index_no :
[INFO] [stdout]     Option < i32 >, pub remark : Option < String >, pub state : Option < i32
[INFO] [stdout]     >, pub create_time : Option < NaiveDateTime >,
[INFO] [stdout] } impl rbatis :: crud :: CRUDTable for Role
[INFO] [stdout] {
[INFO] [stdout]     type IdType = u64 ; fn id_name() -> String { "id".to_string() } fn
[INFO] [stdout]     get_id(& self) -> Option < & Self :: IdType > { self.id.as_ref() } fn
[INFO] [stdout]     table_name() -> String { "role".to_string() } fn table_columns() -> String
[INFO] [stdout]     { "id,role_name,index_no,remark,state,create_time".to_string() } fn
[INFO] [stdout]     formats(driver_type : & rbatis :: core :: db :: DriverType) -> std ::
[INFO] [stdout]     collections :: HashMap < String, fn(arg : & str) -> String >
[INFO] [stdout]     {
[INFO] [stdout]         let mut m = std :: collections :: HashMap :: new() ; match driver_type
[INFO] [stdout]         {
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Mysql => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Postgres => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Sqlite => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Mssql => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: None => { return m ; },
[INFO] [stdout]         }
[INFO] [stdout]     }
[INFO] [stdout] }
[INFO] [stdout] ............gen impl CRUDTable end............
[INFO] [stdout] ............gen impl CRUDTable:
[INFO] [stdout]  #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)] pub struct User
[INFO] [stdout] {
[INFO] [stdout]     pub id : Option < u64 >, pub user_name : Option < String >, pub age :
[INFO] [stdout]     Option < u64 >, pub create_time : Option < NaiveDateTime >, pub password :
[INFO] [stdout]     Option < String >,
[INFO] [stdout] } impl rbatis :: crud :: CRUDTable for User
[INFO] [stdout] {
[INFO] [stdout]     type IdType = u64 ; fn id_name() -> String { "id".to_string() } fn
[INFO] [stdout]     get_id(& self) -> Option < & Self :: IdType > { self.id.as_ref() } fn
[INFO] [stdout]     table_name() -> String { "user".to_string() } fn table_columns() -> String
[INFO] [stdout]     { "id,user_name,age,create_time,password".to_string() } fn
[INFO] [stdout]     formats(driver_type : & rbatis :: core :: db :: DriverType) -> std ::
[INFO] [stdout]     collections :: HashMap < String, fn(arg : & str) -> String >
[INFO] [stdout]     {
[INFO] [stdout]         let mut m = std :: collections :: HashMap :: new() ; match driver_type
[INFO] [stdout]         {
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Mysql => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Postgres => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Sqlite => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Mssql => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: None => { return m ; },
[INFO] [stdout]         }
[INFO] [stdout]     }
[INFO] [stdout] }
[INFO] [stdout] ............gen impl CRUDTable end............
[INFO] [stdout] warning: unused imports: `HttpResponse`, `Responder`
[INFO] [stdout]  --> fast_common/src/common/api_result.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use actix_web::{HttpResponse, Responder};
[INFO] [stdout]   |                 ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Expected`
[INFO] [stdout]  --> fast_common/src/common/api_result.rs:4:35
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::de::{DeserializeOwned, Expected};
[INFO] [stdout]   |                                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serializer`
[INFO] [stdout]  --> fast_common/src/common/api_result.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Serialize, Serializer};
[INFO] [stdout]   |                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_web::dev::HttpResponseBuilder`
[INFO] [stdout]  --> fast_common/src/common/api_result.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use actix_web::dev::HttpResponseBuilder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_http::http::HeaderValue`
[INFO] [stdout]  --> fast_common/src/common/api_result.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use actix_http::http::HeaderValue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CONTENT_DISPOSITION`
[INFO] [stdout]  --> fast_common/src/common/api_result.rs:9:46
[INFO] [stdout]   |
[INFO] [stdout] 9 | use actix_http::http::header::{CONTENT_TYPE, CONTENT_DISPOSITION, ACCESS_CONTROL_ALLOW_ORIGIN, CACHE_CONTROL};
[INFO] [stdout]   |                                              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]   --> fast_common/src/common/api_result.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::fs::File;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::__private::de::Content`
[INFO] [stdout]   --> fast_common/src/common/api_result.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use serde::__private::de::Content;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]   --> fast_common/src/common/api_result.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::error::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HttpRequest`, `HttpResponse`
[INFO] [stdout]  --> fast_common/src/middleware/auth.rs:6:31
[INFO] [stdout]   |
[INFO] [stdout] 6 | use actix_web::{error, Error, HttpRequest, HttpResponse};
[INFO] [stdout]   |                               ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GlobalError`
[INFO] [stdout]   --> fast_common/src/middleware/auth.rs:11:38
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::common::api_result::{Api, GlobalError};
[INFO] [stdout]    |                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BorrowMut`, `Borrow`
[INFO] [stdout]   --> fast_common/src/middleware/auth.rs:12:19
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::borrow::{Borrow, BorrowMut};
[INFO] [stdout]    |                   ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_web::test::ok_service`
[INFO] [stdout]   --> fast_common/src/middleware/auth.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use actix_web::test::ok_service;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ResponseBuilder`, `Response`
[INFO] [stdout]   --> fast_common/src/middleware/auth.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 | use actix_http::{Response, ResponseBuilder, body::Body, HttpMessage};
[INFO] [stdout]    |                  ^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reqwest::StatusCode`
[INFO] [stdout]   --> fast_common/src/middleware/auth.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use reqwest::StatusCode;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `validator::HasLen`
[INFO] [stdout]   --> fast_common/src/middleware/auth.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use validator::HasLen;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_web::error::ReadlinesError::ContentTypeError`
[INFO] [stdout]   --> fast_common/src/middleware/handle_method.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use actix_web::error::ReadlinesError::ContentTypeError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> fast_common/src/base/base_storage.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Menu`
[INFO] [stdout]  --> fast_common/src/models/role_menu.rs:2:27
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::models::menu::{Menu, MenuVo};
[INFO] [stdout]   |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::models::user_role::UserRole`
[INFO] [stdout]  --> fast_common/src/models/user.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::models::user_role::UserRole;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Timelike`
[INFO] [stdout]  --> fast_common/src/utils/crypt_util.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::{Local, Timelike};
[INFO] [stdout]   |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FromRedisValue`
[INFO] [stdout]  --> fast_common/src/utils/redis_util.rs:1:78
[INFO] [stdout]   |
[INFO] [stdout] 1 | use redis::{AsyncCommands, RedisError, RedisResult, Value, from_redis_value, FromRedisValue};
[INFO] [stdout]   |                                                                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefMut`, `Deref`
[INFO] [stdout]  --> fast_common/src/config/path_filter.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::{DerefMut, Deref};
[INFO] [stdout]   |                ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request`
[INFO] [stdout]   --> fast_admin/src/controller/index_controller.rs:14:20
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub async fn index(request: HttpRequest) -> HttpResponse {
[INFO] [stdout]    |                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request`
[INFO] [stdout]   --> fast_admin/src/controller/user_controller.rs:16:39
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub async fn list(arg: Query<UserVo>, request: HttpRequest) -> HttpResponse {
[INFO] [stdout]    |                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `menus`
[INFO] [stdout]   --> fast_admin/src/service/user_service.rs:96:37
[INFO] [stdout]    |
[INFO] [stdout] 96 | ...                   let menus = MenuService::find_menus_by_role(roles.unwrap().id.unwrap()).await;
[INFO] [stdout]    |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_menus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> fast_admin/src/service/user_service.rs:133:17
[INFO] [stdout]     |
[INFO] [stdout] 133 |             Err(err) => { Err("验证码错误".to_string()) }
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> fast_admin/src/controller/index_controller.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 |                     RedisUtil::get_redis_util().await.set_string_expire(&user_name,  &png_code.1.iter().collect(), 60).await;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rb`
[INFO] [stdout]   --> fast_common/src/common/orm_config.rs:47:28
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn do_intercept(&self, rb: &Rbatis, context_id: &str, sql: &mut String, args: &mut Vec<Value>, is_prepared_sql: bool) -> Result<(), E...
[INFO] [stdout]    |                            ^^ help: if this is intentional, prefix it with an underscore: `_rb`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context_id`
[INFO] [stdout]   --> fast_common/src/common/orm_config.rs:47:41
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn do_intercept(&self, rb: &Rbatis, context_id: &str, sql: &mut String, args: &mut Vec<Value>, is_prepared_sql: bool) -> Result<(), E...
[INFO] [stdout]    |                                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> fast_common/src/common/orm_config.rs:47:77
[INFO] [stdout]    |
[INFO] [stdout] 47 | ...xt_id: &str, sql: &mut String, args: &mut Vec<Value>, is_prepared_sql: bool) -> Result<(), Error> {
[INFO] [stdout]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_prepared_sql`
[INFO] [stdout]   --> fast_common/src/common/orm_config.rs:47:100
[INFO] [stdout]    |
[INFO] [stdout] 47 | ...s: &mut Vec<Value>, is_prepared_sql: bool) -> Result<(), Error> {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_prepared_sql`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> fast_common/src/middleware/handle_method.rs:72:29
[INFO] [stdout]    |
[INFO] [stdout] 72 |                         Err(e) => {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sign`
[INFO] [stdout]   --> fast_common/src/utils/crypt_util.rs:59:26
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn encode(&self, sign: &str) -> Result<String, String> {
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_sign`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `claims`
[INFO] [stdout]   --> fast_common/src/utils/crypt_util.rs:84:16
[INFO] [stdout]    |
[INFO] [stdout] 84 |             Ok(claims) => { Ok(()) }
[INFO] [stdout]    |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_claims`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> fast_common/src/config/path_filter.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let x = t.add("abc".to_string()).add("bcd".to_owned());
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `id`
[INFO] [stdout]  --> fast_common/src/base/base_model.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     id: u64,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `create_time`
[INFO] [stdout]  --> fast_common/src/base/base_model.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     create_time: std::time::SystemTime,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tokenData` should have a snake case name
[INFO] [stdout]   --> fast_common/src/utils/crypt_util.rs:72:16
[INFO] [stdout]    |
[INFO] [stdout] 72 |             Ok(tokenData) => { Ok(tokenData.claims) }
[INFO] [stdout]    |                ^^^^^^^^^ help: convert the identifier to snake case: `token_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 16 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 34 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 16.46s
[INFO] running `Command { std: "docker" "inspect" "86ad341c5805f2b500968c21357578d44e3f04ace266f093b8f5ea7078212228", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "86ad341c5805f2b500968c21357578d44e3f04ace266f093b8f5ea7078212228", kill_on_drop: false }`
[INFO] [stdout] 86ad341c5805f2b500968c21357578d44e3f04ace266f093b8f5ea7078212228
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 03d2229428ddaf0abc7bad4efe40ac5015ef5c99d42ce76dfd60cc3fdb6aff35
[INFO] running `Command { std: "docker" "start" "-a" "03d2229428ddaf0abc7bad4efe40ac5015ef5c99d42ce76dfd60cc3fdb6aff35", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr] warning: unused imports: `HttpResponse`, `Responder`
[INFO] [stderr]  --> fast_common/src/common/api_result.rs:2:17
[INFO] [stderr]   |
[INFO] [stderr] 2 | use actix_web::{HttpResponse, Responder};
[INFO] [stderr]   |                 ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Expected`
[INFO] [stderr]  --> fast_common/src/common/api_result.rs:4:35
[INFO] [stderr]   |
[INFO] [stderr] 4 | use serde::de::{DeserializeOwned, Expected};
[INFO] [stderr]   |                                   ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Serializer`
[INFO] [stderr]  --> fast_common/src/common/api_result.rs:5:24
[INFO] [stderr]   |
[INFO] [stderr] 5 | use serde::{Serialize, Serializer};
[INFO] [stderr]   |                        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `actix_web::dev::HttpResponseBuilder`
[INFO] [stderr]  --> fast_common/src/common/api_result.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use actix_web::dev::HttpResponseBuilder;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `actix_http::http::HeaderValue`
[INFO] [stderr]  --> fast_common/src/common/api_result.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use actix_http::http::HeaderValue;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `CONTENT_DISPOSITION`
[INFO] [stderr]  --> fast_common/src/common/api_result.rs:9:46
[INFO] [stderr]   |
[INFO] [stderr] 9 | use actix_http::http::header::{CONTENT_TYPE, CONTENT_DISPOSITION, ACCESS_CONTROL_ALLOW_ORIGIN, CACHE_CONTROL};
[INFO] [stderr]   |                                              ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs::File`
[INFO] [stderr]   --> fast_common/src/common/api_result.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::fs::File;
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde::__private::de::Content`
[INFO] [stderr]   --> fast_common/src/common/api_result.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use serde::__private::de::Content;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::error::Error`
[INFO] [stderr]   --> fast_common/src/common/api_result.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | use std::error::Error;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `HttpRequest`, `HttpResponse`
[INFO] [stderr]  --> fast_common/src/middleware/auth.rs:6:31
[INFO] [stderr]   |
[INFO] [stderr] 6 | use actix_web::{error, Error, HttpRequest, HttpResponse};
[INFO] [stderr]   |                               ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `GlobalError`
[INFO] [stderr]   --> fast_common/src/middleware/auth.rs:11:38
[INFO] [stderr]    |
[INFO] [stderr] 11 | use crate::common::api_result::{Api, GlobalError};
[INFO] [stderr]    |                                      ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BorrowMut`, `Borrow`
[INFO] [stderr]   --> fast_common/src/middleware/auth.rs:12:19
[INFO] [stderr]    |
[INFO] [stderr] 12 | use std::borrow::{Borrow, BorrowMut};
[INFO] [stderr]    |                   ^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `actix_web::test::ok_service`
[INFO] [stderr]   --> fast_common/src/middleware/auth.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use actix_web::test::ok_service;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ResponseBuilder`, `Response`
[INFO] [stderr]   --> fast_common/src/middleware/auth.rs:14:18
[INFO] [stderr]    |
[INFO] [stderr] 14 | use actix_http::{Response, ResponseBuilder, body::Body, HttpMessage};
[INFO] [stderr]    |                  ^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `reqwest::StatusCode`
[INFO] [stderr]   --> fast_common/src/middleware/auth.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use reqwest::StatusCode;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `validator::HasLen`
[INFO] [stderr]   --> fast_common/src/middleware/auth.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | use validator::HasLen;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `actix_web::error::ReadlinesError::ContentTypeError`
[INFO] [stderr]   --> fast_common/src/middleware/handle_method.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use actix_web::error::ReadlinesError::ContentTypeError;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::future::Future`
[INFO] [stderr]  --> fast_common/src/base/base_storage.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::future::Future;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Menu`
[INFO] [stderr]  --> fast_common/src/models/role_menu.rs:2:27
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::models::menu::{Menu, MenuVo};
[INFO] [stderr]   |                           ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::models::user_role::UserRole`
[INFO] [stderr]  --> fast_common/src/models/user.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::models::user_role::UserRole;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Timelike`
[INFO] [stderr]  --> fast_common/src/utils/crypt_util.rs:4:21
[INFO] [stderr]   |
[INFO] [stderr] 4 | use chrono::{Local, Timelike};
[INFO] [stderr]   |                     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `FromRedisValue`
[INFO] [stderr]  --> fast_common/src/utils/redis_util.rs:1:78
[INFO] [stderr]   |
[INFO] [stderr] 1 | use redis::{AsyncCommands, RedisError, RedisResult, Value, from_redis_value, FromRedisValue};
[INFO] [stderr]   |                                                                              ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `DerefMut`, `Deref`
[INFO] [stderr]  --> fast_common/src/config/path_filter.rs:1:16
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::ops::{DerefMut, Deref};
[INFO] [stderr]   |                ^^^^^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rb`
[INFO] [stderr]   --> fast_common/src/common/orm_config.rs:47:28
[INFO] [stderr]    |
[INFO] [stderr] 47 |     fn do_intercept(&self, rb: &Rbatis, context_id: &str, sql: &mut String, args: &mut Vec<Value>, is_prepared_sql: bool) -> Result<(), E...
[INFO] [stderr]    |                            ^^ help: if this is intentional, prefix it with an underscore: `_rb`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `context_id`
[INFO] [stderr]   --> fast_common/src/common/orm_config.rs:47:41
[INFO] [stderr]    |
[INFO] [stderr] 47 |     fn do_intercept(&self, rb: &Rbatis, context_id: &str, sql: &mut String, args: &mut Vec<Value>, is_prepared_sql: bool) -> Result<(), E...
[INFO] [stderr]    |                                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `args`
[INFO] [stderr]   --> fast_common/src/common/orm_config.rs:47:77
[INFO] [stderr]    |
[INFO] [stderr] 47 | ...xt_id: &str, sql: &mut String, args: &mut Vec<Value>, is_prepared_sql: bool) -> Result<(), Error> {
[INFO] [stderr]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `is_prepared_sql`
[INFO] [stderr]   --> fast_common/src/common/orm_config.rs:47:100
[INFO] [stderr]    |
[INFO] [stderr] 47 | ...s: &mut Vec<Value>, is_prepared_sql: bool) -> Result<(), Error> {
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_prepared_sql`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]   --> fast_common/src/middleware/handle_method.rs:72:29
[INFO] [stderr]    |
[INFO] [stderr] 72 |                         Err(e) => {
[INFO] [stderr]    |                             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sign`
[INFO] [stderr]   --> fast_common/src/utils/crypt_util.rs:59:26
[INFO] [stderr]    |
[INFO] [stderr] 59 |     pub fn encode(&self, sign: &str) -> Result<String, String> {
[INFO] [stderr]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_sign`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `claims`
[INFO] [stderr]   --> fast_common/src/utils/crypt_util.rs:84:16
[INFO] [stderr]    |
[INFO] [stderr] 84 |             Ok(claims) => { Ok(()) }
[INFO] [stderr]    |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_claims`
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `id`
[INFO] [stderr]  --> fast_common/src/base/base_model.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 |     id: u64,
[INFO] [stderr]   |     ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `create_time`
[INFO] [stderr]  --> fast_common/src/base/base_model.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 |     create_time: std::time::SystemTime,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `add`
[INFO] [stderr]  --> fast_common/src/config/path_filter.rs:9:12
[INFO] [stderr]   |
[INFO] [stderr] 9 |     pub fn add(&mut self, path: String) -> &mut PathFilter {
[INFO] [stderr]   |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new`
[INFO] [stderr]   --> fast_common/src/config/path_filter.rs:14:12
[INFO] [stderr]    |
[INFO] [stderr] 14 |     pub fn new() -> PathFilter {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable `tokenData` should have a snake case name
[INFO] [stderr]   --> fast_common/src/utils/crypt_util.rs:72:16
[INFO] [stderr]    |
[INFO] [stderr] 72 |             Ok(tokenData) => { Ok(tokenData.claims) }
[INFO] [stderr]    |                ^^^^^^^^^ help: convert the identifier to snake case: `token_data`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: 35 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `HttpResponse`, `Responder`
[INFO] [stderr]  --> fast_common/src/common/api_result.rs:2:17
[INFO] [stderr]   |
[INFO] [stderr] 2 | use actix_web::{HttpResponse, Responder};
[INFO] [stderr]   |                 ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Expected`
[INFO] [stderr]  --> fast_common/src/common/api_result.rs:4:35
[INFO] [stderr]   |
[INFO] [stderr] 4 | use serde::de::{DeserializeOwned, Expected};
[INFO] [stderr]   |                                   ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Serializer`
[INFO] [stderr]  --> fast_common/src/common/api_result.rs:5:24
[INFO] [stderr]   |
[INFO] [stderr] 5 | use serde::{Serialize, Serializer};
[INFO] [stderr]   |                        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `actix_web::dev::HttpResponseBuilder`
[INFO] [stderr]  --> fast_common/src/common/api_result.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use actix_web::dev::HttpResponseBuilder;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `actix_http::http::HeaderValue`
[INFO] [stderr]  --> fast_common/src/common/api_result.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use actix_http::http::HeaderValue;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `CONTENT_DISPOSITION`
[INFO] [stderr]  --> fast_common/src/common/api_result.rs:9:46
[INFO] [stderr]   |
[INFO] [stderr] 9 | use actix_http::http::header::{CONTENT_TYPE, CONTENT_DISPOSITION, ACCESS_CONTROL_ALLOW_ORIGIN, CACHE_CONTROL};
[INFO] [stderr]   |                                              ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs::File`
[INFO] [stderr]   --> fast_common/src/common/api_result.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::fs::File;
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde::__private::de::Content`
[INFO] [stderr]   --> fast_common/src/common/api_result.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use serde::__private::de::Content;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::error::Error`
[INFO] [stderr]   --> fast_common/src/common/api_result.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | use std::error::Error;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `HttpRequest`, `HttpResponse`
[INFO] [stderr]  --> fast_common/src/middleware/auth.rs:6:31
[INFO] [stderr]   |
[INFO] [stderr] 6 | use actix_web::{error, Error, HttpRequest, HttpResponse};
[INFO] [stderr]   |                               ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `GlobalError`
[INFO] [stderr]   --> fast_common/src/middleware/auth.rs:11:38
[INFO] [stderr]    |
[INFO] [stderr] 11 | use crate::common::api_result::{Api, GlobalError};
[INFO] [stderr]    |                                      ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BorrowMut`, `Borrow`
[INFO] [stderr]   --> fast_common/src/middleware/auth.rs:12:19
[INFO] [stderr]    |
[INFO] [stderr] 12 | use std::borrow::{Borrow, BorrowMut};
[INFO] [stderr]    |                   ^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `actix_web::test::ok_service`
[INFO] [stderr]   --> fast_common/src/middleware/auth.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use actix_web::test::ok_service;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ResponseBuilder`, `Response`
[INFO] [stderr]   --> fast_common/src/middleware/auth.rs:14:18
[INFO] [stderr]    |
[INFO] [stderr] 14 | use actix_http::{Response, ResponseBuilder, body::Body, HttpMessage};
[INFO] [stderr]    |                  ^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `reqwest::StatusCode`
[INFO] [stderr]   --> fast_common/src/middleware/auth.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use reqwest::StatusCode;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `validator::HasLen`
[INFO] [stderr]   --> fast_common/src/middleware/auth.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | use validator::HasLen;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `actix_web::error::ReadlinesError::ContentTypeError`
[INFO] [stderr]   --> fast_common/src/middleware/handle_method.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use actix_web::error::ReadlinesError::ContentTypeError;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::future::Future`
[INFO] [stderr]  --> fast_common/src/base/base_storage.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::future::Future;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Menu`
[INFO] [stderr]  --> fast_common/src/models/role_menu.rs:2:27
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::models::menu::{Menu, MenuVo};
[INFO] [stderr]   |                           ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::models::user_role::UserRole`
[INFO] [stderr]  --> fast_common/src/models/user.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::models::user_role::UserRole;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Timelike`
[INFO] [stderr]  --> fast_common/src/utils/crypt_util.rs:4:21
[INFO] [stderr]   |
[INFO] [stderr] 4 | use chrono::{Local, Timelike};
[INFO] [stderr]   |                     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `FromRedisValue`
[INFO] [stderr]  --> fast_common/src/utils/redis_util.rs:1:78
[INFO] [stderr]   |
[INFO] [stderr] 1 | use redis::{AsyncCommands, RedisError, RedisResult, Value, from_redis_value, FromRedisValue};
[INFO] [stderr]   |                                                                              ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `DerefMut`, `Deref`
[INFO] [stderr]  --> fast_common/src/config/path_filter.rs:1:16
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::ops::{DerefMut, Deref};
[INFO] [stderr]   |                ^^^^^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rb`
[INFO] [stderr]   --> fast_common/src/common/orm_config.rs:47:28
[INFO] [stderr]    |
[INFO] [stderr] 47 |     fn do_intercept(&self, rb: &Rbatis, context_id: &str, sql: &mut String, args: &mut Vec<Value>, is_prepared_sql: bool) -> Result<(), E...
[INFO] [stderr]    |                            ^^ help: if this is intentional, prefix it with an underscore: `_rb`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `context_id`
[INFO] [stderr]   --> fast_common/src/common/orm_config.rs:47:41
[INFO] [stderr]    |
[INFO] [stderr] 47 |     fn do_intercept(&self, rb: &Rbatis, context_id: &str, sql: &mut String, args: &mut Vec<Value>, is_prepared_sql: bool) -> Result<(), E...
[INFO] [stderr]    |                                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `args`
[INFO] [stderr]   --> fast_common/src/common/orm_config.rs:47:77
[INFO] [stderr]    |
[INFO] [stderr] 47 | ...xt_id: &str, sql: &mut String, args: &mut Vec<Value>, is_prepared_sql: bool) -> Result<(), Error> {
[INFO] [stderr]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `is_prepared_sql`
[INFO] [stderr]   --> fast_common/src/common/orm_config.rs:47:100
[INFO] [stderr]    |
[INFO] [stderr] 47 | ...s: &mut Vec<Value>, is_prepared_sql: bool) -> Result<(), Error> {
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_prepared_sql`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]   --> fast_common/src/middleware/handle_method.rs:72:29
[INFO] [stderr]    |
[INFO] [stderr] 72 |                         Err(e) => {
[INFO] [stderr]    |                             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sign`
[INFO] [stderr]   --> fast_common/src/utils/crypt_util.rs:59:26
[INFO] [stderr]    |
[INFO] [stderr] 59 |     pub fn encode(&self, sign: &str) -> Result<String, String> {
[INFO] [stderr]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_sign`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `claims`
[INFO] [stderr]   --> fast_common/src/utils/crypt_util.rs:84:16
[INFO] [stderr]    |
[INFO] [stderr] 84 |             Ok(claims) => { Ok(()) }
[INFO] [stderr]    |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_claims`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]   --> fast_common/src/config/path_filter.rs:23:9
[INFO] [stderr]    |
[INFO] [stderr] 23 |     let x = t.add("abc".to_string()).add("bcd".to_owned());
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `id`
[INFO] [stderr]  --> fast_common/src/base/base_model.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 |     id: u64,
[INFO] [stderr]   |     ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `create_time`
[INFO] [stderr]  --> fast_common/src/base/base_model.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 |     create_time: std::time::SystemTime,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable `tokenData` should have a snake case name
[INFO] [stderr]   --> fast_common/src/utils/crypt_util.rs:72:16
[INFO] [stderr]    |
[INFO] [stderr] 72 |             Ok(tokenData) => { Ok(tokenData.claims) }
[INFO] [stderr]    |                ^^^^^^^^^ help: convert the identifier to snake case: `token_data`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: 34 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `fast_common::utils::captcha_util`
[INFO] [stderr]  --> fast_admin/src/controller/index_controller.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use fast_common::utils::captcha_util;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `fast_common::models::user::User`
[INFO] [stderr]   --> fast_admin/src/service/menu_service.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use fast_common::models::user::User;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `fast_common::models::role::RoleVo`
[INFO] [stderr]   --> fast_admin/src/service/menu_service.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use fast_common::models::role::RoleVo;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `self`
[INFO] [stderr]  --> fast_admin/src/service/user_service.rs:2:63
[INFO] [stderr]   |
[INFO] [stderr] 2 | use fast_common::{common::orm_config::RB, utils::redis_util::{self, RedisUtil}};
[INFO] [stderr]   |                                                               ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `actix_web::HttpResponse`
[INFO] [stderr]   --> fast_admin/src/service/user_service.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use actix_web::HttpResponse;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Api`, `GlobalError`
[INFO] [stderr]   --> fast_admin/src/service/user_service.rs:14:39
[INFO] [stderr]    |
[INFO] [stderr] 14 | use fast_common::common::api_result::{Api, GlobalError};
[INFO] [stderr]    |                                       ^^^  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::service::role_service`
[INFO] [stderr]   --> fast_admin/src/service/user_service.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | use crate::service::role_service;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `fast_common::models::role::Role`
[INFO] [stderr]   --> fast_admin/src/service/user_service.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 | use fast_common::models::role::Role;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `fast_common::models::user::User`
[INFO] [stderr]  --> fast_admin/src/service/role_service.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use fast_common::models::user::User;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `RoleVo`
[INFO] [stderr]  --> fast_admin/src/service/role_service.rs:2:33
[INFO] [stderr]   |
[INFO] [stderr] 2 | use fast_common::models::role::{RoleVo, Role};
[INFO] [stderr]   |                                 ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `fast_common::models::user_role::UserRole`
[INFO] [stderr]  --> fast_admin/src/service/role_service.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use fast_common::models::user_role::UserRole;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `request`
[INFO] [stderr]   --> fast_admin/src/controller/index_controller.rs:14:20
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub async fn index(request: HttpRequest) -> HttpResponse {
[INFO] [stderr]    |                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `request`
[INFO] [stderr]   --> fast_admin/src/controller/user_controller.rs:16:39
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub async fn list(arg: Query<UserVo>, request: HttpRequest) -> HttpResponse {
[INFO] [stderr]    |                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `menus`
[INFO] [stderr]   --> fast_admin/src/service/user_service.rs:96:37
[INFO] [stderr]    |
[INFO] [stderr] 96 | ...                   let menus = MenuService::find_menus_by_role(roles.unwrap().id.unwrap()).await;
[INFO] [stderr]    |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_menus`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `err`
[INFO] [stderr]    --> fast_admin/src/service/user_service.rs:133:17
[INFO] [stderr]     |
[INFO] [stderr] 133 |             Err(err) => { Err("验证码错误".to_string()) }
[INFO] [stderr]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> fast_admin/src/controller/index_controller.rs:27:21
[INFO] [stderr]    |
[INFO] [stderr] 27 |                     RedisUtil::get_redis_util().await.set_string_expire(&user_name,  &png_code.1.iter().collect(), 60).await;
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: 16 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 16.63s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/fast_admin-4b5fa964f0e59412)
[INFO] [stdout] running 1 test
[INFO] [stdout] test service::user_service::test ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/fast_api-ae95dd5d35c996ff)
[INFO] [stdout] 
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/fast_common-32c494900c2a8955)
[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 2 tests
[INFO] [stdout] test config::path_filter::test ... ok
[INFO] [stdout] test utils::crypt_util::test ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/fast_demo-07fdc3d55f747589)
[INFO] [stderr]    Doc-tests fast_common
[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] [stdout] ............gen impl CRUDTable:
[INFO] [stdout]  #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)] pub struct Menu
[INFO] [stdout] {
[INFO] [stdout]     pub id : Option < u64 >, pub menu_name : Option < String >, pub parent_id
[INFO] [stdout]     : Option < u64 >, pub path : Option < String >, pub icon : Option < String
[INFO] [stdout]     >, pub index_no : Option < i32 >, pub remark : Option < String >, pub
[INFO] [stdout]     state : Option < i32 >, pub create_time : Option < NaiveDateTime >,
[INFO] [stdout] } impl rbatis :: crud :: CRUDTable for Menu
[INFO] [stdout] {
[INFO] [stdout]     type IdType = u64 ; fn id_name() -> String { "id".to_string() } fn
[INFO] [stdout]     get_id(& self) -> Option < & Self :: IdType > { self.id.as_ref() } fn
[INFO] [stdout]     table_name() -> String { "menu".to_string() } fn table_columns() -> String
[INFO] [stdout]     {
[INFO] [stdout]         "id,menu_name,parent_id,path,icon,index_no,remark,state,create_time".to_string()
[INFO] [stdout]     } fn formats(driver_type : & rbatis :: core :: db :: DriverType) -> std ::
[INFO] [stdout]     collections :: HashMap < String, fn(arg : & str) -> String >
[INFO] [stdout]     {
[INFO] [stdout]         let mut m = std :: collections :: HashMap :: new() ; match driver_type
[INFO] [stdout]         {
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Mysql => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Postgres => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Sqlite => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Mssql => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: None => { return m ; },
[INFO] [stdout]         }
[INFO] [stdout]     }
[INFO] [stdout] }
[INFO] [stdout] ............gen impl CRUDTable end............
[INFO] [stdout] ............gen impl CRUDTable:
[INFO] [stdout]  #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)] pub struct Role
[INFO] [stdout] {
[INFO] [stdout]     pub id : Option < u64 >, pub role_name : Option < String >, pub index_no :
[INFO] [stdout]     Option < i32 >, pub remark : Option < String >, pub state : Option < i32
[INFO] [stdout]     >, pub create_time : Option < NaiveDateTime >,
[INFO] [stdout] } impl rbatis :: crud :: CRUDTable for Role
[INFO] [stdout] {
[INFO] [stdout]     type IdType = u64 ; fn id_name() -> String { "id".to_string() } fn
[INFO] [stdout]     get_id(& self) -> Option < & Self :: IdType > { self.id.as_ref() } fn
[INFO] [stdout]     table_name() -> String { "role".to_string() } fn table_columns() -> String
[INFO] [stdout]     { "id,role_name,index_no,remark,state,create_time".to_string() } fn
[INFO] [stdout]     formats(driver_type : & rbatis :: core :: db :: DriverType) -> std ::
[INFO] [stdout]     collections :: HashMap < String, fn(arg : & str) -> String >
[INFO] [stdout]     {
[INFO] [stdout]         let mut m = std :: collections :: HashMap :: new() ; match driver_type
[INFO] [stdout]         {
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Mysql => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Postgres => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Sqlite => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Mssql => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: None => { return m ; },
[INFO] [stdout]         }
[INFO] [stdout]     }
[INFO] [stdout] }
[INFO] [stdout] ............gen impl CRUDTable end............
[INFO] [stdout] ............gen impl CRUDTable:
[INFO] [stdout]  #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)] pub struct User
[INFO] [stdout] {
[INFO] [stdout]     pub id : Option < u64 >, pub user_name : Option < String >, pub age :
[INFO] [stdout]     Option < u64 >, pub create_time : Option < NaiveDateTime >, pub password :
[INFO] [stdout]     Option < String >,
[INFO] [stdout] } impl rbatis :: crud :: CRUDTable for User
[INFO] [stdout] {
[INFO] [stdout]     type IdType = u64 ; fn id_name() -> String { "id".to_string() } fn
[INFO] [stdout]     get_id(& self) -> Option < & Self :: IdType > { self.id.as_ref() } fn
[INFO] [stdout]     table_name() -> String { "user".to_string() } fn table_columns() -> String
[INFO] [stdout]     { "id,user_name,age,create_time,password".to_string() } fn
[INFO] [stdout]     formats(driver_type : & rbatis :: core :: db :: DriverType) -> std ::
[INFO] [stdout]     collections :: HashMap < String, fn(arg : & str) -> String >
[INFO] [stdout]     {
[INFO] [stdout]         let mut m = std :: collections :: HashMap :: new() ; match driver_type
[INFO] [stdout]         {
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Mysql => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Postgres => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Sqlite => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: Mssql => { return m ; },
[INFO] [stdout]             rbatis :: core :: db :: DriverType :: None => { return m ; },
[INFO] [stdout]         }
[INFO] [stdout]     }
[INFO] [stdout] }
[INFO] [stdout] ............gen impl CRUDTable end............
[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" "03d2229428ddaf0abc7bad4efe40ac5015ef5c99d42ce76dfd60cc3fdb6aff35", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "03d2229428ddaf0abc7bad4efe40ac5015ef5c99d42ce76dfd60cc3fdb6aff35", kill_on_drop: false }`
[INFO] [stdout] 03d2229428ddaf0abc7bad4efe40ac5015ef5c99d42ce76dfd60cc3fdb6aff35
