[INFO] cloning repository https://github.com/mmalmi/nostr-notification-server [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mmalmi/nostr-notification-server" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmmalmi%2Fnostr-notification-server", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmmalmi%2Fnostr-notification-server'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 7da36a4806848eb1af0b33153ab6a10cc16e32bc [INFO] linting mmalmi/nostr-notification-server against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmmalmi%2Fnostr-notification-server" "/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/mmalmi/nostr-notification-server [INFO] removed 0 missing tests [INFO] finished tweaking git repo https://github.com/mmalmi/nostr-notification-server [INFO] tweaked toml for git repo https://github.com/mmalmi/nostr-notification-server written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/mmalmi/nostr-notification-server on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/mmalmi/nostr-notification-server 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" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded der v0.4.5 [INFO] [stderr] Downloaded const-oid v0.6.2 [INFO] [stderr] Downloaded foldhash v0.1.3 [INFO] [stderr] Downloaded heed-types v0.20.1 [INFO] [stderr] Downloaded is-terminal v0.4.13 [INFO] [stderr] Downloaded atomic-destructor v0.2.0 [INFO] [stderr] Downloaded heed-traits v0.20.0 [INFO] [stderr] Downloaded rsa v0.7.2 [INFO] [stderr] Downloaded lnurl-pay v0.6.0 [INFO] [stderr] Downloaded synchronoise v1.0.1 [INFO] [stderr] Downloaded sluice v0.5.5 [INFO] [stderr] Downloaded flatbuffers v24.3.25 [INFO] [stderr] Downloaded clru v0.6.2 [INFO] [stderr] Downloaded pest_meta v2.7.14 [INFO] [stderr] Downloaded nostr-relay-pool v0.35.0 [INFO] [stderr] Downloaded nostr-sdk v0.35.0 [INFO] [stderr] Downloaded curl v0.4.47 [INFO] [stderr] Downloaded bip39 v2.1.0 [INFO] [stderr] Downloaded pest v2.7.14 [INFO] [stderr] Downloaded lmdb-master-sys v0.2.4 [INFO] [stderr] Downloaded nostr v0.35.0 [INFO] [stderr] Downloaded warp v0.3.7 [INFO] [stderr] Downloaded quinn-proto v0.11.8 [INFO] [stderr] Downloaded wasix v0.12.21 [INFO] [stderr] Downloaded isahc v1.7.2 [INFO] [stderr] Downloaded p384 v0.13.0 [INFO] [stderr] Downloaded syn v2.0.85 [INFO] [stderr] Downloaded quinn v0.11.5 [INFO] [stderr] Downloaded rustls v0.23.15 [INFO] [stderr] Downloaded rustix v0.38.38 [INFO] [stderr] Downloaded bitcoin v0.32.3 [INFO] [stderr] Downloaded pest_derive v2.7.14 [INFO] [stderr] Downloaded heed v0.20.5 [INFO] [stderr] Downloaded quinn-udp v0.5.5 [INFO] [stderr] Downloaded ed25519-compact v2.1.1 [INFO] [stderr] Downloaded pest_generator v2.7.14 [INFO] [stderr] Downloaded nostr-signer v0.35.0 [INFO] [stderr] Downloaded async-wsocket v0.9.0 [INFO] [stderr] Downloaded nostr-database v0.35.0 [INFO] [stderr] Downloaded hex-conservative v0.1.2 [INFO] [stderr] Downloaded bitcoin_hashes v0.13.0 [INFO] [stderr] Downloaded bitcoin-io v0.1.2 [INFO] [stderr] Downloaded nwc v0.35.0 [INFO] [stderr] Downloaded castaway v0.1.2 [INFO] [stderr] Downloaded hmac-sha1-compact v1.1.4 [INFO] [stderr] Downloaded pkcs1 v0.4.1 [INFO] [stderr] Downloaded web-push v0.10.2 [INFO] [stderr] Downloaded async-utility v0.2.0 [INFO] [stderr] Downloaded bitcoin-internals v0.2.0 [INFO] [stderr] Downloaded ece v2.3.1 [INFO] [stderr] Downloaded ct-codecs v1.1.2 [INFO] [stderr] Downloaded hmac-sha512 v1.1.5 [INFO] [stderr] Downloaded nostr-zapper v0.35.0 [INFO] [stderr] Downloaded coarsetime v0.1.34 [INFO] [stderr] Downloaded jwt-simple v0.11.9 [INFO] [stderr] Downloaded doxygen-rs v0.4.2 [INFO] [stderr] Downloaded negentropy v0.3.1 [INFO] [stderr] Downloaded libz-sys v1.1.20 [INFO] [stderr] Downloaded hmac-sha256 v1.1.7 [INFO] [stderr] Downloaded binstring v0.1.1 [INFO] [stderr] Downloaded der_derive v0.4.1 [INFO] [stderr] Downloaded negentropy v0.4.3 [INFO] [stderr] Downloaded sec1_decode v0.1.0 [INFO] [stderr] Downloaded curl-sys v0.4.77+curl-8.10.1 [INFO] [stderr] Downloaded libnghttp2-sys v0.1.10+1.61.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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 10c796ff7c13710ef0f9665cab003ef90bdfc5580ce2ef933af82f9efc6ccf7d [INFO] running `Command { std: "docker" "start" "-a" "10c796ff7c13710ef0f9665cab003ef90bdfc5580ce2ef933af82f9efc6ccf7d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "10c796ff7c13710ef0f9665cab003ef90bdfc5580ce2ef933af82f9efc6ccf7d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "10c796ff7c13710ef0f9665cab003ef90bdfc5580ce2ef933af82f9efc6ccf7d", kill_on_drop: false }` [INFO] [stdout] 10c796ff7c13710ef0f9665cab003ef90bdfc5580ce2ef933af82f9efc6ccf7d [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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4e64c43f8158a5d6b9af68cf74f20ac7bc50d7c0d83c6646ace2557cbddf7daa [INFO] running `Command { std: "docker" "start" "-a" "4e64c43f8158a5d6b9af68cf74f20ac7bc50d7c0d83c6646ace2557cbddf7daa", kill_on_drop: false }` [INFO] [stderr] Checking subtle v2.6.1 [INFO] [stderr] Compiling serde v1.0.213 [INFO] [stderr] Checking bytes v1.8.0 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Checking base64ct v1.6.0 [INFO] [stderr] Compiling syn v2.0.85 [INFO] [stderr] Checking foldhash v0.1.3 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Compiling openssl-sys v0.9.104 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Compiling serde_json v1.0.132 [INFO] [stderr] Compiling rustls v0.23.15 [INFO] [stderr] Compiling bitcoin-internals v0.3.0 [INFO] [stderr] Checking hex-conservative v0.2.1 [INFO] [stderr] Compiling secp256k1-sys v0.10.1 [INFO] [stderr] Checking bitcoin-io v0.1.2 [INFO] [stderr] Checking hashbrown v0.15.0 [INFO] [stderr] Compiling bitcoin-internals v0.2.0 [INFO] [stderr] Checking either v1.13.0 [INFO] [stderr] Checking data-encoding v2.6.0 [INFO] [stderr] Checking pem-rfc7468 v0.7.0 [INFO] [stderr] Checking ring v0.17.8 [INFO] [stderr] Compiling crossbeam-utils v0.8.20 [INFO] [stderr] Compiling hex_lit v0.1.1 [INFO] [stderr] Checking tinyvec v1.8.0 [INFO] [stderr] Checking der v0.7.9 [INFO] [stderr] Compiling openssl v0.10.68 [INFO] [stderr] Compiling native-tls v0.2.12 [INFO] [stderr] Checking sync_wrapper v1.0.1 [INFO] [stderr] Checking ipnet v2.10.1 [INFO] [stderr] Checking hex-conservative v0.1.2 [INFO] [stderr] Checking http v1.1.0 [INFO] [stderr] Checking bech32 v0.11.0 [INFO] [stderr] Compiling bitcoin v0.32.3 [INFO] [stderr] Compiling phf_shared v0.11.2 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Checking bitcoin_hashes v0.13.0 [INFO] [stderr] Checking password-hash v0.5.0 [INFO] [stderr] Checking ff v0.13.0 [INFO] [stderr] Compiling libz-sys v1.1.20 [INFO] [stderr] Compiling libnghttp2-sys v0.1.10+1.61.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking indexmap v2.6.0 [INFO] [stderr] Checking base16ct v0.2.0 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Checking group v0.13.0 [INFO] [stderr] Compiling phf_generator v0.11.2 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking block-padding v0.3.3 [INFO] [stderr] Checking unicode-normalization v0.1.22 [INFO] [stderr] Checking crypto-bigint v0.5.5 [INFO] [stderr] Checking negentropy v0.4.3 [INFO] [stderr] Checking negentropy v0.3.1 [INFO] [stderr] Checking pem-rfc7468 v0.6.0 [INFO] [stderr] Checking inout v0.1.3 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking universal-hash v0.5.1 [INFO] [stderr] Checking spki v0.7.3 [INFO] [stderr] Checking aead v0.5.2 [INFO] [stderr] Checking cipher v0.4.4 [INFO] [stderr] Checking poly1305 v0.8.0 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking sha2 v0.10.8 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Compiling curl-sys v0.4.77+curl-8.10.1 [INFO] [stderr] Checking pkcs8 v0.10.2 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking rustls-webpki v0.102.8 [INFO] [stderr] Checking der v0.6.1 [INFO] [stderr] Checking pbkdf2 v0.12.2 [INFO] [stderr] Checking hkdf v0.12.4 [INFO] [stderr] Checking chacha20 v0.9.1 [INFO] [stderr] Checking salsa20 v0.10.2 [INFO] [stderr] Checking sec1 v0.7.3 [INFO] [stderr] Checking aes v0.8.4 [INFO] [stderr] Checking cbc v0.1.2 [INFO] [stderr] Checking chacha20poly1305 v0.10.1 [INFO] [stderr] Checking rfc6979 v0.4.0 [INFO] [stderr] Checking signature v2.2.0 [INFO] [stderr] Checking scrypt v0.11.0 [INFO] [stderr] Checking lru v0.12.5 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking regex-automata v0.4.8 [INFO] [stderr] Compiling num-bigint-dig v0.8.4 [INFO] [stderr] Checking ahash v0.7.8 [INFO] [stderr] Checking concurrent-queue v2.5.0 [INFO] [stderr] Compiling polling v2.8.0 [INFO] [stderr] Compiling curl v0.4.47 [INFO] [stderr] Compiling unicase v2.8.0 [INFO] [stderr] Checking http-body-util v0.1.2 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking async-channel v1.9.0 [INFO] [stderr] Checking hashbrown v0.12.3 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Checking signature v1.6.4 [INFO] [stderr] Checking crossbeam-queue v0.3.11 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Checking spki v0.6.0 [INFO] [stderr] Compiling multer v2.1.0 [INFO] [stderr] Checking heed-traits v0.20.0 [INFO] [stderr] Checking ct-codecs v1.1.2 [INFO] [stderr] Checking num-iter v0.1.45 [INFO] [stderr] Checking ucd-trie v0.1.7 [INFO] [stderr] Checking waker-fn v1.2.0 [INFO] [stderr] Checking dlv-list v0.3.0 [INFO] [stderr] Checking const-oid v0.6.2 [INFO] [stderr] Compiling isahc v1.7.2 [INFO] [stderr] Checking elliptic-curve v0.13.8 [INFO] [stderr] Checking pkcs8 v0.9.0 [INFO] [stderr] Checking ed25519-compact v2.1.1 [INFO] [stderr] Compiling flatbuffers v24.3.25 [INFO] [stderr] Checking futures-lite v1.13.0 [INFO] [stderr] Checking synchronoise v1.0.1 [INFO] [stderr] Checking sluice v0.5.5 [INFO] [stderr] Checking pkcs1 v0.4.1 [INFO] [stderr] Checking hmac-sha512 v1.1.5 [INFO] [stderr] Checking hmac-sha256 v1.1.7 [INFO] [stderr] Checking http-body v0.4.6 [INFO] [stderr] Checking headers-core v0.2.0 [INFO] [stderr] Checking coarsetime v0.1.34 [INFO] [stderr] Checking page_size v0.6.0 [INFO] [stderr] Checking linked-hash-map v0.5.6 [INFO] [stderr] Checking hmac-sha1-compact v1.1.4 [INFO] [stderr] Checking binstring v0.1.1 [INFO] [stderr] Checking castaway v0.1.2 [INFO] [stderr] Checking clap_builder v4.5.20 [INFO] [stderr] Checking headers v0.3.9 [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Checking ordered-multimap v0.4.3 [INFO] [stderr] Checking ecdsa v0.16.9 [INFO] [stderr] Checking primeorder v0.13.6 [INFO] [stderr] Checking yaml-rust v0.4.5 [INFO] [stderr] Checking rust-ini v0.18.0 [INFO] [stderr] Checking pem v1.1.1 [INFO] [stderr] Checking is-terminal v0.4.13 [INFO] [stderr] Checking pathdiff v0.2.2 [INFO] [stderr] Checking uuid v1.11.0 [INFO] [stderr] Checking clru v0.6.2 [INFO] [stderr] Checking p256 v0.13.2 [INFO] [stderr] Checking k256 v0.13.4 [INFO] [stderr] Checking p384 v0.13.0 [INFO] [stderr] Checking regex v1.11.0 [INFO] [stderr] Compiling synstructure v0.12.6 [INFO] [stderr] Checking pem v0.8.3 [INFO] [stderr] Checking env_logger v0.10.2 [INFO] [stderr] Compiling der_derive v0.4.1 [INFO] [stderr] Compiling synstructure v0.13.1 [INFO] [stderr] Checking der v0.4.5 [INFO] [stderr] Compiling serde_derive v1.0.213 [INFO] [stderr] Compiling thiserror-impl v1.0.65 [INFO] [stderr] Compiling zerofrom-derive v0.1.4 [INFO] [stderr] Compiling tokio-macros v2.4.0 [INFO] [stderr] Compiling yoke-derive v0.7.4 [INFO] [stderr] Compiling zerovec-derive v0.10.3 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling icu_provider_macros v1.5.0 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling async-trait v0.1.83 [INFO] [stderr] Compiling phf_macros v0.11.2 [INFO] [stderr] Compiling pin-project-internal v1.1.7 [INFO] [stderr] Compiling clap_derive v4.5.18 [INFO] [stderr] Compiling phf v0.11.2 [INFO] [stderr] Compiling doxygen-rs v0.4.2 [INFO] [stderr] Checking tokio v1.41.0 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking zerofrom v0.1.4 [INFO] [stderr] Compiling lmdb-master-sys v0.2.4 [INFO] [stderr] Checking pin-project v1.1.7 [INFO] [stderr] Checking yoke v0.7.4 [INFO] [stderr] Checking atomic-destructor v0.2.0 [INFO] [stderr] Checking tracing-futures v0.2.5 [INFO] [stderr] Checking zerovec v0.10.4 [INFO] [stderr] Checking thiserror v1.0.65 [INFO] [stderr] Compiling pest v2.7.14 [INFO] [stderr] Checking sec1_decode v0.1.0 [INFO] [stderr] Checking clap v4.5.20 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking tinystr v0.7.6 [INFO] [stderr] Checking icu_collections v1.5.0 [INFO] [stderr] Checking icu_locid v1.5.0 [INFO] [stderr] Checking tungstenite v0.24.0 [INFO] [stderr] Checking icu_provider v1.5.0 [INFO] [stderr] Checking rsa v0.7.2 [INFO] [stderr] Compiling pest_meta v2.7.14 [INFO] [stderr] Checking icu_locid_transform v1.5.0 [INFO] [stderr] Compiling pest_generator v2.7.14 [INFO] [stderr] Checking icu_properties v1.5.1 [INFO] [stderr] Compiling pest_derive v2.7.14 [INFO] [stderr] Checking tokio-util v0.7.12 [INFO] [stderr] Checking tokio-rustls v0.26.0 [INFO] [stderr] Checking tokio-socks v0.5.2 [INFO] [stderr] Checking async-utility v0.2.0 [INFO] [stderr] Checking tokio-stream v0.1.16 [INFO] [stderr] Checking tokio-tungstenite v0.24.0 [INFO] [stderr] Checking h2 v0.4.6 [INFO] [stderr] Checking h2 v0.3.26 [INFO] [stderr] Checking icu_normalizer v1.5.0 [INFO] [stderr] Checking bitflags v2.6.0 [INFO] [stderr] Checking bitcoin_hashes v0.14.0 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking bip39 v2.1.0 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking toml v0.5.11 [INFO] [stderr] Checking ron v0.7.1 [INFO] [stderr] Checking json5 v0.4.1 [INFO] [stderr] Checking bitcoin-units v0.1.2 [INFO] [stderr] Checking idna_adapter v1.2.0 [INFO] [stderr] Checking idna v1.0.3 [INFO] [stderr] Checking url v2.5.3 [INFO] [stderr] Checking async-wsocket v0.9.0 [INFO] [stderr] Checking tungstenite v0.21.0 [INFO] [stderr] Checking heed-types v0.20.1 [INFO] [stderr] Checking jwt-simple v0.11.9 [INFO] [stderr] Checking config v0.13.4 [INFO] [stderr] Checking secp256k1 v0.29.1 [INFO] [stderr] Checking base58ck v0.1.0 [INFO] [stderr] Checking heed v0.20.5 [INFO] [stderr] Checking tokio-tungstenite v0.21.0 [INFO] [stderr] Checking hyper v1.5.0 [INFO] [stderr] Checking ece v2.3.1 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking hyper v0.14.31 [INFO] [stderr] Checking hyper-util v0.1.9 [INFO] [stderr] Checking hyper-tls v0.6.0 [INFO] [stderr] Checking hyper-rustls v0.27.3 [INFO] [stderr] Checking reqwest v0.12.9 [INFO] [stderr] Checking nostr v0.35.0 [INFO] [stderr] Checking lnurl-pay v0.6.0 [INFO] [stderr] Checking web-push v0.10.2 [INFO] [stderr] Checking warp v0.3.7 [INFO] [stderr] Checking nostr-database v0.35.0 [INFO] [stderr] Checking nostr-zapper v0.35.0 [INFO] [stderr] Checking nostr-relay-pool v0.35.0 [INFO] [stderr] Checking nostr-signer v0.35.0 [INFO] [stderr] Checking nwc v0.35.0 [INFO] [stderr] Checking nostr-sdk v0.35.0 [INFO] [stderr] Checking nostr-social-graph v0.1.0 (/opt/rustwide/workdir/nostr-social-graph) [INFO] [stderr] Checking nostr-notification-server v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> tests/common.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | use bytes; [INFO] [stdout] | ^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] = note: `#[warn(clippy::single_component_path_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> tests/common.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | use bytes; [INFO] [stdout] | ^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] = note: `#[warn(clippy::single_component_path_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> tests/common.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | use bytes; [INFO] [stdout] | ^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] = note: `#[warn(clippy::single_component_path_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/main.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | use tokio; [INFO] [stdout] | ^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] = note: `#[warn(clippy::single_component_path_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/main.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | use env_logger; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> tests/performance_test.rs:178:16 [INFO] [stdout] | [INFO] [stdout] 178 | if webhooks.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!webhooks.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/main.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | use tokio; [INFO] [stdout] | ^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] = note: `#[warn(clippy::single_component_path_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/main.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | use env_logger; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/integration_test.rs:709:9 [INFO] [stdout] | [INFO] [stdout] 709 | &client, [INFO] [stdout] | ^^^^^^^ help: change this to: `client` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> tests/integration_test.rs:725:9 [INFO] [stdout] | [INFO] [stdout] 725 | &client, [INFO] [stdout] | ^^^^^^^ help: change this to: `client` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/vapid.rs:28:15 [INFO] [stdout] | [INFO] [stdout] 28 | .args(&["ecparam", "-genkey", "-name", "prime256v1", "-out", PRIVATE_KEY_PATH]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["ecparam", "-genkey", "-name", "prime256v1", "-out", PRIVATE_KEY_PATH]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/vapid.rs:33:15 [INFO] [stdout] | [INFO] [stdout] 33 | .args(&["ec", [INFO] [stdout] | _______________^ [INFO] [stdout] 34 | | "-in", PRIVATE_KEY_PATH, [INFO] [stdout] 35 | | "-pubout", [INFO] [stdout] 36 | | "-outform", "DER", [INFO] [stdout] 37 | | "-conv_form", "uncompressed"]) [INFO] [stdout] | |____________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 33 ~ .args(["ec", [INFO] [stdout] 34 + "-in", PRIVATE_KEY_PATH, [INFO] [stdout] 35 + "-pubout", [INFO] [stdout] 36 + "-outform", "DER", [INFO] [stdout] 37 ~ "-conv_form", "uncompressed"]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/db.rs:49:39 [INFO] [stdout] | [INFO] [stdout] 49 | ... .map_err(|e| Box::new(std::io::Error::new(std::io::ErrorKind::Other, e.to_string())) as Box)? [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] = note: `#[warn(clippy::io_other_error)]` on by default [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 49 - .map_err(|e| Box::new(std::io::Error::new(std::io::ErrorKind::Other, e.to_string())) as Box)? [INFO] [stdout] 49 + .map_err(|e| Box::new(std::io::Error::other(e.to_string())) as Box)? [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/db.rs:61:22 [INFO] [stdout] | [INFO] [stdout] 61 | Box::new(std::io::Error::new(std::io::ErrorKind::Other, err_string)) as Box [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 61 - Box::new(std::io::Error::new(std::io::ErrorKind::Other, err_string)) as Box [INFO] [stdout] 61 + Box::new(std::io::Error::other(err_string)) as Box [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/db.rs:66:22 [INFO] [stdout] | [INFO] [stdout] 66 | Box::new(std::io::Error::new(std::io::ErrorKind::Other, err_string)) as Box [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 66 - Box::new(std::io::Error::new(std::io::ErrorKind::Other, err_string)) as Box [INFO] [stdout] 66 + Box::new(std::io::Error::other(err_string)) as Box [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Option` [INFO] [stdout] --> src/db.rs:93:26 [INFO] [stdout] | [INFO] [stdout] 93 | .map(|bytes| Subscription::deserialize(bytes).ok()) [INFO] [stdout] | __________________________^ [INFO] [stdout] 94 | | .flatten() [INFO] [stdout] | |__________________________________^ help: try replacing `map` with `and_then` and remove the `.flatten()`: `and_then(|bytes| Subscription::deserialize(bytes).ok())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] = note: `#[warn(clippy::map_flatten)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/db.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 108 | if !self.subscriptions_by_pubkey_and_id.get(&rtxn, &index_key)?.is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.subscriptions_by_pubkey_and_id.get(&rtxn, &index_key)?.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/db.rs:127:16 [INFO] [stdout] | [INFO] [stdout] 127 | if !self.subscriptions_by_pubkey_and_id.get(&wtxn, &index_key)?.is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.subscriptions_by_pubkey_and_id.get(&wtxn, &index_key)?.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Option` [INFO] [stdout] --> src/db.rs:210:26 [INFO] [stdout] | [INFO] [stdout] 210 | .map(|bytes| Subscription::deserialize(bytes).ok()) [INFO] [stdout] | __________________________^ [INFO] [stdout] 211 | | .flatten() [INFO] [stdout] | |__________________________________^ help: try replacing `map` with `and_then` and remove the `.flatten()`: `and_then(|bytes| Subscription::deserialize(bytes).ok())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Option` [INFO] [stdout] --> src/db.rs:245:26 [INFO] [stdout] | [INFO] [stdout] 245 | .map(|bytes| Subscription::deserialize(bytes).ok()) [INFO] [stdout] | __________________________^ [INFO] [stdout] 246 | | .flatten() [INFO] [stdout] | |__________________________________^ help: try replacing `map` with `and_then` and remove the `.flatten()`: `and_then(|bytes| Subscription::deserialize(bytes).ok())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `if let` since only the `Ok` variant of the iterator element is used [INFO] [stdout] --> src/db.rs:295:13 [INFO] [stdout] | [INFO] [stdout] 295 | / for result in self.seen_events.iter(&wtxn)? { [INFO] [stdout] 296 | | if let Ok((key, _)) = result { [INFO] [stdout] 297 | | if removed >= to_remove { [INFO] [stdout] 298 | | break; [INFO] [stdout] ... | [INFO] [stdout] 303 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] help: try `.flatten()` and remove the `if let` statement in the for loop [INFO] [stdout] --> src/db.rs:296:17 [INFO] [stdout] | [INFO] [stdout] 296 | / if let Ok((key, _)) = result { [INFO] [stdout] 297 | | if removed >= to_remove { [INFO] [stdout] 298 | | break; [INFO] [stdout] ... | [INFO] [stdout] 301 | | removed += 1; [INFO] [stdout] 302 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_flatten [INFO] [stdout] = note: `#[warn(clippy::manual_flatten)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 295 ~ for (key, _) in self.seen_events.iter(&wtxn)?.flatten() { [INFO] [stdout] 296 + if removed >= to_remove { [INFO] [stdout] 297 + break; [INFO] [stdout] 298 + } [INFO] [stdout] 299 + keys_to_remove.push(key.to_string()); [INFO] [stdout] 300 + removed += 1; [INFO] [stdout] 301 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: stripping a prefix manually [INFO] [stdout] --> src/filter.rs:44:32 [INFO] [stdout] | [INFO] [stdout] 44 | let tag_name = &tag_name[1..]; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the prefix was tested here [INFO] [stdout] --> src/filter.rs:43:13 [INFO] [stdout] | [INFO] [stdout] 43 | if tag_name.starts_with('#') { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_strip [INFO] [stdout] = note: `#[warn(clippy::manual_strip)]` on by default [INFO] [stdout] help: try using the `strip_prefix` method [INFO] [stdout] | [INFO] [stdout] 43 ~ if let Some(tag_name) = tag_name.strip_prefix('#') { [INFO] [stdout] 44 ~ let event_tag_values: Vec<_> = event.tags.iter() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `tag.as_slice().get(0)` [INFO] [stdout] --> src/filter.rs:46:35 [INFO] [stdout] | [INFO] [stdout] 46 | .filter(|tag| tag.as_slice().get(0).map(|t| t == tag_name).unwrap_or(false)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `tag.as_slice().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/vapid.rs:28:15 [INFO] [stdout] | [INFO] [stdout] 28 | .args(&["ecparam", "-genkey", "-name", "prime256v1", "-out", PRIVATE_KEY_PATH]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["ecparam", "-genkey", "-name", "prime256v1", "-out", PRIVATE_KEY_PATH]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/vapid.rs:33:15 [INFO] [stdout] | [INFO] [stdout] 33 | .args(&["ec", [INFO] [stdout] | _______________^ [INFO] [stdout] 34 | | "-in", PRIVATE_KEY_PATH, [INFO] [stdout] 35 | | "-pubout", [INFO] [stdout] 36 | | "-outform", "DER", [INFO] [stdout] 37 | | "-conv_form", "uncompressed"]) [INFO] [stdout] | |____________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 33 ~ .args(["ec", [INFO] [stdout] 34 + "-in", PRIVATE_KEY_PATH, [INFO] [stdout] 35 + "-pubout", [INFO] [stdout] 36 + "-outform", "DER", [INFO] [stdout] 37 ~ "-conv_form", "uncompressed"]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/auth.rs:25:51 [INFO] [stdout] | [INFO] [stdout] 25 | let event: Event = serde_json::from_slice(&event_json.as_bytes()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `event_json.as_bytes()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u64` -> `u64`) [INFO] [stdout] --> src/auth.rs:38:28 [INFO] [stdout] | [INFO] [stdout] 38 | let current_time = std::time::SystemTime::now() [INFO] [stdout] | ____________________________^ [INFO] [stdout] 39 | | .duration_since(std::time::UNIX_EPOCH) [INFO] [stdout] 40 | | .map_err(|e| Box::new(e) as Box)? [INFO] [stdout] 41 | | .as_secs() as u64; [INFO] [stdout] | |_____________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 38 ~ let current_time = std::time::SystemTime::now() [INFO] [stdout] 39 + .duration_since(std::time::UNIX_EPOCH) [INFO] [stdout] 40 + .map_err(|e| Box::new(e) as Box)? [INFO] [stdout] 41 ~ .as_secs(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/db.rs:49:39 [INFO] [stdout] | [INFO] [stdout] 49 | ... .map_err(|e| Box::new(std::io::Error::new(std::io::ErrorKind::Other, e.to_string())) as Box)? [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] = note: `#[warn(clippy::io_other_error)]` on by default [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 49 - .map_err(|e| Box::new(std::io::Error::new(std::io::ErrorKind::Other, e.to_string())) as Box)? [INFO] [stdout] 49 + .map_err(|e| Box::new(std::io::Error::other(e.to_string())) as Box)? [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/db.rs:61:22 [INFO] [stdout] | [INFO] [stdout] 61 | Box::new(std::io::Error::new(std::io::ErrorKind::Other, err_string)) as Box [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 61 - Box::new(std::io::Error::new(std::io::ErrorKind::Other, err_string)) as Box [INFO] [stdout] 61 + Box::new(std::io::Error::other(err_string)) as Box [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/db.rs:66:22 [INFO] [stdout] | [INFO] [stdout] 66 | Box::new(std::io::Error::new(std::io::ErrorKind::Other, err_string)) as Box [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 66 - Box::new(std::io::Error::new(std::io::ErrorKind::Other, err_string)) as Box [INFO] [stdout] 66 + Box::new(std::io::Error::other(err_string)) as Box [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Option` [INFO] [stdout] --> src/db.rs:93:26 [INFO] [stdout] | [INFO] [stdout] 93 | .map(|bytes| Subscription::deserialize(bytes).ok()) [INFO] [stdout] | __________________________^ [INFO] [stdout] 94 | | .flatten() [INFO] [stdout] | |__________________________________^ help: try replacing `map` with `and_then` and remove the `.flatten()`: `and_then(|bytes| Subscription::deserialize(bytes).ok())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] = note: `#[warn(clippy::map_flatten)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/db.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 108 | if !self.subscriptions_by_pubkey_and_id.get(&rtxn, &index_key)?.is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.subscriptions_by_pubkey_and_id.get(&rtxn, &index_key)?.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/db.rs:127:16 [INFO] [stdout] | [INFO] [stdout] 127 | if !self.subscriptions_by_pubkey_and_id.get(&wtxn, &index_key)?.is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.subscriptions_by_pubkey_and_id.get(&wtxn, &index_key)?.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: large size difference between variants [INFO] [stdout] --> src/notifications.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | / pub enum EventPayload { [INFO] [stdout] 27 | | Full(Event), [INFO] [stdout] | | ----------- the largest variant contains at least 288 bytes [INFO] [stdout] 28 | | Details(EventDetails), [INFO] [stdout] | | --------------------- the second-largest variant contains at least 56 bytes [INFO] [stdout] 29 | | } [INFO] [stdout] | |_^ the entire enum is at least 288 bytes [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stdout] = note: `#[warn(clippy::large_enum_variant)]` on by default [INFO] [stdout] help: consider boxing the large fields or introducing indirection in some other way to reduce the total size of the enum [INFO] [stdout] | [INFO] [stdout] 27 - Full(Event), [INFO] [stdout] 27 + Full(Box), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Option` [INFO] [stdout] --> src/db.rs:210:26 [INFO] [stdout] | [INFO] [stdout] 210 | .map(|bytes| Subscription::deserialize(bytes).ok()) [INFO] [stdout] | __________________________^ [INFO] [stdout] 211 | | .flatten() [INFO] [stdout] | |__________________________________^ help: try replacing `map` with `and_then` and remove the `.flatten()`: `and_then(|bytes| Subscription::deserialize(bytes).ok())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(..).flatten()` on `Option` [INFO] [stdout] --> src/db.rs:245:26 [INFO] [stdout] | [INFO] [stdout] 245 | .map(|bytes| Subscription::deserialize(bytes).ok()) [INFO] [stdout] | __________________________^ [INFO] [stdout] 246 | | .flatten() [INFO] [stdout] | |__________________________________^ help: try replacing `map` with `and_then` and remove the `.flatten()`: `and_then(|bytes| Subscription::deserialize(bytes).ok())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `if let` since only the `Ok` variant of the iterator element is used [INFO] [stdout] --> src/db.rs:295:13 [INFO] [stdout] | [INFO] [stdout] 295 | / for result in self.seen_events.iter(&wtxn)? { [INFO] [stdout] 296 | | if let Ok((key, _)) = result { [INFO] [stdout] 297 | | if removed >= to_remove { [INFO] [stdout] 298 | | break; [INFO] [stdout] ... | [INFO] [stdout] 303 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] help: try `.flatten()` and remove the `if let` statement in the for loop [INFO] [stdout] --> src/db.rs:296:17 [INFO] [stdout] | [INFO] [stdout] 296 | / if let Ok((key, _)) = result { [INFO] [stdout] 297 | | if removed >= to_remove { [INFO] [stdout] 298 | | break; [INFO] [stdout] ... | [INFO] [stdout] 301 | | removed += 1; [INFO] [stdout] 302 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_flatten [INFO] [stdout] = note: `#[warn(clippy::manual_flatten)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 295 ~ for (key, _) in self.seen_events.iter(&wtxn)?.flatten() { [INFO] [stdout] 296 + if removed >= to_remove { [INFO] [stdout] 297 + break; [INFO] [stdout] 298 + } [INFO] [stdout] 299 + keys_to_remove.push(key.to_string()); [INFO] [stdout] 300 + removed += 1; [INFO] [stdout] 301 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/notifications.rs:272:50 [INFO] [stdout] | [INFO] [stdout] 272 | let has_header = event.tags.iter().any(|tag| tag.as_slice().get(0).map_or(false, |v| *v == "header")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] = note: `#[warn(clippy::unnecessary_map_or)]` on by default [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 272 - let has_header = event.tags.iter().any(|tag| tag.as_slice().get(0).map_or(false, |v| *v == "header")); [INFO] [stdout] 272 + let has_header = event.tags.iter().any(|tag| tag.as_slice().get(0).is_some_and(|v| *v == "header")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `tag.as_slice().get(0)` [INFO] [stdout] --> src/notifications.rs:272:50 [INFO] [stdout] | [INFO] [stdout] 272 | let has_header = event.tags.iter().any(|tag| tag.as_slice().get(0).map_or(false, |v| *v == "header")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `tag.as_slice().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `values.get(0)` [INFO] [stdout] --> src/notifications.rs:319:8 [INFO] [stdout] | [INFO] [stdout] 319 | if values.get(0).map(|v| *v == "p").unwrap_or(false) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `values.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/notifications.rs:399:9 [INFO] [stdout] | [INFO] [stdout] 399 | / match task.await? { [INFO] [stdout] 400 | | Ok(Some(endpoint)) => { [INFO] [stdout] 401 | | endpoints_to_remove.push(endpoint); [INFO] [stdout] ... | [INFO] [stdout] 404 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 399 ~ if let Ok(Some(endpoint)) = task.await? { [INFO] [stdout] 400 + endpoints_to_remove.push(endpoint); [INFO] [stdout] 401 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: stripping a prefix manually [INFO] [stdout] --> src/filter.rs:44:32 [INFO] [stdout] | [INFO] [stdout] 44 | let tag_name = &tag_name[1..]; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the prefix was tested here [INFO] [stdout] --> src/filter.rs:43:13 [INFO] [stdout] | [INFO] [stdout] 43 | if tag_name.starts_with('#') { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_strip [INFO] [stdout] = note: `#[warn(clippy::manual_strip)]` on by default [INFO] [stdout] help: try using the `strip_prefix` method [INFO] [stdout] | [INFO] [stdout] 43 ~ if let Some(tag_name) = tag_name.strip_prefix('#') { [INFO] [stdout] 44 ~ let event_tag_values: Vec<_> = event.tags.iter() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `tag.as_slice().get(0)` [INFO] [stdout] --> src/filter.rs:46:35 [INFO] [stdout] | [INFO] [stdout] 46 | .filter(|tag| tag.as_slice().get(0).map(|t| t == tag_name).unwrap_or(false)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `tag.as_slice().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/schema/subscription_generated.rs:582:34 [INFO] [stdout] | [INFO] [stdout] 582 | pub fn root_as_subscription(buf: &[u8]) -> Result { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 582 | pub fn root_as_subscription(buf: &[u8]) -> Result, flatbuffers::InvalidFlatbuffer> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/schema/subscription_generated.rs:592:48 [INFO] [stdout] | [INFO] [stdout] 592 | pub fn size_prefixed_root_as_subscription(buf: &[u8]) -> Result { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 592 | pub fn size_prefixed_root_as_subscription(buf: &[u8]) -> Result, flatbuffers::InvalidFlatbuffer> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/schema/subscription_generated.rs:625:51 [INFO] [stdout] | [INFO] [stdout] 625 | pub unsafe fn root_as_subscription_unchecked(buf: &[u8]) -> Subscription { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 625 | pub unsafe fn root_as_subscription_unchecked(buf: &[u8]) -> Subscription<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/schema/subscription_generated.rs:632:65 [INFO] [stdout] | [INFO] [stdout] 632 | pub unsafe fn size_prefixed_root_as_subscription_unchecked(buf: &[u8]) -> Subscription { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 632 | pub unsafe fn size_prefixed_root_as_subscription_unchecked(buf: &[u8]) -> Subscription<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/auth.rs:25:51 [INFO] [stdout] | [INFO] [stdout] 25 | let event: Event = serde_json::from_slice(&event_json.as_bytes()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `event_json.as_bytes()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u64` -> `u64`) [INFO] [stdout] --> src/auth.rs:38:28 [INFO] [stdout] | [INFO] [stdout] 38 | let current_time = std::time::SystemTime::now() [INFO] [stdout] | ____________________________^ [INFO] [stdout] 39 | | .duration_since(std::time::UNIX_EPOCH) [INFO] [stdout] 40 | | .map_err(|e| Box::new(e) as Box)? [INFO] [stdout] 41 | | .as_secs() as u64; [INFO] [stdout] | |_____________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 38 ~ let current_time = std::time::SystemTime::now() [INFO] [stdout] 39 + .duration_since(std::time::UNIX_EPOCH) [INFO] [stdout] 40 + .map_err(|e| Box::new(e) as Box)? [INFO] [stdout] 41 ~ .as_secs(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: large size difference between variants [INFO] [stdout] --> src/notifications.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | / pub enum EventPayload { [INFO] [stdout] 27 | | Full(Event), [INFO] [stdout] | | ----------- the largest variant contains at least 288 bytes [INFO] [stdout] 28 | | Details(EventDetails), [INFO] [stdout] | | --------------------- the second-largest variant contains at least 56 bytes [INFO] [stdout] 29 | | } [INFO] [stdout] | |_^ the entire enum is at least 288 bytes [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stdout] = note: `#[warn(clippy::large_enum_variant)]` on by default [INFO] [stdout] help: consider boxing the large fields or introducing indirection in some other way to reduce the total size of the enum [INFO] [stdout] | [INFO] [stdout] 27 - Full(Event), [INFO] [stdout] 27 + Full(Box), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/notifications.rs:272:50 [INFO] [stdout] | [INFO] [stdout] 272 | let has_header = event.tags.iter().any(|tag| tag.as_slice().get(0).map_or(false, |v| *v == "header")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] = note: `#[warn(clippy::unnecessary_map_or)]` on by default [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 272 - let has_header = event.tags.iter().any(|tag| tag.as_slice().get(0).map_or(false, |v| *v == "header")); [INFO] [stdout] 272 + let has_header = event.tags.iter().any(|tag| tag.as_slice().get(0).is_some_and(|v| *v == "header")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `tag.as_slice().get(0)` [INFO] [stdout] --> src/notifications.rs:272:50 [INFO] [stdout] | [INFO] [stdout] 272 | let has_header = event.tags.iter().any(|tag| tag.as_slice().get(0).map_or(false, |v| *v == "header")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `tag.as_slice().first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `values.get(0)` [INFO] [stdout] --> src/notifications.rs:319:8 [INFO] [stdout] | [INFO] [stdout] 319 | if values.get(0).map(|v| *v == "p").unwrap_or(false) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `values.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/notifications.rs:399:9 [INFO] [stdout] | [INFO] [stdout] 399 | / match task.await? { [INFO] [stdout] 400 | | Ok(Some(endpoint)) => { [INFO] [stdout] 401 | | endpoints_to_remove.push(endpoint); [INFO] [stdout] ... | [INFO] [stdout] 404 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 399 ~ if let Ok(Some(endpoint)) = task.await? { [INFO] [stdout] 400 + endpoints_to_remove.push(endpoint); [INFO] [stdout] 401 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/schema/subscription_generated.rs:582:34 [INFO] [stdout] | [INFO] [stdout] 582 | pub fn root_as_subscription(buf: &[u8]) -> Result { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 582 | pub fn root_as_subscription(buf: &[u8]) -> Result, flatbuffers::InvalidFlatbuffer> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/schema/subscription_generated.rs:592:48 [INFO] [stdout] | [INFO] [stdout] 592 | pub fn size_prefixed_root_as_subscription(buf: &[u8]) -> Result { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 592 | pub fn size_prefixed_root_as_subscription(buf: &[u8]) -> Result, flatbuffers::InvalidFlatbuffer> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/schema/subscription_generated.rs:625:51 [INFO] [stdout] | [INFO] [stdout] 625 | pub unsafe fn root_as_subscription_unchecked(buf: &[u8]) -> Subscription { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 625 | pub unsafe fn root_as_subscription_unchecked(buf: &[u8]) -> Subscription<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/schema/subscription_generated.rs:632:65 [INFO] [stdout] | [INFO] [stdout] 632 | pub unsafe fn size_prefixed_root_as_subscription_unchecked(buf: &[u8]) -> Subscription { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 632 | pub unsafe fn size_prefixed_root_as_subscription_unchecked(buf: &[u8]) -> Subscription<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 22s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: num-bigint-dig v0.8.4 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2` [INFO] running `Command { std: "docker" "inspect" "4e64c43f8158a5d6b9af68cf74f20ac7bc50d7c0d83c6646ace2557cbddf7daa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4e64c43f8158a5d6b9af68cf74f20ac7bc50d7c0d83c6646ace2557cbddf7daa", kill_on_drop: false }` [INFO] [stdout] 4e64c43f8158a5d6b9af68cf74f20ac7bc50d7c0d83c6646ace2557cbddf7daa