[INFO] cloning repository https://github.com/J45k4/puppydrive [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/J45k4/puppydrive" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJ45k4%2Fpuppydrive", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJ45k4%2Fpuppydrive'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] ede1cc4f1f0097a1ef5e4edd6a0ca9164a149caf [INFO] checking J45k4/puppydrive against master#779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 for pr-147589-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJ45k4%2Fpuppydrive" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/J45k4/puppydrive [INFO] finished tweaking git repo https://github.com/J45k4/puppydrive [INFO] tweaked toml for git repo https://github.com/J45k4/puppydrive written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/J45k4/puppydrive on toolchain 779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/J45k4/puppydrive 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" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating git repository `https://github.com/J45k4/wgui.git` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded data-encoding-macro v0.1.17 [INFO] [stderr] Downloaded data-encoding-macro-internal v0.1.15 [INFO] [stderr] Downloaded rw-stream-sink v0.4.0 [INFO] [stderr] Downloaded libp2p-swarm-derive v0.34.2 [INFO] [stderr] Downloaded libp2p-yamux v0.45.2 [INFO] [stderr] Downloaded hyper-tungstenite v0.13.0 [INFO] [stderr] Downloaded yamux v0.13.6 [INFO] [stderr] Downloaded libp2p-allow-block-list v0.3.0 [INFO] [stderr] Downloaded libp2p-connection-limits v0.3.1 [INFO] [stderr] Downloaded libp2p v0.53.2 [INFO] [stderr] Downloaded gethostname v0.5.0 [INFO] [stderr] Downloaded libp2p-tcp v0.41.0 [INFO] [stderr] Downloaded libp2p-tls v0.4.1 [INFO] [stderr] Downloaded libp2p-mdns v0.45.1 [INFO] [stderr] Downloaded rcgen v0.11.3 [INFO] [stderr] Downloaded prometheus-client v0.22.3 [INFO] [stderr] Downloaded libp2p-core v0.41.3 [INFO] [stderr] Downloaded rusqlite v0.33.0 [INFO] [stderr] Downloaded libp2p-swarm v0.44.2 [INFO] [stderr] Downloaded igd-next v0.14.3 [INFO] [stderr] Downloaded libp2p-gossipsub v0.46.1 [INFO] [stderr] Downloaded libp2p-noise v0.44.0 [INFO] [stderr] Downloaded libp2p-quic v0.10.3 [INFO] [stderr] Downloaded yamux v0.12.1 [INFO] [stderr] Downloaded libp2p-upnp v0.2.2 [INFO] [stderr] Downloaded multistream-select v0.13.0 [INFO] [stderr] Downloaded resolv-conf v0.7.5 [INFO] [stderr] Downloaded libp2p-dns v0.41.1 [INFO] [stderr] Downloaded futures-ticker v0.0.3 [INFO] [stderr] Downloaded quick-protobuf-codec v0.3.1 [INFO] [stderr] Downloaded libp2p-identify v0.44.2 [INFO] [stderr] Downloaded libp2p-metrics v0.14.1 [INFO] [stderr] Downloaded libsqlite3-sys v0.31.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 9eeaa477adb6453581281277eccfa827082814a931dccb4b09c54136d3113d5d [INFO] running `Command { std: "docker" "start" "-a" "9eeaa477adb6453581281277eccfa827082814a931dccb4b09c54136d3113d5d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9eeaa477adb6453581281277eccfa827082814a931dccb4b09c54136d3113d5d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9eeaa477adb6453581281277eccfa827082814a931dccb4b09c54136d3113d5d", kill_on_drop: false }` [INFO] [stdout] 9eeaa477adb6453581281277eccfa827082814a931dccb4b09c54136d3113d5d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 89c50f94e49946163638280bf385c06ff42f419c92b86452182c6bbabbc5b39b [INFO] running `Command { std: "docker" "start" "-a" "89c50f94e49946163638280bf385c06ff42f419c92b86452182c6bbabbc5b39b", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-ident v1.0.16 [INFO] [stderr] Compiling libc v0.2.169 [INFO] [stderr] Checking bytes v1.10.0 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking once_cell v1.20.3 [INFO] [stderr] Compiling semver v1.0.27 [INFO] [stderr] Checking foldhash v0.1.4 [INFO] [stderr] Checking unsigned-varint v0.8.0 [INFO] [stderr] Compiling proc-macro2 v1.0.93 [INFO] [stderr] Checking hashbrown v0.15.2 [INFO] [stderr] Checking tracing-core v0.1.33 [INFO] [stderr] Compiling data-encoding v2.8.0 [INFO] [stderr] Checking signature v2.2.0 [INFO] [stderr] Checking ed25519 v2.2.3 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Checking sha2 v0.10.8 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking quick-protobuf v0.8.1 [INFO] [stderr] Checking core2 v0.4.0 [INFO] [stderr] Compiling getrandom v0.3.1 [INFO] [stderr] Compiling quote v1.0.38 [INFO] [stderr] Checking multihash v0.19.3 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Checking hkdf v0.12.4 [INFO] [stderr] Checking http v1.2.0 [INFO] [stderr] Checking base-x v0.2.11 [INFO] [stderr] Checking bs58 v0.5.1 [INFO] [stderr] Compiling syn v2.0.98 [INFO] [stderr] Checking unsigned-varint v0.7.2 [INFO] [stderr] Compiling cc v1.2.12 [INFO] [stderr] Compiling httparse v1.10.0 [INFO] [stderr] Checking lru v0.12.5 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking instant v0.1.13 [INFO] [stderr] Checking indexmap v2.11.4 [INFO] [stderr] Compiling snow v0.9.6 [INFO] [stderr] Compiling serde_json v1.0.138 [INFO] [stderr] Compiling prometheus-client v0.22.3 [INFO] [stderr] Checking ryu v1.0.19 [INFO] [stderr] Compiling rustversion v1.0.19 [INFO] [stderr] Checking regex-automata v0.4.10 [INFO] [stderr] Checking bitflags v2.8.0 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Checking dtoa v1.0.10 [INFO] [stderr] Checking sync_wrapper v1.0.2 [INFO] [stderr] Checking http-body-util v0.1.3 [INFO] [stderr] Compiling time-macros v0.2.19 [INFO] [stderr] Checking linux-raw-sys v0.4.15 [INFO] [stderr] Checking iana-time-zone v0.1.61 [INFO] [stderr] Checking hex_fmt v0.3.0 [INFO] [stderr] Checking colored v2.2.0 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking socket2 v0.5.8 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking signal-hook-registry v1.4.2 [INFO] [stderr] Checking mio v1.0.3 [INFO] [stderr] Checking num_cpus v1.17.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Checking nix v0.26.4 [INFO] [stderr] Compiling libsqlite3-sys v0.31.0 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking rand v0.9.1 [INFO] [stderr] Checking uuid v1.13.1 [INFO] [stderr] Checking cfb v0.7.3 [INFO] [stderr] Checking time v0.3.37 [INFO] [stderr] Checking hashlink v0.10.0 [INFO] [stderr] Checking regex v1.11.2 [INFO] [stderr] Checking matchit v0.8.4 [INFO] [stderr] Checking gethostname v0.5.0 [INFO] [stderr] Checking infer v0.19.0 [INFO] [stderr] Checking simple_logger v5.0.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.0 [INFO] [stderr] Compiling zerovec-derive v0.11.1 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling tracing-attributes v0.1.30 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Checking tokio v1.43.0 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking yoke v0.8.0 [INFO] [stderr] Compiling zeroize_derive v1.4.2 [INFO] [stderr] Checking zerovec v0.11.4 [INFO] [stderr] Checking zerotrie v0.2.2 [INFO] [stderr] Checking tracing v0.1.41 [INFO] [stderr] Checking zeroize v1.8.1 [INFO] [stderr] Compiling pin-project-internal v1.1.10 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Checking tinystr v0.8.1 [INFO] [stderr] Checking icu_locale_core v2.0.0 [INFO] [stderr] Checking potential_utf v0.1.3 [INFO] [stderr] Checking icu_collections v2.0.0 [INFO] [stderr] Checking thiserror v2.0.12 [INFO] [stderr] Compiling data-encoding-macro-internal v0.1.15 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking data-encoding-macro v0.1.17 [INFO] [stderr] Checking icu_provider v2.0.0 [INFO] [stderr] Checking netlink-packet-utils v0.5.2 [INFO] [stderr] Checking multibase v0.9.1 [INFO] [stderr] Checking netlink-packet-core v0.7.0 [INFO] [stderr] Checking pin-project v1.1.10 [INFO] [stderr] Checking multistream-select v0.13.0 [INFO] [stderr] Checking rw-stream-sink v0.4.0 [INFO] [stderr] Checking icu_normalizer v2.0.0 [INFO] [stderr] Checking icu_properties v2.0.1 [INFO] [stderr] Compiling libp2p-swarm-derive v0.34.2 [INFO] [stderr] Checking netlink-packet-route v0.17.1 [INFO] [stderr] Checking asynchronous-codec v0.7.0 [INFO] [stderr] Checking ed25519-dalek v2.2.0 [INFO] [stderr] Checking quick-protobuf-codec v0.3.1 [INFO] [stderr] Compiling prometheus-client-derive-encode v0.4.2 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Checking libp2p-identity v0.2.12 [INFO] [stderr] Checking serde v1.0.219 [INFO] [stderr] Compiling enum-as-inner v0.6.1 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Checking x25519-dalek v2.0.1 [INFO] [stderr] Checking yamux v0.13.6 [INFO] [stderr] Checking yamux v0.12.1 [INFO] [stderr] Checking url v2.5.4 [INFO] [stderr] Checking futures-ticker v0.0.3 [INFO] [stderr] Checking futures-bounded v0.2.4 [INFO] [stderr] Checking tungstenite v0.26.2 [INFO] [stderr] Checking axum-core v0.5.0 [INFO] [stderr] Checking tungstenite v0.21.0 [INFO] [stderr] Checking hickory-proto v0.24.4 [INFO] [stderr] Compiling clap_derive v4.5.28 [INFO] [stderr] Checking netlink-sys v0.8.7 [INFO] [stderr] Checking tokio-util v0.7.15 [INFO] [stderr] Checking netlink-proto v0.11.5 [INFO] [stderr] Checking tokio-tungstenite v0.21.0 [INFO] [stderr] Checking rtnetlink v0.13.1 [INFO] [stderr] Checking tower v0.5.2 [INFO] [stderr] Checking h2 v0.4.12 [INFO] [stderr] Checking if-watch v3.2.1 [INFO] [stderr] Checking tokio-tungstenite v0.26.2 [INFO] [stderr] Checking clap v4.5.28 [INFO] [stderr] Checking multiaddr v0.18.2 [INFO] [stderr] Checking chrono v0.4.39 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking serde_path_to_error v0.1.16 [INFO] [stderr] Checking libp2p-core v0.41.3 [INFO] [stderr] Checking libp2p-swarm v0.44.2 [INFO] [stderr] Checking libp2p-noise v0.44.0 [INFO] [stderr] Checking libp2p-yamux v0.45.2 [INFO] [stderr] Checking libp2p-tcp v0.41.0 [INFO] [stderr] Checking rusqlite v0.33.0 [INFO] [stderr] Checking libp2p-allow-block-list v0.3.0 [INFO] [stderr] Checking libp2p-mdns v0.45.1 [INFO] [stderr] Checking libp2p-identify v0.44.2 [INFO] [stderr] Checking libp2p-connection-limits v0.3.1 [INFO] [stderr] Checking libp2p-gossipsub v0.46.1 [INFO] [stderr] Checking hyper v1.6.0 [INFO] [stderr] Checking hyper-util v0.1.10 [INFO] [stderr] Checking hyper-tungstenite v0.13.0 [INFO] [stderr] Checking axum v0.8.1 [INFO] [stderr] Checking libp2p v0.53.2 [INFO] [stderr] Checking wgui v0.1.0 (https://github.com/J45k4/wgui.git?rev=a4e55c81a850c17cc97c4b68f31a3a82f96b5a46#a4e55c81) [INFO] [stderr] Checking puppydrive v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::body::Body` [INFO] [stdout] --> src/main.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use axum::body::Body; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::extract::Path` [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use axum::extract::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::extract::State` [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use axum::extract::State; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::http::header` [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use axum::http::header; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::http::StatusCode` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use axum::http::StatusCode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::routing::get` [INFO] [stdout] --> src/main.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use axum::routing::get; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::body::Body` [INFO] [stdout] --> src/main.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use axum::body::Body; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::Json` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use axum::Json; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::extract::Path` [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use axum::extract::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::Router` [INFO] [stdout] --> src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use axum::Router; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::extract::State` [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use axum::extract::State; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `db::get_file_entry` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use db::get_file_entry; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::http::header` [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use axum::http::header; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `db::get_file_location` [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use db::get_file_location; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::http::StatusCode` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use axum::http::StatusCode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `db::list_files` [INFO] [stdout] --> src/main.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use db::list_files; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `db::open_db` [INFO] [stdout] --> src/main.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use db::open_db; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `db::ListArgs` [INFO] [stdout] --> src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use db::ListArgs; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `http_body_util::StreamBody` [INFO] [stdout] --> src/main.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use http_body_util::StreamBody; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> src/main.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::Value` [INFO] [stdout] --> src/main.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use serde_json::Value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Engine as _` and `engine::general_purpose::URL_SAFE` [INFO] [stdout] --> src/main.rs:23:14 [INFO] [stdout] | [INFO] [stdout] 23 | use base64::{engine::general_purpose::URL_SAFE, Engine as _}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IntoResponse` and `Response` [INFO] [stdout] --> src/main.rs:24:22 [INFO] [stdout] | [INFO] [stdout] 24 | use axum::response::{IntoResponse, Response}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio_util::io::ReaderStream` [INFO] [stdout] --> src/main.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use tokio_util::io::ReaderStream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::PathBuf` [INFO] [stdout] --> src/types.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::path::PathBuf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::DateTime` [INFO] [stdout] --> src/types.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use chrono::DateTime; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Utc` [INFO] [stdout] --> src/types.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use chrono::Utc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::protocol::Introduce` [INFO] [stdout] --> src/types.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::protocol::Introduce; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::routing::get` [INFO] [stdout] --> src/main.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use axum::routing::get; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::Json` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use axum::Json; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::Router` [INFO] [stdout] --> src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use axum::Router; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `db::get_file_entry` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use db::get_file_entry; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `db::get_file_location` [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use db::get_file_location; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `db::list_files` [INFO] [stdout] --> src/main.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use db::list_files; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `db::open_db` [INFO] [stdout] --> src/main.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use db::open_db; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `db::ListArgs` [INFO] [stdout] --> src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use db::ListArgs; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `http_body_util::StreamBody` [INFO] [stdout] --> src/main.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use http_body_util::StreamBody; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> src/main.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::Value` [INFO] [stdout] --> src/main.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use serde_json::Value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Engine as _` and `engine::general_purpose::URL_SAFE` [INFO] [stdout] --> src/main.rs:23:14 [INFO] [stdout] | [INFO] [stdout] 23 | use base64::{engine::general_purpose::URL_SAFE, Engine as _}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IntoResponse` and `Response` [INFO] [stdout] --> src/main.rs:24:22 [INFO] [stdout] | [INFO] [stdout] 24 | use axum::response::{IntoResponse, Response}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio_util::io::ReaderStream` [INFO] [stdout] --> src/main.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use tokio_util::io::ReaderStream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::PathBuf` [INFO] [stdout] --> src/types.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::path::PathBuf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::DateTime` [INFO] [stdout] --> src/types.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use chrono::DateTime; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Utc` [INFO] [stdout] --> src/types.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use chrono::Utc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::protocol::Introduce` [INFO] [stdout] --> src/types.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::protocol::Introduce; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `ring` [INFO] [stdout] --> src/scan.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | #[cfg(feature = "ring")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `rayon`, and `sha2` [INFO] [stdout] = help: consider adding `ring` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `ring` [INFO] [stdout] --> src/scan.rs:33:15 [INFO] [stdout] | [INFO] [stdout] 33 | #[cfg(all(not(feature = "ring"), feature = "sha2"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `rayon`, and `sha2` [INFO] [stdout] = help: consider adding `ring` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::hash` [INFO] [stdout] --> src/db.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use core::hash; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Multiaddr` [INFO] [stdout] --> src/app.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | use libp2p::{Multiaddr, PeerId}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `NetworkManager` [INFO] [stdout] --> src/app.rs:9:22 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::network::{NetworkManager, NetworkEvent, NetworkCommand}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `ring` [INFO] [stdout] --> src/main.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | #[cfg(feature = "ring")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `rayon`, and `sha2` [INFO] [stdout] = help: consider adding `ring` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `ring` [INFO] [stdout] --> src/scan.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | #[cfg(feature = "ring")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `rayon`, and `sha2` [INFO] [stdout] = help: consider adding `ring` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `ring` [INFO] [stdout] --> src/scan.rs:33:15 [INFO] [stdout] | [INFO] [stdout] 33 | #[cfg(all(not(feature = "ring"), feature = "sha2"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `rayon`, and `sha2` [INFO] [stdout] = help: consider adding `ring` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::hash` [INFO] [stdout] --> src/db.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use core::hash; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Multiaddr` [INFO] [stdout] --> src/app.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | use libp2p::{Multiaddr, PeerId}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `NetworkManager` [INFO] [stdout] --> src/app.rs:9:22 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::network::{NetworkManager, NetworkEvent, NetworkCommand}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `ring` [INFO] [stdout] --> src/main.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | #[cfg(feature = "ring")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `rayon`, and `sha2` [INFO] [stdout] = help: consider adding `ring` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Transport` [INFO] [stdout] --> src/network.rs:7:57 [INFO] [stdout] | [INFO] [stdout] 7 | tcp, yamux, Multiaddr, PeerId, Swarm, SwarmBuilder, Transport, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Transport` [INFO] [stdout] --> src/network.rs:7:57 [INFO] [stdout] | [INFO] [stdout] 7 | tcp, yamux, Multiaddr, PeerId, Swarm, SwarmBuilder, Transport, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/scan.rs:139:7 [INFO] [stdout] | [INFO] [stdout] 139 | let mut scanned: HashMap = mapped [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `entry` [INFO] [stdout] --> src/scan.rs:140:17 [INFO] [stdout] | [INFO] [stdout] 140 | .map(|(pbuf, entry)| { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_entry` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/scan.rs:139:7 [INFO] [stdout] | [INFO] [stdout] 139 | let mut scanned: HashMap = mapped [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `entry` [INFO] [stdout] --> src/scan.rs:140:17 [INFO] [stdout] | [INFO] [stdout] 140 | .map(|(pbuf, entry)| { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_entry` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/db.rs:98:6 [INFO] [stdout] | [INFO] [stdout] 98 | let mut sql = String::from( [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/db.rs:102:6 [INFO] [stdout] | [INFO] [stdout] 102 | let mut params: Vec<&dyn ToSql> = Vec::new(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/db.rs:96:38 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn list_files(conn: &Connection, args: ListArgs) -> anyhow::Result> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/db.rs:98:6 [INFO] [stdout] | [INFO] [stdout] 98 | let mut sql = String::from( [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/db.rs:102:6 [INFO] [stdout] | [INFO] [stdout] 102 | let mut params: Vec<&dyn ToSql> = Vec::new(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/db.rs:96:38 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn list_files(conn: &Connection, args: ListArgs) -> anyhow::Result> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SharedState` is never used [INFO] [stdout] --> src/types.rs:13:10 [INFO] [stdout] | [INFO] [stdout] 13 | pub type SharedState = Rc>; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `State` is never constructed [INFO] [stdout] --> src/types.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct State { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_peer_with_addr` is never used [INFO] [stdout] --> src/types.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl State { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 23 | pub fn get_peer_with_addr(&mut self, addr: &str) -> &mut Peer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id`, `name`, `owner`, `addr`, and `introduced` are never read [INFO] [stdout] --> src/types.rs:41:6 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct Peer { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 41 | pub id: String, [INFO] [stdout] | ^^ [INFO] [stdout] 42 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 43 | pub owner: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 44 | pub addr: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] 45 | pub introduced: bool, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Peer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NodeStatus` is never used [INFO] [stdout] --> src/types.rs:49:10 [INFO] [stdout] | [INFO] [stdout] 49 | pub enum NodeStatus { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Node` is never constructed [INFO] [stdout] --> src/types.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 64 | pub struct Node { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FileInfo` is never constructed [INFO] [stdout] --> src/types.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 72 | pub struct FileInfo { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PeerReq` is never constructed [INFO] [stdout] --> src/types.rs:79:12 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct PeerReq { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NodeCmdRes` is never used [INFO] [stdout] --> src/types.rs:85:10 [INFO] [stdout] | [INFO] [stdout] 85 | pub enum NodeCmdRes { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PeerRes` is never constructed [INFO] [stdout] --> src/types.rs:110:12 [INFO] [stdout] | [INFO] [stdout] 110 | pub struct PeerRes { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SharedState` is never used [INFO] [stdout] --> src/types.rs:13:10 [INFO] [stdout] | [INFO] [stdout] 13 | pub type SharedState = Rc>; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `State` is never constructed [INFO] [stdout] --> src/types.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct State { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_peer_with_addr` is never used [INFO] [stdout] --> src/types.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl State { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 23 | pub fn get_peer_with_addr(&mut self, addr: &str) -> &mut Peer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id`, `name`, `owner`, `addr`, and `introduced` are never read [INFO] [stdout] --> src/types.rs:41:6 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct Peer { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 41 | pub id: String, [INFO] [stdout] | ^^ [INFO] [stdout] 42 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 43 | pub owner: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 44 | pub addr: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] 45 | pub introduced: bool, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Peer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NodeStatus` is never used [INFO] [stdout] --> src/types.rs:49:10 [INFO] [stdout] | [INFO] [stdout] 49 | pub enum NodeStatus { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Node` is never constructed [INFO] [stdout] --> src/types.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 64 | pub struct Node { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FileInfo` is never constructed [INFO] [stdout] --> src/types.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 72 | pub struct FileInfo { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PeerReq` is never constructed [INFO] [stdout] --> src/types.rs:79:12 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct PeerReq { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NodeCmdRes` is never used [INFO] [stdout] --> src/types.rs:85:10 [INFO] [stdout] | [INFO] [stdout] 85 | pub enum NodeCmdRes { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PeerRes` is never constructed [INFO] [stdout] --> src/types.rs:110:12 [INFO] [stdout] | [INFO] [stdout] 110 | pub struct PeerRes { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PeerMsg` is never used [INFO] [stdout] --> src/types.rs:116:10 [INFO] [stdout] | [INFO] [stdout] 116 | pub enum PeerMsg { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Event` is never used [INFO] [stdout] --> src/types.rs:121:10 [INFO] [stdout] | [INFO] [stdout] 121 | pub enum Event { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PeerConnCmd` is never used [INFO] [stdout] --> src/types.rs:138:10 [INFO] [stdout] | [INFO] [stdout] 138 | pub enum PeerConnCmd { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INTRODUCE_CMD` is never used [INFO] [stdout] --> src/protocol.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | pub const INTRODUCE_CMD: u16 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WRITE_FILE_CMD` is never used [INFO] [stdout] --> src/protocol.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | pub const WRITE_FILE_CMD: u16 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `READ_FILE_CMD` is never used [INFO] [stdout] --> src/protocol.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub const READ_FILE_CMD: u16 = 3; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REMOVE_FILE_CMD` is never used [INFO] [stdout] --> src/protocol.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub const REMOVE_FILE_CMD: u16 = 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CREATE_FOLDER_CMD` is never used [INFO] [stdout] --> src/protocol.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub const CREATE_FOLDER_CMD: u16 = 5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RENAME_FOLDER_CMD` is never used [INFO] [stdout] --> src/protocol.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const RENAME_FOLDER_CMD: u16 = 6; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LIST_FOLDER_CONTENTS_CMD` is never used [INFO] [stdout] --> src/protocol.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub const LIST_FOLDER_CONTENTS_CMD: u16 = 7; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `serialize` is never used [INFO] [stdout] --> src/protocol.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 61 | impl PeerCmd { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 62 | pub fn serialize(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ByteEater` is never constructed [INFO] [stdout] --> src/protocol.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | struct ByteEater<'a> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_u16`, and `get_string` are never used [INFO] [stdout] --> src/protocol.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 92 | impl<'a> ByteEater<'a> { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 93 | pub fn new(buffer: &'a [u8]) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn get_u16(&mut self) -> u16 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn get_string(&mut self) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PupynetProtocol` is never constructed [INFO] [stdout] --> src/protocol.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 111 | pub struct PupynetProtocol { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `parse`, and `next` are never used [INFO] [stdout] --> src/protocol.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 116 | impl PupynetProtocol { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 117 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn parse(&mut self, data: &[u8]) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn next(&mut self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Timer` is never constructed [INFO] [stdout] --> src/timer.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Timer { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PeerMsg` is never used [INFO] [stdout] --> src/types.rs:116:10 [INFO] [stdout] | [INFO] [stdout] 116 | pub enum PeerMsg { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Event` is never used [INFO] [stdout] --> src/types.rs:121:10 [INFO] [stdout] | [INFO] [stdout] 121 | pub enum Event { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PeerConnCmd` is never used [INFO] [stdout] --> src/types.rs:138:10 [INFO] [stdout] | [INFO] [stdout] 138 | pub enum PeerConnCmd { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INTRODUCE_CMD` is never used [INFO] [stdout] --> src/protocol.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | pub const INTRODUCE_CMD: u16 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WRITE_FILE_CMD` is never used [INFO] [stdout] --> src/protocol.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | pub const WRITE_FILE_CMD: u16 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `READ_FILE_CMD` is never used [INFO] [stdout] --> src/protocol.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub const READ_FILE_CMD: u16 = 3; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REMOVE_FILE_CMD` is never used [INFO] [stdout] --> src/protocol.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub const REMOVE_FILE_CMD: u16 = 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CREATE_FOLDER_CMD` is never used [INFO] [stdout] --> src/protocol.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub const CREATE_FOLDER_CMD: u16 = 5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RENAME_FOLDER_CMD` is never used [INFO] [stdout] --> src/protocol.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const RENAME_FOLDER_CMD: u16 = 6; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LIST_FOLDER_CONTENTS_CMD` is never used [INFO] [stdout] --> src/protocol.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub const LIST_FOLDER_CONTENTS_CMD: u16 = 7; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `serialize` is never used [INFO] [stdout] --> src/protocol.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 61 | impl PeerCmd { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 62 | pub fn serialize(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ByteEater` is never constructed [INFO] [stdout] --> src/protocol.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | struct ByteEater<'a> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_u16`, and `get_string` are never used [INFO] [stdout] --> src/protocol.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 92 | impl<'a> ByteEater<'a> { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 93 | pub fn new(buffer: &'a [u8]) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn get_u16(&mut self) -> u16 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn get_string(&mut self) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PupynetProtocol` is never constructed [INFO] [stdout] --> src/protocol.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 111 | pub struct PupynetProtocol { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `parse`, and `next` are never used [INFO] [stdout] --> src/protocol.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 116 | impl PupynetProtocol { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 117 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn parse(&mut self, data: &[u8]) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn next(&mut self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Timer` is never constructed [INFO] [stdout] --> src/timer.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Timer { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `repeat`, `time`, and `wait` are never used [INFO] [stdout] --> src/timer.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 12 | impl Timer { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 13 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn repeat(mut self, repeat: bool) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn time(mut self, duration: Duration) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub async fn wait(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sha256_hash` is never used [INFO] [stdout] --> src/scan.rs:34:4 [INFO] [stdout] | [INFO] [stdout] 34 | fn sha256_hash(mut reader: R) -> io::Result<[u8; 32]> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_datetime` is never used [INFO] [stdout] --> src/scan.rs:46:4 [INFO] [stdout] | [INFO] [stdout] 46 | fn to_datetime(m: std::io::Result) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_path` is never used [INFO] [stdout] --> src/scan.rs:50:4 [INFO] [stdout] | [INFO] [stdout] 50 | fn handle_path>(path: P) -> FileLocation { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INSERT_FILE_LOCATION` is never used [INFO] [stdout] --> src/scan.rs:80:7 [INFO] [stdout] | [INFO] [stdout] 80 | const INSERT_FILE_LOCATION: &str = "INSERT INTO file_locations (node_id, path, hash, size, timestamp, created_at, modified_at, accessed_a... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UPDATE_FILE_LOCATION` is never used [INFO] [stdout] --> src/scan.rs:81:7 [INFO] [stdout] | [INFO] [stdout] 81 | const UPDATE_FILE_LOCATION: &str = "UPDATE file_locations SET hash = ?, size = ?, timestamp = ?, created_at = ?, modified_at = ?, accesse... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DELETE_FILE_LOCATION` is never used [INFO] [stdout] --> src/scan.rs:82:7 [INFO] [stdout] | [INFO] [stdout] 82 | const DELETE_FILE_LOCATION: &str = "DELETE FROM file_locations WHERE node_id = ? and path = ?"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UPSERT_FILE_ENTRY` is never used [INFO] [stdout] --> src/scan.rs:83:7 [INFO] [stdout] | [INFO] [stdout] 83 | const UPSERT_FILE_ENTRY: &str = "INSERT INTO file_entries (hash, size, mime_type, first_datetime, latest_datetime) VALUES (?, ?, ?, ?, ?)... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ScanResult` is never constructed [INFO] [stdout] --> src/scan.rs:86:12 [INFO] [stdout] | [INFO] [stdout] 86 | pub struct ScanResult { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `scan` is never used [INFO] [stdout] --> src/scan.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn scan>(node_id: u128, path: P, mut conn: Connection) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FileEntry` is never constructed [INFO] [stdout] --> src/db.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 55 | pub struct FileEntry { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FileLocation` is never constructed [INFO] [stdout] --> src/db.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 64 | pub struct FileLocation { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ListArgs` is never constructed [INFO] [stdout] --> src/db.rs:88:12 [INFO] [stdout] | [INFO] [stdout] 88 | pub struct ListArgs { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DB` is never constructed [INFO] [stdout] --> src/db.rs:92:12 [INFO] [stdout] | [INFO] [stdout] 92 | pub struct DB { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `list_files` is never used [INFO] [stdout] --> src/db.rs:96:8 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn list_files(conn: &Connection, args: ListArgs) -> anyhow::Result> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_mime_types` is never used [INFO] [stdout] --> src/db.rs:129:14 [INFO] [stdout] | [INFO] [stdout] 129 | pub async fn get_mime_types(conn: &Connection) -> anyhow::Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_file_entry` is never used [INFO] [stdout] --> src/db.rs:141:8 [INFO] [stdout] | [INFO] [stdout] 141 | pub fn get_file_entry(conn: &Connection, hash: &[u8]) -> anyhow::Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_file_location` is never used [INFO] [stdout] --> src/db.rs:160:8 [INFO] [stdout] | [INFO] [stdout] 160 | pub fn get_file_location( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `open_db` is never used [INFO] [stdout] --> src/db.rs:261:8 [INFO] [stdout] | [INFO] [stdout] 261 | pub fn open_db() -> Connection { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PeerIntroduced` is never constructed [INFO] [stdout] --> src/network.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub enum NetworkEvent { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 21 | PeerIntroduced(PeerId, Introduce), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NetworkEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `SendMessage`, `ConnectToPeer`, and `Broadcast` are never constructed [INFO] [stdout] --> src/network.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 27 | pub enum NetworkCommand { [INFO] [stdout] | -------------- variants in this enum [INFO] [stdout] 28 | SendMessage(PeerId, PeerCmd), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 29 | ConnectToPeer(Multiaddr), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 30 | Introduce(Introduce), [INFO] [stdout] 31 | Broadcast(PeerCmd), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NetworkCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `connected_peers` is never used [INFO] [stdout] --> src/network.rs:260:12 [INFO] [stdout] | [INFO] [stdout] 85 | impl NetworkManager { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 260 | pub fn connected_peers(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `repeat`, `time`, and `wait` are never used [INFO] [stdout] --> src/timer.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 12 | impl Timer { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 13 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn repeat(mut self, repeat: bool) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn time(mut self, duration: Duration) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub async fn wait(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sha256_hash` is never used [INFO] [stdout] --> src/scan.rs:34:4 [INFO] [stdout] | [INFO] [stdout] 34 | fn sha256_hash(mut reader: R) -> io::Result<[u8; 32]> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_datetime` is never used [INFO] [stdout] --> src/scan.rs:46:4 [INFO] [stdout] | [INFO] [stdout] 46 | fn to_datetime(m: std::io::Result) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_path` is never used [INFO] [stdout] --> src/scan.rs:50:4 [INFO] [stdout] | [INFO] [stdout] 50 | fn handle_path>(path: P) -> FileLocation { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INSERT_FILE_LOCATION` is never used [INFO] [stdout] --> src/scan.rs:80:7 [INFO] [stdout] | [INFO] [stdout] 80 | const INSERT_FILE_LOCATION: &str = "INSERT INTO file_locations (node_id, path, hash, size, timestamp, created_at, modified_at, accessed_a... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UPDATE_FILE_LOCATION` is never used [INFO] [stdout] --> src/scan.rs:81:7 [INFO] [stdout] | [INFO] [stdout] 81 | const UPDATE_FILE_LOCATION: &str = "UPDATE file_locations SET hash = ?, size = ?, timestamp = ?, created_at = ?, modified_at = ?, accesse... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DELETE_FILE_LOCATION` is never used [INFO] [stdout] --> src/scan.rs:82:7 [INFO] [stdout] | [INFO] [stdout] 82 | const DELETE_FILE_LOCATION: &str = "DELETE FROM file_locations WHERE node_id = ? and path = ?"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UPSERT_FILE_ENTRY` is never used [INFO] [stdout] --> src/scan.rs:83:7 [INFO] [stdout] | [INFO] [stdout] 83 | const UPSERT_FILE_ENTRY: &str = "INSERT INTO file_entries (hash, size, mime_type, first_datetime, latest_datetime) VALUES (?, ?, ?, ?, ?)... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ScanResult` is never constructed [INFO] [stdout] --> src/scan.rs:86:12 [INFO] [stdout] | [INFO] [stdout] 86 | pub struct ScanResult { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `scan` is never used [INFO] [stdout] --> src/scan.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn scan>(node_id: u128, path: P, mut conn: Connection) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FileEntry` is never constructed [INFO] [stdout] --> src/db.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 55 | pub struct FileEntry { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FileLocation` is never constructed [INFO] [stdout] --> src/db.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 64 | pub struct FileLocation { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ListArgs` is never constructed [INFO] [stdout] --> src/db.rs:88:12 [INFO] [stdout] | [INFO] [stdout] 88 | pub struct ListArgs { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DB` is never constructed [INFO] [stdout] --> src/db.rs:92:12 [INFO] [stdout] | [INFO] [stdout] 92 | pub struct DB { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `list_files` is never used [INFO] [stdout] --> src/db.rs:96:8 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn list_files(conn: &Connection, args: ListArgs) -> anyhow::Result> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_mime_types` is never used [INFO] [stdout] --> src/db.rs:129:14 [INFO] [stdout] | [INFO] [stdout] 129 | pub async fn get_mime_types(conn: &Connection) -> anyhow::Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_file_entry` is never used [INFO] [stdout] --> src/db.rs:141:8 [INFO] [stdout] | [INFO] [stdout] 141 | pub fn get_file_entry(conn: &Connection, hash: &[u8]) -> anyhow::Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_file_location` is never used [INFO] [stdout] --> src/db.rs:160:8 [INFO] [stdout] | [INFO] [stdout] 160 | pub fn get_file_location( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `open_db` is never used [INFO] [stdout] --> src/db.rs:261:8 [INFO] [stdout] | [INFO] [stdout] 261 | pub fn open_db() -> Connection { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PeerIntroduced` is never constructed [INFO] [stdout] --> src/network.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub enum NetworkEvent { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 21 | PeerIntroduced(PeerId, Introduce), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NetworkEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `SendMessage`, `ConnectToPeer`, and `Broadcast` are never constructed [INFO] [stdout] --> src/network.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 27 | pub enum NetworkCommand { [INFO] [stdout] | -------------- variants in this enum [INFO] [stdout] 28 | SendMessage(PeerId, PeerCmd), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 29 | ConnectToPeer(Multiaddr), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 30 | Introduce(Introduce), [INFO] [stdout] 31 | Broadcast(PeerCmd), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NetworkCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `connected_peers` is never used [INFO] [stdout] --> src/network.rs:260:12 [INFO] [stdout] | [INFO] [stdout] 85 | impl NetworkManager { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 260 | pub fn connected_peers(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 57s [INFO] running `Command { std: "docker" "inspect" "89c50f94e49946163638280bf385c06ff42f419c92b86452182c6bbabbc5b39b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "89c50f94e49946163638280bf385c06ff42f419c92b86452182c6bbabbc5b39b", kill_on_drop: false }` [INFO] [stdout] 89c50f94e49946163638280bf385c06ff42f419c92b86452182c6bbabbc5b39b