[INFO] cloning repository https://github.com/ZzQhXdH/rust-make [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ZzQhXdH/rust-make" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FZzQhXdH%2Frust-make", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FZzQhXdH%2Frust-make'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 8069034f7cce651341c2004c7d422e1bd9755760 [INFO] building ZzQhXdH/rust-make against try#8b8eff55bd72abbb57167bc42222a7f91d41cb0d for pr-142134-abi-ast-error [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FZzQhXdH%2Frust-make" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/ZzQhXdH/rust-make on toolchain 8b8eff55bd72abbb57167bc42222a7f91d41cb0d [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8b8eff55bd72abbb57167bc42222a7f91d41cb0d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-4-tc2/source/.cargo/config [INFO] started tweaking git repo https://github.com/ZzQhXdH/rust-make [INFO] finished tweaking git repo https://github.com/ZzQhXdH/rust-make [INFO] tweaked toml for git repo https://github.com/ZzQhXdH/rust-make written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/ZzQhXdH/rust-make already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8b8eff55bd72abbb57167bc42222a7f91d41cb0d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+8b8eff55bd72abbb57167bc42222a7f91d41cb0d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4f3204d68b6b61959a97551c2d8d812037919842e523ba35c3e4b9bc52bc1324 [INFO] running `Command { std: "docker" "start" "-a" "4f3204d68b6b61959a97551c2d8d812037919842e523ba35c3e4b9bc52bc1324", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4f3204d68b6b61959a97551c2d8d812037919842e523ba35c3e4b9bc52bc1324", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4f3204d68b6b61959a97551c2d8d812037919842e523ba35c3e4b9bc52bc1324", kill_on_drop: false }` [INFO] [stdout] 4f3204d68b6b61959a97551c2d8d812037919842e523ba35c3e4b9bc52bc1324 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+8b8eff55bd72abbb57167bc42222a7f91d41cb0d" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 771108064bde2ad6e7ab47800bd85771d931b02b48eee6846a15289102cae64a [INFO] running `Command { std: "docker" "start" "-a" "771108064bde2ad6e7ab47800bd85771d931b02b48eee6846a15289102cae64a", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.76 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling futures-core v0.3.30 [INFO] [stderr] Compiling libc v0.2.152 [INFO] [stderr] Compiling pin-project-lite v0.2.13 [INFO] [stderr] Compiling version_check v0.9.4 [INFO] [stderr] Compiling serde v1.0.195 [INFO] [stderr] Compiling parking_lot_core v0.9.9 [INFO] [stderr] Compiling smallvec v1.11.2 [INFO] [stderr] Compiling bytes v1.5.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.19 [INFO] [stderr] Compiling once_cell v1.19.0 [INFO] [stderr] Compiling bitflags v2.4.1 [INFO] [stderr] Compiling log v0.4.20 [INFO] [stderr] Compiling typenum v1.17.0 [INFO] [stderr] Compiling zerocopy v0.7.32 [INFO] [stderr] Compiling itoa v1.0.10 [INFO] [stderr] Compiling futures-sink v0.3.30 [INFO] [stderr] Compiling allocator-api2 v0.2.16 [INFO] [stderr] Compiling memchr v2.7.1 [INFO] [stderr] Compiling thiserror v1.0.56 [INFO] [stderr] Compiling futures-task v0.3.30 [INFO] [stderr] Compiling cpufeatures v0.2.12 [INFO] [stderr] Compiling parking v2.2.0 [INFO] [stderr] Compiling futures-io v0.3.30 [INFO] [stderr] Compiling tinyvec v1.6.0 [INFO] [stderr] Compiling ahash v0.8.7 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling form_urlencoded v1.2.1 [INFO] [stderr] Compiling lock_api v0.4.11 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling num-traits v0.2.17 [INFO] [stderr] Compiling tracing-core v0.1.32 [INFO] [stderr] Compiling serde_json v1.0.111 [INFO] [stderr] Compiling ryu v1.0.16 [INFO] [stderr] Compiling equivalent v1.0.1 [INFO] [stderr] Compiling concurrent-queue v2.4.0 [INFO] [stderr] Compiling paste v1.0.14 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling unicode-bidi v0.3.14 [INFO] [stderr] Compiling event-listener v4.0.3 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Compiling quote v1.0.35 [INFO] [stderr] Compiling crc-catalog v2.4.0 [INFO] [stderr] Compiling pkg-config v0.3.28 [INFO] [stderr] Compiling oneshot v0.1.6 [INFO] [stderr] Compiling unicode_categories v0.1.1 [INFO] [stderr] Compiling event-listener-strategy v0.4.0 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling syn v2.0.48 [INFO] [stderr] Compiling async-channel v2.1.1 [INFO] [stderr] Compiling crc v3.0.1 [INFO] [stderr] Compiling spin v0.9.8 [INFO] [stderr] Compiling unicode-normalization v0.1.22 [INFO] [stderr] Compiling ntex-service v2.0.0 [INFO] [stderr] Compiling crossbeam-queue v0.3.11 [INFO] [stderr] Compiling dotenvy v0.15.7 [INFO] [stderr] Compiling num_cpus v1.16.0 [INFO] [stderr] Compiling signal-hook-registry v1.4.1 [INFO] [stderr] Compiling mio v0.8.10 [INFO] [stderr] Compiling socket2 v0.5.5 [INFO] [stderr] Compiling getrandom v0.2.12 [INFO] [stderr] Compiling event-listener v2.5.3 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling idna v0.5.0 [INFO] [stderr] Compiling parking_lot v0.12.1 [INFO] [stderr] Compiling atoi v2.0.0 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling futures-timer v3.0.2 [INFO] [stderr] Compiling hex v0.4.3 [INFO] [stderr] Compiling futures-util v0.3.30 [INFO] [stderr] Compiling rustix v0.38.28 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling http v0.2.11 [INFO] [stderr] Compiling futures-channel v0.3.30 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Compiling hashbrown v0.14.3 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling url v2.5.0 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling sha2 v0.10.8 [INFO] [stderr] Compiling linux-raw-sys v0.4.12 [INFO] [stderr] Compiling futures-intrusive v0.5.0 [INFO] [stderr] Compiling tokio v1.35.1 [INFO] [stderr] Compiling urlencoding v2.1.3 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling nix v0.27.1 [INFO] [stderr] Compiling flume v0.11.0 [INFO] [stderr] Compiling hashlink v0.8.4 [INFO] [stderr] Compiling indexmap v2.1.0 [INFO] [stderr] Compiling fastrand v2.0.1 [INFO] [stderr] Compiling unicode-segmentation v1.10.1 [INFO] [stderr] Compiling regex-syntax v0.8.2 [INFO] [stderr] Compiling libsqlite3-sys v0.27.0 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Compiling httparse v1.8.0 [INFO] [stderr] Compiling nanorand v0.7.0 [INFO] [stderr] Compiling sha-1 v0.10.1 [INFO] [stderr] Compiling encoding_rs v0.8.33 [INFO] [stderr] Compiling base64 v0.21.7 [INFO] [stderr] Compiling regex-automata v0.4.3 [INFO] [stderr] Compiling httpdate v1.0.3 [INFO] [stderr] Compiling atomic-write-file v0.1.2 [INFO] [stderr] Compiling half v1.8.2 [INFO] [stderr] Compiling dashmap v5.5.3 [INFO] [stderr] Compiling tempfile v3.9.0 [INFO] [stderr] Compiling futures-executor v0.3.30 [INFO] [stderr] Compiling ntex-macros v0.1.3 [INFO] [stderr] Compiling regex v1.10.2 [INFO] [stderr] Compiling serde_derive v1.0.195 [INFO] [stderr] Compiling tokio-macros v2.2.0 [INFO] [stderr] Compiling thiserror-impl v1.0.56 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling tokio-stream v0.1.14 [INFO] [stderr] Compiling tracing v0.1.40 [INFO] [stderr] Compiling polling v3.3.1 [INFO] [stderr] Compiling ntex-rt v0.4.11 [INFO] [stderr] Compiling ntex-util v1.0.0 [INFO] [stderr] Compiling either v1.9.0 [INFO] [stderr] Compiling ntex-bytes v0.1.21 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling serde_cbor v0.11.2 [INFO] [stderr] Compiling serde_bytes v0.11.14 [INFO] [stderr] Compiling itertools v0.12.0 [INFO] [stderr] Compiling ntex-codec v0.6.2 [INFO] [stderr] Compiling ntex-http v0.1.11 [INFO] [stderr] Compiling ntex-router v0.5.2 [INFO] [stderr] Compiling ntex-io v1.0.0 [INFO] [stderr] Compiling sqlformat v0.2.3 [INFO] [stderr] Compiling ntex-tokio v0.4.0 [INFO] [stderr] Compiling ntex-tls v1.0.0 [INFO] [stderr] Compiling ntex-connect v1.0.0 [INFO] [stderr] Compiling ntex-h2 v0.5.0 [INFO] [stderr] Compiling ntex v1.0.0 [INFO] [stderr] Compiling sqlx-core v0.7.3 [INFO] [stderr] Compiling sqlx-sqlite v0.7.3 [INFO] [stderr] Compiling sqlx-macros-core v0.7.3 [INFO] [stderr] Compiling sqlx-macros v0.7.3 [INFO] [stderr] Compiling sqlx v0.7.3 [INFO] [stderr] Compiling orange-serve v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: variant `Custom` is never constructed [INFO] [stdout] --> src/error.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub enum AppErr { [INFO] [stdout] | ------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 32 | Custom(ErrInfo), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AppErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `into_info` is never used [INFO] [stdout] --> src/error.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 41 | impl AppErr { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] 42 | [INFO] [stdout] 43 | pub fn into_info(self) -> ErrInfo { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `errors` is never used [INFO] [stdout] --> src/error.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn errors(msg: String) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `print_if_err` is never used [INFO] [stdout] --> src/error.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 83 | pub trait ErrorExt { [INFO] [stdout] | -------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 86 | fn print_if_err(&self); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dispatch` is never used [INFO] [stdout] --> src/serve/api/mod.rs:102:10 [INFO] [stdout] | [INFO] [stdout] 102 | async fn dispatch(_frame: RequestFrame) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `seq` is never read [INFO] [stdout] --> src/serve/conn.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct DeviceConn { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 24 | seq: AtomicU8, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/serve/conn.rs:56:18 [INFO] [stdout] | [INFO] [stdout] 35 | impl DeviceConn { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 56 | pub async fn exec_simple_req( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub async fn exec_req( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub async fn exec_ping(&self) -> Result<(), AppErr> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn ack(&self, seq: u8) -> Result<(), AppErr> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn res(&self, seq: u8, cmd: u8, value: Result) -> Result<(), AppErr> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn simple_res(&self, seq: u8, cmd: u8, value: Result) -> Result<(), AppErr> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | fn get_seq(&self) -> u8 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | fn create_resp(&self, type_seq: u16) -> oneshot::Receiver { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `conn_infos` is never used [INFO] [stdout] --> src/serve/manager.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn conn_infos() -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ToFrameBody` is never used [INFO] [stdout] --> src/serve/frame/mod.rs:127:11 [INFO] [stdout] | [INFO] [stdout] 127 | pub trait ToFrameBody { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/serve/frame/recv.rs:13:15 [INFO] [stdout] | [INFO] [stdout] 13 | SimpleReq(RequestFrame), [INFO] [stdout] | --------- ^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 13 - SimpleReq(RequestFrame), [INFO] [stdout] 13 + SimpleReq(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/serve/frame/recv.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | Notify(RequestFrame), [INFO] [stdout] | ------ ^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 15 - Notify(RequestFrame), [INFO] [stdout] 15 + Notify(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/serve/frame/recv.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl RecvFrame { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 20 | [INFO] [stdout] 21 | pub fn ack(self) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn ping(self) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn pong(self) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn res(self) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn simple_req(self) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn simple_res(self) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn parse<'a, T: Deserialize<'a>>(&'a self) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `body` is never read [INFO] [stdout] --> src/serve/frame/recv.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 118 | pub struct ResponseFrame { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 119 | pub seq: u8, [INFO] [stdout] 120 | body: Array, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `cmd` and `parse` are never used [INFO] [stdout] --> src/serve/frame/recv.rs:137:12 [INFO] [stdout] | [INFO] [stdout] 123 | impl ResponseFrame { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn cmd(&self) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub fn parse<'a, R: Deserialize<'a>>(&'a self) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Ping`, `Req`, `SimpleReq`, `SimpleRes`, `Notify`, and `NotifyAck` are never constructed [INFO] [stdout] --> src/serve/frame/send.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum SendFrame { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 13 | Ping(BaseFrame), [INFO] [stdout] | ^^^^ [INFO] [stdout] 14 | Pong(BaseFrame), [INFO] [stdout] 15 | Req(RequestFrame), [INFO] [stdout] | ^^^ [INFO] [stdout] 16 | SimpleReq(RequestFrame), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 17 | Res(ResponseFrame), [INFO] [stdout] 18 | SimpleRes(ResponseFrame), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 19 | Notify(RequestFrame), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 20 | NotifyAck(RequestFrame), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new_ok` and `new_with_err` are never used [INFO] [stdout] --> src/serve/frame/send.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 48 | impl ResponseFrame { [INFO] [stdout] | ------------------ associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn new_ok(seq: u8, cmd: u8, value: &T) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn new_with_err(seq: u8, cmd: u8, value: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `new_with_body` are never used [INFO] [stdout] --> src/serve/frame/send.rs:118:12 [INFO] [stdout] | [INFO] [stdout] 116 | impl RequestFrame { [INFO] [stdout] | ----------------- associated functions in this implementation [INFO] [stdout] 117 | [INFO] [stdout] 118 | pub fn new(seq: u8, cmd: u8, value: &T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn new_with_body(seq: u8, cmd: u8, value: Option>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `update_coin_info` is never used [INFO] [stdout] --> src/store/sql/coin.rs:54:10 [INFO] [stdout] | [INFO] [stdout] 54 | async fn update_coin_info( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `all_type` is never used [INFO] [stdout] --> src/store/sql/coin.rs:76:10 [INFO] [stdout] | [INFO] [stdout] 76 | async fn all_type(conn: &mut SqliteConnection, device_id: i64) -> Result, SqlxErr> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `delete_with_type` is never used [INFO] [stdout] --> src/store/sql/coin.rs:97:10 [INFO] [stdout] | [INFO] [stdout] 97 | async fn delete_with_type( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `contain_tpye` is never used [INFO] [stdout] --> src/store/sql/coin.rs:115:4 [INFO] [stdout] | [INFO] [stdout] 115 | fn contain_tpye(infos: &[TableCoinInfo], t: u8) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `update_info` is never used [INFO] [stdout] --> src/store/sql/coin.rs:124:14 [INFO] [stdout] | [INFO] [stdout] 124 | pub async fn update_info(device_id: i64, infos: &[TableCoinInfo]) -> Result<(), SqlxErr> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `delete` is never used [INFO] [stdout] --> src/store/sql/device.rs:155:14 [INFO] [stdout] | [INFO] [stdout] 155 | pub async fn delete(id: i64) -> Result<(), SqlxErr> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rand_u8` is never used [INFO] [stdout] --> src/utils/mod.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn rand_u8() -> u8 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CborBody` is never constructed [INFO] [stdout] --> src/web/resp.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct CborBody(pub Vec); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ErrResp` is never constructed [INFO] [stdout] --> src/web/resp.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 66 | struct ErrResp { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ErrResp` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ErrResp2` is never constructed [INFO] [stdout] --> src/web/resp.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | struct ErrResp2<'a> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ErrResp2` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/serve/manager.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | MANAGER.write(m); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] = note: `#[warn(static_mut_refs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/serve/manager.rs:23:14 [INFO] [stdout] | [INFO] [stdout] 23 | unsafe { MANAGER.assume_init_ref() } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/serve/manager.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | MANAGER.assume_init_ref() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/store/sql/mod.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | POOL.write(pool); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/store/sql/mod.rs:26:14 [INFO] [stdout] | [INFO] [stdout] 26 | unsafe { POOL.assume_init_ref() } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&Box<[T]> as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to ` as IntoIterator>::into_iter` in Rust 2024 [INFO] [stdout] --> src/store/sql/coin.rs:133:18 [INFO] [stdout] | [INFO] [stdout] 133 | for t in all.into_iter() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(boxed_slice_into_iter)]` on by default [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 133 - for t in all.into_iter() { [INFO] [stdout] 133 + for t in all.iter() { [INFO] [stdout] | [INFO] [stdout] help: or remove `.into_iter()` to iterate by value [INFO] [stdout] | [INFO] [stdout] 133 - for t in all.into_iter() { [INFO] [stdout] 133 + for t in all { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 17s [INFO] running `Command { std: "docker" "inspect" "771108064bde2ad6e7ab47800bd85771d931b02b48eee6846a15289102cae64a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "771108064bde2ad6e7ab47800bd85771d931b02b48eee6846a15289102cae64a", kill_on_drop: false }` [INFO] [stdout] 771108064bde2ad6e7ab47800bd85771d931b02b48eee6846a15289102cae64a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+8b8eff55bd72abbb57167bc42222a7f91d41cb0d" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7ddb47125c8ae1b02bed0eaf201705f28255e18a6d15ceadea89d8994f5c7721 [INFO] running `Command { std: "docker" "start" "-a" "7ddb47125c8ae1b02bed0eaf201705f28255e18a6d15ceadea89d8994f5c7721", kill_on_drop: false }` [INFO] [stderr] Compiling orange-serve v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: variant `Custom` is never constructed [INFO] [stdout] --> src/error.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub enum AppErr { [INFO] [stdout] | ------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 32 | Custom(ErrInfo), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AppErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `into_info` is never used [INFO] [stdout] --> src/error.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 41 | impl AppErr { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] 42 | [INFO] [stdout] 43 | pub fn into_info(self) -> ErrInfo { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `errors` is never used [INFO] [stdout] --> src/error.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn errors(msg: String) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `print_if_err` is never used [INFO] [stdout] --> src/error.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 83 | pub trait ErrorExt { [INFO] [stdout] | -------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 86 | fn print_if_err(&self); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dispatch` is never used [INFO] [stdout] --> src/serve/api/mod.rs:102:10 [INFO] [stdout] | [INFO] [stdout] 102 | async fn dispatch(_frame: RequestFrame) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `seq` is never read [INFO] [stdout] --> src/serve/conn.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct DeviceConn { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 24 | seq: AtomicU8, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/serve/conn.rs:56:18 [INFO] [stdout] | [INFO] [stdout] 35 | impl DeviceConn { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 56 | pub async fn exec_simple_req( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub async fn exec_req( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub async fn exec_ping(&self) -> Result<(), AppErr> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn ack(&self, seq: u8) -> Result<(), AppErr> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn res(&self, seq: u8, cmd: u8, value: Result) -> Result<(), AppErr> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn simple_res(&self, seq: u8, cmd: u8, value: Result) -> Result<(), AppErr> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | fn get_seq(&self) -> u8 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | fn create_resp(&self, type_seq: u16) -> oneshot::Receiver { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `conn_infos` is never used [INFO] [stdout] --> src/serve/manager.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn conn_infos() -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ToFrameBody` is never used [INFO] [stdout] --> src/serve/frame/mod.rs:127:11 [INFO] [stdout] | [INFO] [stdout] 127 | pub trait ToFrameBody { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/serve/frame/recv.rs:13:15 [INFO] [stdout] | [INFO] [stdout] 13 | SimpleReq(RequestFrame), [INFO] [stdout] | --------- ^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 13 - SimpleReq(RequestFrame), [INFO] [stdout] 13 + SimpleReq(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/serve/frame/recv.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | Notify(RequestFrame), [INFO] [stdout] | ------ ^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 15 - Notify(RequestFrame), [INFO] [stdout] 15 + Notify(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/serve/frame/recv.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl RecvFrame { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 20 | [INFO] [stdout] 21 | pub fn ack(self) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn ping(self) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn pong(self) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn res(self) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn simple_req(self) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn simple_res(self) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn parse<'a, T: Deserialize<'a>>(&'a self) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `body` is never read [INFO] [stdout] --> src/serve/frame/recv.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 118 | pub struct ResponseFrame { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 119 | pub seq: u8, [INFO] [stdout] 120 | body: Array, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `cmd` and `parse` are never used [INFO] [stdout] --> src/serve/frame/recv.rs:137:12 [INFO] [stdout] | [INFO] [stdout] 123 | impl ResponseFrame { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn cmd(&self) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub fn parse<'a, R: Deserialize<'a>>(&'a self) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Ping`, `Req`, `SimpleReq`, `SimpleRes`, `Notify`, and `NotifyAck` are never constructed [INFO] [stdout] --> src/serve/frame/send.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum SendFrame { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 13 | Ping(BaseFrame), [INFO] [stdout] | ^^^^ [INFO] [stdout] 14 | Pong(BaseFrame), [INFO] [stdout] 15 | Req(RequestFrame), [INFO] [stdout] | ^^^ [INFO] [stdout] 16 | SimpleReq(RequestFrame), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 17 | Res(ResponseFrame), [INFO] [stdout] 18 | SimpleRes(ResponseFrame), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 19 | Notify(RequestFrame), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 20 | NotifyAck(RequestFrame), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new_ok` and `new_with_err` are never used [INFO] [stdout] --> src/serve/frame/send.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 48 | impl ResponseFrame { [INFO] [stdout] | ------------------ associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn new_ok(seq: u8, cmd: u8, value: &T) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn new_with_err(seq: u8, cmd: u8, value: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `new_with_body` are never used [INFO] [stdout] --> src/serve/frame/send.rs:118:12 [INFO] [stdout] | [INFO] [stdout] 116 | impl RequestFrame { [INFO] [stdout] | ----------------- associated functions in this implementation [INFO] [stdout] 117 | [INFO] [stdout] 118 | pub fn new(seq: u8, cmd: u8, value: &T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn new_with_body(seq: u8, cmd: u8, value: Option>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `update_coin_info` is never used [INFO] [stdout] --> src/store/sql/coin.rs:54:10 [INFO] [stdout] | [INFO] [stdout] 54 | async fn update_coin_info( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `all_type` is never used [INFO] [stdout] --> src/store/sql/coin.rs:76:10 [INFO] [stdout] | [INFO] [stdout] 76 | async fn all_type(conn: &mut SqliteConnection, device_id: i64) -> Result, SqlxErr> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `delete_with_type` is never used [INFO] [stdout] --> src/store/sql/coin.rs:97:10 [INFO] [stdout] | [INFO] [stdout] 97 | async fn delete_with_type( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `contain_tpye` is never used [INFO] [stdout] --> src/store/sql/coin.rs:115:4 [INFO] [stdout] | [INFO] [stdout] 115 | fn contain_tpye(infos: &[TableCoinInfo], t: u8) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `update_info` is never used [INFO] [stdout] --> src/store/sql/coin.rs:124:14 [INFO] [stdout] | [INFO] [stdout] 124 | pub async fn update_info(device_id: i64, infos: &[TableCoinInfo]) -> Result<(), SqlxErr> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `delete` is never used [INFO] [stdout] --> src/store/sql/device.rs:155:14 [INFO] [stdout] | [INFO] [stdout] 155 | pub async fn delete(id: i64) -> Result<(), SqlxErr> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rand_u8` is never used [INFO] [stdout] --> src/utils/mod.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn rand_u8() -> u8 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CborBody` is never constructed [INFO] [stdout] --> src/web/resp.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct CborBody(pub Vec); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ErrResp` is never constructed [INFO] [stdout] --> src/web/resp.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 66 | struct ErrResp { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ErrResp` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ErrResp2` is never constructed [INFO] [stdout] --> src/web/resp.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | struct ErrResp2<'a> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ErrResp2` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/serve/manager.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | MANAGER.write(m); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] = note: `#[warn(static_mut_refs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/serve/manager.rs:23:14 [INFO] [stdout] | [INFO] [stdout] 23 | unsafe { MANAGER.assume_init_ref() } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/serve/manager.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | MANAGER.assume_init_ref() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/store/sql/mod.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | POOL.write(pool); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/store/sql/mod.rs:26:14 [INFO] [stdout] | [INFO] [stdout] 26 | unsafe { POOL.assume_init_ref() } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&Box<[T]> as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to ` as IntoIterator>::into_iter` in Rust 2024 [INFO] [stdout] --> src/store/sql/coin.rs:133:18 [INFO] [stdout] | [INFO] [stdout] 133 | for t in all.into_iter() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(boxed_slice_into_iter)]` on by default [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 133 - for t in all.into_iter() { [INFO] [stdout] 133 + for t in all.iter() { [INFO] [stdout] | [INFO] [stdout] help: or remove `.into_iter()` to iterate by value [INFO] [stdout] | [INFO] [stdout] 133 - for t in all.into_iter() { [INFO] [stdout] 133 + for t in all { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.85s [INFO] running `Command { std: "docker" "inspect" "7ddb47125c8ae1b02bed0eaf201705f28255e18a6d15ceadea89d8994f5c7721", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7ddb47125c8ae1b02bed0eaf201705f28255e18a6d15ceadea89d8994f5c7721", kill_on_drop: false }` [INFO] [stdout] 7ddb47125c8ae1b02bed0eaf201705f28255e18a6d15ceadea89d8994f5c7721