[INFO] cloning repository https://github.com/itohatweb/learning-twilight-stuff [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/itohatweb/learning-twilight-stuff" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fitohatweb%2Flearning-twilight-stuff", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fitohatweb%2Flearning-twilight-stuff'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 2d776b0cf26d0187916c6cf24f0721622996e6c0 [INFO] testing itohatweb/learning-twilight-stuff against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fitohatweb%2Flearning-twilight-stuff" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/itohatweb/learning-twilight-stuff [INFO] finished tweaking git repo https://github.com/itohatweb/learning-twilight-stuff [INFO] tweaked toml for git repo https://github.com/itohatweb/learning-twilight-stuff written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/itohatweb/learning-twilight-stuff on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/itohatweb/learning-twilight-stuff 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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded tokio-macros v1.5.1 [INFO] [stderr] Downloaded twilight-interactions v0.7.1 [INFO] [stderr] Downloaded proc-macro2 v1.0.32 [INFO] [stderr] Downloaded darwin-libproc v0.2.0 [INFO] [stderr] Downloaded darwin-libproc-sys v0.2.0 [INFO] [stderr] Downloaded anyhow v1.0.44 [INFO] [stderr] Downloaded tinyvec v1.5.0 [INFO] [stderr] Downloaded twilight-cache-inmemory v0.7.1 [INFO] [stderr] Downloaded procfs v0.9.1 [INFO] [stderr] Downloaded combine v4.6.2 [INFO] [stderr] Downloaded redis v0.19.0 [INFO] [stderr] Downloaded h2 v0.3.7 [INFO] [stderr] Downloaded brotli-decompressor v2.3.2 [INFO] [stderr] Downloaded syn v1.0.81 [INFO] [stderr] Downloaded hyper v0.14.14 [INFO] [stderr] Downloaded twilight-model v0.7.1 [INFO] [stderr] Downloaded tokio-tungstenite v0.14.0 [INFO] [stderr] Downloaded twilight-gateway v0.7.1 [INFO] [stderr] Downloaded mobc v0.7.3 [INFO] [stderr] Downloaded rmp-serde v0.15.5 [INFO] [stderr] Downloaded twilight-embed-builder v0.7.1 [INFO] [stderr] Downloaded alloc-no-stdlib v2.0.3 [INFO] [stderr] Downloaded cc v1.0.71 [INFO] [stderr] Downloaded twilight-http v0.7.1 [INFO] [stderr] Downloaded libc v0.2.106 [INFO] [stderr] Downloaded simple-process-stats v1.0.0 [INFO] [stderr] Downloaded pkg-config v0.3.22 [INFO] [stderr] Downloaded tokio v1.13.0 [INFO] [stderr] Downloaded leaky-bucket-lite v0.2.2 [INFO] [stderr] Downloaded mobc-redis v0.7.0 [INFO] [stderr] Downloaded rmp v0.8.10 [INFO] [stderr] Downloaded twilight-gateway-queue v0.7.0 [INFO] [stderr] Downloaded twilight-interactions-derive v0.7.1 [INFO] [stderr] Downloaded futures-timer v3.0.2 [INFO] [stderr] Downloaded alloc-stdlib v0.2.1 [INFO] [stderr] Downloaded twilight-util v0.7.0 [INFO] [stderr] Downloaded libz-sys v1.1.3 [INFO] [stderr] Downloaded brotli v3.3.2 [INFO] [stderr] Downloaded redis v0.21.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b4a4a78f07484e0c1ed4d840e8101343fc8a07be1d8846366c957a771b4b8e3f [INFO] running `Command { std: "docker" "start" "-a" "b4a4a78f07484e0c1ed4d840e8101343fc8a07be1d8846366c957a771b4b8e3f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b4a4a78f07484e0c1ed4d840e8101343fc8a07be1d8846366c957a771b4b8e3f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b4a4a78f07484e0c1ed4d840e8101343fc8a07be1d8846366c957a771b4b8e3f", kill_on_drop: false }` [INFO] [stdout] b4a4a78f07484e0c1ed4d840e8101343fc8a07be1d8846366c957a771b4b8e3f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] aa57d01419a8c220415420c638d9fbbb714a07966878af4983c06675f9c1b5b7 [INFO] running `Command { std: "docker" "start" "-a" "aa57d01419a8c220415420c638d9fbbb714a07966878af4983c06675f9c1b5b7", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] Compiling proc-macro2 v1.0.32 [INFO] [stderr] Compiling syn v1.0.81 [INFO] [stderr] Compiling libc v0.2.106 [INFO] [stderr] Compiling memchr v2.3.4 [INFO] [stderr] Compiling cc v1.0.71 [INFO] [stderr] Compiling tokio v1.13.0 [INFO] [stderr] Compiling futures-macro v0.3.17 [INFO] [stderr] Compiling futures-channel v0.3.17 [INFO] [stderr] Compiling futures-task v0.3.17 [INFO] [stderr] Compiling proc-macro-nested v0.1.7 [INFO] [stderr] Compiling futures-util v0.3.17 [INFO] [stderr] Compiling futures-io v0.3.17 [INFO] [stderr] Compiling ordered-float v2.8.0 [INFO] [stderr] Compiling http v0.2.5 [INFO] [stderr] Compiling tinyvec v1.5.0 [INFO] [stderr] Compiling unicode-bidi v0.3.7 [INFO] [stderr] Compiling generic-array v0.14.4 [INFO] [stderr] Compiling quote v1.0.10 [INFO] [stderr] Compiling byteorder v1.4.3 [INFO] [stderr] Compiling num_cpus v1.13.0 [INFO] [stderr] Compiling parking_lot_core v0.8.5 [INFO] [stderr] Compiling signal-hook-registry v1.4.0 [INFO] [stderr] Compiling parking_lot v0.11.2 [INFO] [stderr] Compiling mio v0.7.14 [INFO] [stderr] Compiling unicode-normalization v0.1.19 [INFO] [stderr] Compiling getrandom v0.2.3 [INFO] [stderr] Compiling async-trait v0.1.51 [INFO] [stderr] Compiling alloc-no-stdlib v2.0.3 [INFO] [stderr] Compiling pkg-config v0.3.22 [INFO] [stderr] Compiling rand_core v0.6.3 [INFO] [stderr] Compiling ring v0.16.20 [INFO] [stderr] Compiling alloc-stdlib v0.2.1 [INFO] [stderr] Compiling idna v0.2.3 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling socket2 v0.4.2 [INFO] [stderr] Compiling libz-sys v1.1.3 [INFO] [stderr] Compiling rand v0.8.4 [INFO] [stderr] Compiling serde_json v1.0.68 [INFO] [stderr] Compiling openssl-probe v0.1.4 [INFO] [stderr] Compiling httpdate v1.0.1 [INFO] [stderr] Compiling url v2.2.2 [INFO] [stderr] Compiling http-body v0.4.4 [INFO] [stderr] Compiling crc32fast v1.2.1 [INFO] [stderr] Compiling miniz_oxide v0.4.4 [INFO] [stderr] Compiling brotli-decompressor v2.3.2 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Compiling block-buffer v0.9.0 [INFO] [stderr] Compiling digest v0.9.0 [INFO] [stderr] Compiling dtoa v0.4.8 [INFO] [stderr] Compiling sha1 v0.6.0 [INFO] [stderr] Compiling sha-1 v0.9.8 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling time v0.1.43 [INFO] [stderr] Compiling flate2 v1.0.22 [INFO] [stderr] Compiling brotli v3.3.2 [INFO] [stderr] Compiling input_buffer v0.4.0 [INFO] [stderr] Compiling futures-timer v3.0.2 [INFO] [stderr] Compiling chrono v0.4.19 [INFO] [stderr] Compiling dashmap v4.0.2 [INFO] [stderr] Compiling rmp v0.8.10 [INFO] [stderr] Compiling aho-corasick v0.7.15 [INFO] [stderr] Compiling anyhow v1.0.44 [INFO] [stderr] Compiling regex-syntax v0.6.25 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling dotenv v0.15.0 [INFO] [stderr] Compiling procfs v0.9.1 [INFO] [stderr] Compiling regex v1.4.6 [INFO] [stderr] Compiling sct v0.6.1 [INFO] [stderr] Compiling webpki v0.21.4 [INFO] [stderr] Compiling ct-logs v0.8.0 [INFO] [stderr] Compiling rustls v0.19.1 [INFO] [stderr] Compiling webpki-roots v0.21.1 [INFO] [stderr] Compiling env_logger v0.9.0 [INFO] [stderr] Compiling tokio-macros v1.5.1 [INFO] [stderr] Compiling serde_derive v1.0.130 [INFO] [stderr] Compiling tracing-attributes v0.1.18 [INFO] [stderr] Compiling serde_repr v0.1.7 [INFO] [stderr] Compiling thiserror-impl v1.0.30 [INFO] [stderr] Compiling rustls-native-certs v0.5.0 [INFO] [stderr] Compiling pin-project-internal v1.0.8 [INFO] [stderr] Compiling tracing v0.1.29 [INFO] [stderr] Compiling twilight-interactions-derive v0.7.1 [INFO] [stderr] Compiling thiserror v1.0.30 [INFO] [stderr] Compiling tungstenite v0.13.0 [INFO] [stderr] Compiling pin-project v1.0.8 [INFO] [stderr] Compiling futures-executor v0.3.17 [INFO] [stderr] Compiling futures v0.3.17 [INFO] [stderr] Compiling serde v1.0.130 [INFO] [stderr] Compiling tokio-util v0.6.9 [INFO] [stderr] Compiling tokio-rustls v0.22.0 [INFO] [stderr] Compiling mobc v0.7.3 [INFO] [stderr] Compiling leaky-bucket-lite v0.2.2 [INFO] [stderr] Compiling simple-process-stats v1.0.0 [INFO] [stderr] Compiling tokio-tungstenite v0.14.0 [INFO] [stderr] Compiling h2 v0.3.7 [INFO] [stderr] Compiling combine v4.6.2 [INFO] [stderr] Compiling serde-value v0.7.0 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling rmp-serde v0.15.5 [INFO] [stderr] Compiling twilight-model v0.7.1 [INFO] [stderr] Compiling hyper v0.14.14 [INFO] [stderr] Compiling hyper-rustls v0.22.1 [INFO] [stderr] Compiling redis v0.19.0 [INFO] [stderr] Compiling redis v0.21.3 [INFO] [stderr] Compiling twilight-http v0.7.1 [INFO] [stderr] Compiling twilight-embed-builder v0.7.1 [INFO] [stderr] Compiling twilight-util v0.7.0 [INFO] [stderr] Compiling twilight-cache-inmemory v0.7.1 [INFO] [stderr] Compiling twilight-interactions v0.7.1 [INFO] [stderr] Compiling mobc-redis v0.7.0 [INFO] [stderr] Compiling cache v0.1.0 (/opt/rustwide/workdir/cache) [INFO] [stdout] warning: unused import: `CurrentUser` [INFO] [stdout] --> cache/src/event/mod.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | user::{CurrentUser, User}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::info` [INFO] [stdout] --> cache/src/event/channel.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use log::info; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Cow` [INFO] [stdout] --> cache/src/event/emoji.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::borrow::Cow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `collections::HashSet` and `hash::Hash` [INFO] [stdout] --> cache/src/event/guild.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | use std::{collections::HashSet, hash::Hash}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `id::GuildId` [INFO] [stdout] --> cache/src/event/guild.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | id::GuildId, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Cow` [INFO] [stdout] --> cache/src/event/message.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::borrow::Cow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `channel::message::MessageReaction` [INFO] [stdout] --> cache/src/event/reaction.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | channel::message::MessageReaction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `tests` [INFO] [stdout] --> cache/src/model/mod.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 16 | #[cfg(tests)] [INFO] [stdout] | ^^^^^ help: there is a config with a similar name: `test` [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tests)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tests)");` to the top of the `build.rs` [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: unused imports: `sticker::CachedSticker` and `voice_state::CachedVoiceState` [INFO] [stdout] --> cache/src/model/mod.rs:13:31 [INFO] [stdout] | [INFO] [stdout] 13 | presence::CachedPresence, sticker::CachedSticker, voice_state::CachedVoiceState, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function depends on never type fallback being `()` [INFO] [stdout] --> cache/src/lib.rs:255:5 [INFO] [stdout] | [INFO] [stdout] 255 | pub async fn insert(&self, key: K, item: &V) -> Result<(), CacheError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: specify the types explicitly [INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail [INFO] [stdout] --> cache/src/lib.rs:260:13 [INFO] [stdout] | [INFO] [stdout] 260 | con.sadd(self.get_key(key), pack).await?; [INFO] [stdout] | ^^^^ [INFO] [stdout] = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default [INFO] [stdout] help: use `()` annotations to avoid fallback changes [INFO] [stdout] | [INFO] [stdout] 260 | con.sadd::<_, _, ()>(self.get_key(key), pack).await?; [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function depends on never type fallback being `()` [INFO] [stdout] --> cache/src/lib.rs:265:5 [INFO] [stdout] | [INFO] [stdout] 265 | pub async fn insert_multiple(&self, key: K, items: Vec) -> Result<(), CacheError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: specify the types explicitly [INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail [INFO] [stdout] --> cache/src/lib.rs:277:14 [INFO] [stdout] | [INFO] [stdout] 277 | .query_async(&mut con.into_inner()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] help: use `()` annotations to avoid fallback changes [INFO] [stdout] | [INFO] [stdout] 277 | .query_async::<_, ()>(&mut con.into_inner()) [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> cache/src/event/emoji.rs:11:19 [INFO] [stdout] | [INFO] [stdout] 11 | if let Ok(mut guild_emojis) = self.guild_emojis.get(guild_id.get()).await { [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `user` [INFO] [stdout] --> cache/src/event/emoji.rs:48:21 [INFO] [stdout] | [INFO] [stdout] 48 | if let Some(user) = emoji.user { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_user` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> cache/src/event/channel.rs:112:28 [INFO] [stdout] | [INFO] [stdout] 112 | Channel::Group(c) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> cache/src/event/channel.rs:137:32 [INFO] [stdout] | [INFO] [stdout] 137 | Channel::Group(ref c) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `guild_id` [INFO] [stdout] --> cache/src/event/interaction.rs:55:37 [INFO] [stdout] | [INFO] [stdout] 55 | if let Some(guild_id) = command.guild_id { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_guild_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `member` [INFO] [stdout] --> cache/src/event/message.rs:15:22 [INFO] [stdout] | [INFO] [stdout] 15 | if let (Some(member), Some(guild_id), true) = ( [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_member` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `guild_id` [INFO] [stdout] --> cache/src/event/message.rs:15:36 [INFO] [stdout] | [INFO] [stdout] 15 | if let (Some(member), Some(guild_id), true) = ( [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_guild_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling twilight-gateway-queue v0.7.0 [INFO] [stderr] Compiling util v0.1.0 (/opt/rustwide/workdir/util) [INFO] [stderr] Compiling twilight-gateway v0.7.1 [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> cache/src/lib.rs:73:22 [INFO] [stdout] | [INFO] [stdout] 73 | pub struct RedisPool(Pool); [INFO] [stdout] | --------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_con` is never used [INFO] [stdout] --> cache/src/lib.rs:84:14 [INFO] [stdout] | [INFO] [stdout] 75 | impl RedisPool { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 84 | async fn get_con(&self) -> Option> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `message_cache_size`, `message_cache_size_mut`, and `resource_types_mut` are never used [INFO] [stdout] --> cache/src/config.rs:65:18 [INFO] [stdout] | [INFO] [stdout] 51 | impl Config { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 65 | pub const fn message_cache_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn message_cache_size_mut(&mut self) -> &mut usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn resource_types_mut(&mut self) -> &mut ResourceType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `unavailable_guild` is never used [INFO] [stdout] --> cache/src/event/mod.rs:57:14 [INFO] [stdout] | [INFO] [stdout] 25 | impl InRedisCache { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | async fn unavailable_guild(&self, guild_id: GuildId) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `delete_group` is never used [INFO] [stdout] --> cache/src/event/channel.rs:99:14 [INFO] [stdout] | [INFO] [stdout] 9 | impl InRedisCache { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 99 | async fn delete_group(&self, channel_id: ChannelId) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CachedSticker` is never constructed [INFO] [stdout] --> cache/src/model/sticker.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct CachedSticker { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CachedSticker` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> cache/src/model/sticker.rs:41:18 [INFO] [stdout] | [INFO] [stdout] 39 | impl CachedSticker { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] 40 | /// Whether the sticker is available. [INFO] [stdout] 41 | pub const fn available(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn description(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub const fn format_type(&self) -> StickerFormatType { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub const fn guild_id(&self) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub const fn id(&self) -> StickerId { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub const fn kind(&self) -> StickerType { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn name(&self) -> &str { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub const fn pack_id(&self) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub const fn sort_value(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn tags(&self) -> &str { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub const fn user_id(&self) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CachedVoiceState` is never constructed [INFO] [stdout] --> cache/src/model/voice_state.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct CachedVoiceState { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CachedVoiceState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> cache/src/model/voice_state.rs:27:18 [INFO] [stdout] | [INFO] [stdout] 25 | impl CachedVoiceState { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] 26 | /// ID of the channel that this user is connected to. [INFO] [stdout] 27 | pub const fn channel_id(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub const fn deaf(&self) -> bool { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub const fn guild_id(&self) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub const fn mute(&self) -> bool { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub const fn self_deaf(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub const fn self_mute(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub const fn self_stream(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn session_id(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub const fn suppress(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn token(&self) -> Option<&str> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub const fn user_id(&self) -> UserId { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing [INFO] [stdout] --> cache/src/lib.rs:521:47 [INFO] [stdout] | [INFO] [stdout] 521 | IntegrationDelete(v) => c.update(v.deref()).await, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `twilight_model::gateway::payload::incoming::IntegrationDelete` does not implement `Deref`, so calling `deref` on `&twilight_model::gateway::payload::incoming::IntegrationDelete` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 521 - IntegrationDelete(v) => c.update(v.deref()).await, [INFO] [stdout] 521 + IntegrationDelete(v) => c.update(v).await, [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `twilight_model::gateway::payload::incoming::IntegrationDelete`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/twilight-model-0.7.1/src/gateway/payload/incoming/integration_delete.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 + #[derive(Clone)] [INFO] [stdout] 6 | pub struct IntegrationDelete { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/mod.rs:38:21 [INFO] [stdout] | [INFO] [stdout] 38 | / self.user_guilds [INFO] [stdout] 39 | | .insert(guild_id.get(), &user.id.get()) [INFO] [stdout] 40 | | .await; [INFO] [stdout] | |______________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 38 | let _ = self.user_guilds [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused implementer of `Future` that must be used [INFO] [stdout] --> cache/src/event/mod.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | self.user_guilds.insert(user_id.get(), &guild_id.get()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: futures do nothing unless you `.await` or poll them [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/mod.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | / self.unavailable_guilds [INFO] [stdout] 59 | | .insert("unavailable_guilds".into(), &guild_id.get()) [INFO] [stdout] 60 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 58 | let _ = self.unavailable_guilds [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused implementer of `Future` that must be used [INFO] [stdout] --> cache/src/event/mod.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | self.guilds.delete(guild_id.get()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: futures do nothing unless you `.await` or poll them [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/emoji.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | / self.guild_emojis [INFO] [stdout] 21 | | .insert_multiple( [INFO] [stdout] 22 | | guild_id.get(), [INFO] [stdout] 23 | | guild_emojis [INFO] [stdout] ... | [INFO] [stdout] 28 | | .await; [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 20 | let _ = self.guild_emojis [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/emoji.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | / self.guild_emojis [INFO] [stdout] 75 | | .insert(guild_id.get(), &emoji.id.get()) [INFO] [stdout] 76 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 74 | let _ = self.guild_emojis [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/guild.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | / self.unavailable_guilds [INFO] [stdout] 93 | | .remove("unavailable_guilds".into(), guild.id().get()) [INFO] [stdout] 94 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 92 | let _ = self.unavailable_guilds [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/guild.rs:161:13 [INFO] [stdout] | [INFO] [stdout] 161 | cache.voice_state_guilds.delete(id).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 161 | let _ = cache.voice_state_guilds.delete(id).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/guild.rs:171:13 [INFO] [stdout] | [INFO] [stdout] 171 | cache.guild_members.delete(id).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 171 | let _ = cache.guild_members.delete(id).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/guild.rs:181:13 [INFO] [stdout] | [INFO] [stdout] 181 | cache.guild_presences.delete(id).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 181 | let _ = cache.guild_presences.delete(id).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused implementer of `Future` that must be used [INFO] [stdout] --> cache/src/event/guild.rs:221:13 [INFO] [stdout] | [INFO] [stdout] 221 | cache.guilds.insert(self.0.id.get(), guild); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: futures do nothing unless you `.await` or poll them [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/integration.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | / self.guild_integrations [INFO] [stdout] 16 | | .insert(guild_id.get(), &integration.id.get()) [INFO] [stdout] 17 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 15 | let _ = self.guild_integrations [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/integration.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | / self.guild_integrations [INFO] [stdout] 35 | | .remove(guild_id.get(), integration_id.get()) [INFO] [stdout] 36 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 34 | let _ = self.guild_integrations [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused implementer of `Future` that must be used [INFO] [stdout] --> cache/src/event/member.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | self.cache_user(Cow::Owned(member.user), Some(guild_id)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: futures do nothing unless you `.await` or poll them [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/member.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | / self.guild_members [INFO] [stdout] 47 | | .insert(guild_id.get(), &member_id.get()) [INFO] [stdout] 48 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 46 | let _ = self.guild_members [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/member.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | / self.guild_members [INFO] [stdout] 66 | | .insert(guild_id.get(), &user_id.get()) [INFO] [stdout] 67 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 65 | let _ = self.guild_members [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/member.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | / self.guild_members [INFO] [stdout] 97 | | .insert(guild_id.get(), &member.id.get()) [INFO] [stdout] 98 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 96 | let _ = self.guild_members [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/member.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 125 | / cache [INFO] [stdout] 126 | | .guild_members [INFO] [stdout] 127 | | .insert(self.guild_id.get(), &self.0.user.id.get()) [INFO] [stdout] 128 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 125 | let _ = cache [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/member.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | / cache [INFO] [stdout] 148 | | .guild_members [INFO] [stdout] 149 | | .insert_multiple( [INFO] [stdout] 150 | | self.guild_id.get(), [INFO] [stdout] ... | [INFO] [stdout] 156 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 147 | let _ = cache [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/member.rs:172:9 [INFO] [stdout] | [INFO] [stdout] 172 | / cache [INFO] [stdout] 173 | | .guild_members [INFO] [stdout] 174 | | .remove(self.guild_id.get(), self.user.id.get()) [INFO] [stdout] 175 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 172 | let _ = cache [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/member.rs:185:17 [INFO] [stdout] | [INFO] [stdout] 185 | cache.user_guilds.delete(self.user.id.get()).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 185 | let _ = cache.user_guilds.delete(self.user.id.get()).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/member.rs:187:17 [INFO] [stdout] | [INFO] [stdout] 187 | / cache [INFO] [stdout] 188 | | .user_guilds [INFO] [stdout] 189 | | .remove(self.user.id.get(), self.guild_id.get()) [INFO] [stdout] 190 | | .await; [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 187 | let _ = cache [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/message.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | / cache [INFO] [stdout] 40 | | .channel_messages [INFO] [stdout] 41 | | .insert(self.0.channel_id.get(), &self.0.id.get()) [INFO] [stdout] 42 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 39 | let _ = cache [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/message.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 59 | / cache [INFO] [stdout] 60 | | .channel_messages [INFO] [stdout] 61 | | .remove(self.channel_id.get(), self.id.get()) [INFO] [stdout] 62 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 59 | let _ = cache [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/message.rs:77:13 [INFO] [stdout] | [INFO] [stdout] 77 | / cache [INFO] [stdout] 78 | | .channel_messages [INFO] [stdout] 79 | | .remove(self.channel_id.get(), id.get()) [INFO] [stdout] 80 | | .await; [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 77 | let _ = cache [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/presence.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | / self.guild_presences [INFO] [stdout] 39 | | .insert_multiple(guild_id.get(), guild_presences) [INFO] [stdout] 40 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 38 | let _ = self.guild_presences [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/role.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | / self.guild_roles [INFO] [stdout] 31 | | .insert_multiple(guild_id.get(), guild_roles) [INFO] [stdout] 32 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 30 | let _ = self.guild_roles [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/role.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | / self.guild_roles [INFO] [stdout] 38 | | .insert(guild_id.get(), &role.id.get()) [INFO] [stdout] 39 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 37 | let _ = self.guild_roles [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused implementer of `Future` that must be used [INFO] [stdout] --> cache/src/event/role.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | / self.roles.insert( [INFO] [stdout] 43 | | guild_id.get(), [INFO] [stdout] 44 | | GuildResource { [INFO] [stdout] 45 | | guild_id, [INFO] [stdout] 46 | | value: role, [INFO] [stdout] 47 | | }, [INFO] [stdout] 48 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: futures do nothing unless you `.await` or poll them [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/role.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | self.guild_roles.remove(guild_id.get(), role_id.get()).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 53 | let _ = self.guild_roles.remove(guild_id.get(), role_id.get()).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/stage_instance.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | / self.guild_stage_instances [INFO] [stdout] 22 | | .insert_multiple(guild_id.get(), guild_stage_instances) [INFO] [stdout] 23 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 21 | let _ = self.guild_stage_instances [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/stage_instance.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | / self.guild_stage_instances [INFO] [stdout] 31 | | .insert(guild_id.get(), &stage_instance.id.get()) [INFO] [stdout] 32 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 30 | let _ = self.guild_stage_instances [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/stage_instance.rs:41:13 [INFO] [stdout] | [INFO] [stdout] 41 | / self.guild_stage_instances [INFO] [stdout] 42 | | .remove(guild_id.get(), stage_id.get()) [INFO] [stdout] 43 | | .await; [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 41 | let _ = self.guild_stage_instances [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling bot-test v0.1.0 (/opt/rustwide/workdir/main) [INFO] [stdout] warning: trait `Command` is never used [INFO] [stdout] --> main/src/types.rs:51:11 [INFO] [stdout] | [INFO] [stdout] 51 | pub trait Command { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 30s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: cache v0.1.0 (/opt/rustwide/workdir/cache), redis v0.19.0, redis v0.21.3 [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" "aa57d01419a8c220415420c638d9fbbb714a07966878af4983c06675f9c1b5b7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "aa57d01419a8c220415420c638d9fbbb714a07966878af4983c06675f9c1b5b7", kill_on_drop: false }` [INFO] [stdout] aa57d01419a8c220415420c638d9fbbb714a07966878af4983c06675f9c1b5b7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 282fdca9257736ceff4e5837ab90ada7ef4b42be5ad562ef7c47b5fdbca1b16a [INFO] running `Command { std: "docker" "start" "-a" "282fdca9257736ceff4e5837ab90ada7ef4b42be5ad562ef7c47b5fdbca1b16a", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stdout] warning: unused import: `CurrentUser` [INFO] [stdout] --> cache/src/event/mod.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | user::{CurrentUser, User}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::info` [INFO] [stdout] --> cache/src/event/channel.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use log::info; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Cow` [INFO] [stdout] --> cache/src/event/emoji.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::borrow::Cow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `collections::HashSet` and `hash::Hash` [INFO] [stdout] --> cache/src/event/guild.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | use std::{collections::HashSet, hash::Hash}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `id::GuildId` [INFO] [stdout] --> cache/src/event/guild.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | id::GuildId, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Cow` [INFO] [stdout] --> cache/src/event/message.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::borrow::Cow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `channel::message::MessageReaction` [INFO] [stdout] --> cache/src/event/reaction.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | channel::message::MessageReaction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `tests` [INFO] [stdout] --> cache/src/model/mod.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 16 | #[cfg(tests)] [INFO] [stdout] | ^^^^^ help: there is a config with a similar name: `test` [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tests)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tests)");` to the top of the `build.rs` [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: unused imports: `sticker::CachedSticker` and `voice_state::CachedVoiceState` [INFO] [stdout] --> cache/src/model/mod.rs:13:31 [INFO] [stdout] | [INFO] [stdout] 13 | presence::CachedPresence, sticker::CachedSticker, voice_state::CachedVoiceState, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function depends on never type fallback being `()` [INFO] [stdout] --> cache/src/lib.rs:255:5 [INFO] [stdout] | [INFO] [stdout] 255 | pub async fn insert(&self, key: K, item: &V) -> Result<(), CacheError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: specify the types explicitly [INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail [INFO] [stdout] --> cache/src/lib.rs:260:13 [INFO] [stdout] | [INFO] [stdout] 260 | con.sadd(self.get_key(key), pack).await?; [INFO] [stdout] | ^^^^ [INFO] [stdout] = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default [INFO] [stdout] help: use `()` annotations to avoid fallback changes [INFO] [stdout] | [INFO] [stdout] 260 | con.sadd::<_, _, ()>(self.get_key(key), pack).await?; [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function depends on never type fallback being `()` [INFO] [stdout] --> cache/src/lib.rs:265:5 [INFO] [stdout] | [INFO] [stdout] 265 | pub async fn insert_multiple(&self, key: K, items: Vec) -> Result<(), CacheError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: specify the types explicitly [INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail [INFO] [stdout] --> cache/src/lib.rs:277:14 [INFO] [stdout] | [INFO] [stdout] 277 | .query_async(&mut con.into_inner()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] help: use `()` annotations to avoid fallback changes [INFO] [stdout] | [INFO] [stdout] 277 | .query_async::<_, ()>(&mut con.into_inner()) [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> cache/src/event/emoji.rs:11:19 [INFO] [stdout] | [INFO] [stdout] 11 | if let Ok(mut guild_emojis) = self.guild_emojis.get(guild_id.get()).await { [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `user` [INFO] [stdout] --> cache/src/event/emoji.rs:48:21 [INFO] [stdout] | [INFO] [stdout] 48 | if let Some(user) = emoji.user { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_user` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> cache/src/event/channel.rs:112:28 [INFO] [stdout] | [INFO] [stdout] 112 | Channel::Group(c) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> cache/src/event/channel.rs:137:32 [INFO] [stdout] | [INFO] [stdout] 137 | Channel::Group(ref c) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `guild_id` [INFO] [stdout] --> cache/src/event/interaction.rs:55:37 [INFO] [stdout] | [INFO] [stdout] 55 | if let Some(guild_id) = command.guild_id { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_guild_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `member` [INFO] [stdout] --> cache/src/event/message.rs:15:22 [INFO] [stdout] | [INFO] [stdout] 15 | if let (Some(member), Some(guild_id), true) = ( [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_member` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `guild_id` [INFO] [stdout] --> cache/src/event/message.rs:15:36 [INFO] [stdout] | [INFO] [stdout] 15 | if let (Some(member), Some(guild_id), true) = ( [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_guild_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> cache/src/lib.rs:73:22 [INFO] [stdout] | [INFO] [stdout] 73 | pub struct RedisPool(Pool); [INFO] [stdout] | --------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_con` is never used [INFO] [stdout] --> cache/src/lib.rs:84:14 [INFO] [stdout] | [INFO] [stdout] 75 | impl RedisPool { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 84 | async fn get_con(&self) -> Option> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `message_cache_size`, `message_cache_size_mut`, and `resource_types_mut` are never used [INFO] [stdout] --> cache/src/config.rs:65:18 [INFO] [stdout] | [INFO] [stdout] 51 | impl Config { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 65 | pub const fn message_cache_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn message_cache_size_mut(&mut self) -> &mut usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn resource_types_mut(&mut self) -> &mut ResourceType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `unavailable_guild` is never used [INFO] [stdout] --> cache/src/event/mod.rs:57:14 [INFO] [stdout] | [INFO] [stdout] 25 | impl InRedisCache { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | async fn unavailable_guild(&self, guild_id: GuildId) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `delete_group` is never used [INFO] [stdout] --> cache/src/event/channel.rs:99:14 [INFO] [stdout] | [INFO] [stdout] 9 | impl InRedisCache { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 99 | async fn delete_group(&self, channel_id: ChannelId) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CachedSticker` is never constructed [INFO] [stdout] --> cache/src/model/sticker.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct CachedSticker { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CachedSticker` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> cache/src/model/sticker.rs:41:18 [INFO] [stdout] | [INFO] [stdout] 39 | impl CachedSticker { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] 40 | /// Whether the sticker is available. [INFO] [stdout] 41 | pub const fn available(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn description(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub const fn format_type(&self) -> StickerFormatType { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub const fn guild_id(&self) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub const fn id(&self) -> StickerId { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub const fn kind(&self) -> StickerType { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn name(&self) -> &str { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub const fn pack_id(&self) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub const fn sort_value(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn tags(&self) -> &str { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub const fn user_id(&self) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CachedVoiceState` is never constructed [INFO] [stdout] --> cache/src/model/voice_state.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct CachedVoiceState { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CachedVoiceState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> cache/src/model/voice_state.rs:27:18 [INFO] [stdout] | [INFO] [stdout] 25 | impl CachedVoiceState { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] 26 | /// ID of the channel that this user is connected to. [INFO] [stdout] 27 | pub const fn channel_id(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub const fn deaf(&self) -> bool { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub const fn guild_id(&self) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub const fn mute(&self) -> bool { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub const fn self_deaf(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub const fn self_mute(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub const fn self_stream(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn session_id(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub const fn suppress(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn token(&self) -> Option<&str> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub const fn user_id(&self) -> UserId { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing [INFO] [stdout] --> cache/src/lib.rs:521:47 [INFO] [stdout] | [INFO] [stdout] 521 | IntegrationDelete(v) => c.update(v.deref()).await, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `twilight_model::gateway::payload::incoming::IntegrationDelete` does not implement `Deref`, so calling `deref` on `&twilight_model::gateway::payload::incoming::IntegrationDelete` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 521 - IntegrationDelete(v) => c.update(v.deref()).await, [INFO] [stdout] 521 + IntegrationDelete(v) => c.update(v).await, [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `twilight_model::gateway::payload::incoming::IntegrationDelete`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/twilight-model-0.7.1/src/gateway/payload/incoming/integration_delete.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 + #[derive(Clone)] [INFO] [stdout] 6 | pub struct IntegrationDelete { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/mod.rs:38:21 [INFO] [stdout] | [INFO] [stdout] 38 | / self.user_guilds [INFO] [stdout] 39 | | .insert(guild_id.get(), &user.id.get()) [INFO] [stdout] 40 | | .await; [INFO] [stdout] | |______________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 38 | let _ = self.user_guilds [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused implementer of `Future` that must be used [INFO] [stdout] --> cache/src/event/mod.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | self.user_guilds.insert(user_id.get(), &guild_id.get()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: futures do nothing unless you `.await` or poll them [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/mod.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | / self.unavailable_guilds [INFO] [stdout] 59 | | .insert("unavailable_guilds".into(), &guild_id.get()) [INFO] [stdout] 60 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 58 | let _ = self.unavailable_guilds [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused implementer of `Future` that must be used [INFO] [stdout] --> cache/src/event/mod.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | self.guilds.delete(guild_id.get()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: futures do nothing unless you `.await` or poll them [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/emoji.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | / self.guild_emojis [INFO] [stdout] 21 | | .insert_multiple( [INFO] [stdout] 22 | | guild_id.get(), [INFO] [stdout] 23 | | guild_emojis [INFO] [stdout] ... | [INFO] [stdout] 28 | | .await; [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 20 | let _ = self.guild_emojis [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/emoji.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | / self.guild_emojis [INFO] [stdout] 75 | | .insert(guild_id.get(), &emoji.id.get()) [INFO] [stdout] 76 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 74 | let _ = self.guild_emojis [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/guild.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | / self.unavailable_guilds [INFO] [stdout] 93 | | .remove("unavailable_guilds".into(), guild.id().get()) [INFO] [stdout] 94 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 92 | let _ = self.unavailable_guilds [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/guild.rs:161:13 [INFO] [stdout] | [INFO] [stdout] 161 | cache.voice_state_guilds.delete(id).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 161 | let _ = cache.voice_state_guilds.delete(id).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/guild.rs:171:13 [INFO] [stdout] | [INFO] [stdout] 171 | cache.guild_members.delete(id).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 171 | let _ = cache.guild_members.delete(id).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/guild.rs:181:13 [INFO] [stdout] | [INFO] [stdout] 181 | cache.guild_presences.delete(id).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 181 | let _ = cache.guild_presences.delete(id).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused implementer of `Future` that must be used [INFO] [stdout] --> cache/src/event/guild.rs:221:13 [INFO] [stdout] | [INFO] [stdout] 221 | cache.guilds.insert(self.0.id.get(), guild); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: futures do nothing unless you `.await` or poll them [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/integration.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | / self.guild_integrations [INFO] [stdout] 16 | | .insert(guild_id.get(), &integration.id.get()) [INFO] [stdout] 17 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 15 | let _ = self.guild_integrations [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/integration.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | / self.guild_integrations [INFO] [stdout] 35 | | .remove(guild_id.get(), integration_id.get()) [INFO] [stdout] 36 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 34 | let _ = self.guild_integrations [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused implementer of `Future` that must be used [INFO] [stdout] --> cache/src/event/member.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | self.cache_user(Cow::Owned(member.user), Some(guild_id)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: futures do nothing unless you `.await` or poll them [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/member.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | / self.guild_members [INFO] [stdout] 47 | | .insert(guild_id.get(), &member_id.get()) [INFO] [stdout] 48 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 46 | let _ = self.guild_members [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/member.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | / self.guild_members [INFO] [stdout] 66 | | .insert(guild_id.get(), &user_id.get()) [INFO] [stdout] 67 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 65 | let _ = self.guild_members [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/member.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | / self.guild_members [INFO] [stdout] 97 | | .insert(guild_id.get(), &member.id.get()) [INFO] [stdout] 98 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 96 | let _ = self.guild_members [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/member.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 125 | / cache [INFO] [stdout] 126 | | .guild_members [INFO] [stdout] 127 | | .insert(self.guild_id.get(), &self.0.user.id.get()) [INFO] [stdout] 128 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 125 | let _ = cache [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/member.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | / cache [INFO] [stdout] 148 | | .guild_members [INFO] [stdout] 149 | | .insert_multiple( [INFO] [stdout] 150 | | self.guild_id.get(), [INFO] [stdout] ... | [INFO] [stdout] 156 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 147 | let _ = cache [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/member.rs:172:9 [INFO] [stdout] | [INFO] [stdout] 172 | / cache [INFO] [stdout] 173 | | .guild_members [INFO] [stdout] 174 | | .remove(self.guild_id.get(), self.user.id.get()) [INFO] [stdout] 175 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 172 | let _ = cache [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/member.rs:185:17 [INFO] [stdout] | [INFO] [stdout] 185 | cache.user_guilds.delete(self.user.id.get()).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 185 | let _ = cache.user_guilds.delete(self.user.id.get()).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/member.rs:187:17 [INFO] [stdout] | [INFO] [stdout] 187 | / cache [INFO] [stdout] 188 | | .user_guilds [INFO] [stdout] 189 | | .remove(self.user.id.get(), self.guild_id.get()) [INFO] [stdout] 190 | | .await; [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 187 | let _ = cache [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/message.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | / cache [INFO] [stdout] 40 | | .channel_messages [INFO] [stdout] 41 | | .insert(self.0.channel_id.get(), &self.0.id.get()) [INFO] [stdout] 42 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 39 | let _ = cache [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/message.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 59 | / cache [INFO] [stdout] 60 | | .channel_messages [INFO] [stdout] 61 | | .remove(self.channel_id.get(), self.id.get()) [INFO] [stdout] 62 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 59 | let _ = cache [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/message.rs:77:13 [INFO] [stdout] | [INFO] [stdout] 77 | / cache [INFO] [stdout] 78 | | .channel_messages [INFO] [stdout] 79 | | .remove(self.channel_id.get(), id.get()) [INFO] [stdout] 80 | | .await; [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 77 | let _ = cache [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/presence.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | / self.guild_presences [INFO] [stdout] 39 | | .insert_multiple(guild_id.get(), guild_presences) [INFO] [stdout] 40 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 38 | let _ = self.guild_presences [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/role.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | / self.guild_roles [INFO] [stdout] 31 | | .insert_multiple(guild_id.get(), guild_roles) [INFO] [stdout] 32 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 30 | let _ = self.guild_roles [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/role.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | / self.guild_roles [INFO] [stdout] 38 | | .insert(guild_id.get(), &role.id.get()) [INFO] [stdout] 39 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 37 | let _ = self.guild_roles [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused implementer of `Future` that must be used [INFO] [stdout] --> cache/src/event/role.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | / self.roles.insert( [INFO] [stdout] 43 | | guild_id.get(), [INFO] [stdout] 44 | | GuildResource { [INFO] [stdout] 45 | | guild_id, [INFO] [stdout] 46 | | value: role, [INFO] [stdout] 47 | | }, [INFO] [stdout] 48 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: futures do nothing unless you `.await` or poll them [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/role.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | self.guild_roles.remove(guild_id.get(), role_id.get()).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 53 | let _ = self.guild_roles.remove(guild_id.get(), role_id.get()).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/stage_instance.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | / self.guild_stage_instances [INFO] [stdout] 22 | | .insert_multiple(guild_id.get(), guild_stage_instances) [INFO] [stdout] 23 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 21 | let _ = self.guild_stage_instances [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/stage_instance.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | / self.guild_stage_instances [INFO] [stdout] 31 | | .insert(guild_id.get(), &stage_instance.id.get()) [INFO] [stdout] 32 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 30 | let _ = self.guild_stage_instances [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/stage_instance.rs:41:13 [INFO] [stdout] | [INFO] [stdout] 41 | / self.guild_stage_instances [INFO] [stdout] 42 | | .remove(guild_id.get(), stage_id.get()) [INFO] [stdout] 43 | | .await; [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 41 | let _ = self.guild_stage_instances [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling util v0.1.0 (/opt/rustwide/workdir/util) [INFO] [stderr] Compiling cache v0.1.0 (/opt/rustwide/workdir/cache) [INFO] [stderr] Compiling bot-test v0.1.0 (/opt/rustwide/workdir/main) [INFO] [stdout] warning: unused import: `CurrentUser` [INFO] [stdout] --> cache/src/event/mod.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | user::{CurrentUser, User}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::info` [INFO] [stdout] --> cache/src/event/channel.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use log::info; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Cow` [INFO] [stdout] --> cache/src/event/emoji.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::borrow::Cow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `collections::HashSet` and `hash::Hash` [INFO] [stdout] --> cache/src/event/guild.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | use std::{collections::HashSet, hash::Hash}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `id::GuildId` [INFO] [stdout] --> cache/src/event/guild.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | id::GuildId, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Cow` [INFO] [stdout] --> cache/src/event/message.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::borrow::Cow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `channel::message::MessageReaction` [INFO] [stdout] --> cache/src/event/reaction.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | channel::message::MessageReaction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `tests` [INFO] [stdout] --> cache/src/model/mod.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 16 | #[cfg(tests)] [INFO] [stdout] | ^^^^^ help: there is a config with a similar name: `test` [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tests)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tests)");` to the top of the `build.rs` [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: unused imports: `sticker::CachedSticker` and `voice_state::CachedVoiceState` [INFO] [stdout] --> cache/src/model/mod.rs:13:31 [INFO] [stdout] | [INFO] [stdout] 13 | presence::CachedPresence, sticker::CachedSticker, voice_state::CachedVoiceState, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Command` is never used [INFO] [stdout] --> main/src/types.rs:51:11 [INFO] [stdout] | [INFO] [stdout] 51 | pub trait Command { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function depends on never type fallback being `()` [INFO] [stdout] --> cache/src/lib.rs:255:5 [INFO] [stdout] | [INFO] [stdout] 255 | pub async fn insert(&self, key: K, item: &V) -> Result<(), CacheError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: specify the types explicitly [INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail [INFO] [stdout] --> cache/src/lib.rs:260:13 [INFO] [stdout] | [INFO] [stdout] 260 | con.sadd(self.get_key(key), pack).await?; [INFO] [stdout] | ^^^^ [INFO] [stdout] = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default [INFO] [stdout] help: use `()` annotations to avoid fallback changes [INFO] [stdout] | [INFO] [stdout] 260 | con.sadd::<_, _, ()>(self.get_key(key), pack).await?; [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function depends on never type fallback being `()` [INFO] [stdout] --> cache/src/lib.rs:265:5 [INFO] [stdout] | [INFO] [stdout] 265 | pub async fn insert_multiple(&self, key: K, items: Vec) -> Result<(), CacheError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = help: specify the types explicitly [INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail [INFO] [stdout] --> cache/src/lib.rs:277:14 [INFO] [stdout] | [INFO] [stdout] 277 | .query_async(&mut con.into_inner()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] help: use `()` annotations to avoid fallback changes [INFO] [stdout] | [INFO] [stdout] 277 | .query_async::<_, ()>(&mut con.into_inner()) [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> cache/src/event/emoji.rs:11:19 [INFO] [stdout] | [INFO] [stdout] 11 | if let Ok(mut guild_emojis) = self.guild_emojis.get(guild_id.get()).await { [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `user` [INFO] [stdout] --> cache/src/event/emoji.rs:48:21 [INFO] [stdout] | [INFO] [stdout] 48 | if let Some(user) = emoji.user { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_user` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> cache/src/event/channel.rs:112:28 [INFO] [stdout] | [INFO] [stdout] 112 | Channel::Group(c) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> cache/src/event/channel.rs:137:32 [INFO] [stdout] | [INFO] [stdout] 137 | Channel::Group(ref c) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `guild_id` [INFO] [stdout] --> cache/src/event/interaction.rs:55:37 [INFO] [stdout] | [INFO] [stdout] 55 | if let Some(guild_id) = command.guild_id { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_guild_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `member` [INFO] [stdout] --> cache/src/event/message.rs:15:22 [INFO] [stdout] | [INFO] [stdout] 15 | if let (Some(member), Some(guild_id), true) = ( [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_member` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `guild_id` [INFO] [stdout] --> cache/src/event/message.rs:15:36 [INFO] [stdout] | [INFO] [stdout] 15 | if let (Some(member), Some(guild_id), true) = ( [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_guild_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> cache/src/lib.rs:73:22 [INFO] [stdout] | [INFO] [stdout] 73 | pub struct RedisPool(Pool); [INFO] [stdout] | --------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_con` is never used [INFO] [stdout] --> cache/src/lib.rs:84:14 [INFO] [stdout] | [INFO] [stdout] 75 | impl RedisPool { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 84 | async fn get_con(&self) -> Option> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `message_cache_size`, `message_cache_size_mut`, and `resource_types_mut` are never used [INFO] [stdout] --> cache/src/config.rs:65:18 [INFO] [stdout] | [INFO] [stdout] 51 | impl Config { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 65 | pub const fn message_cache_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn message_cache_size_mut(&mut self) -> &mut usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn resource_types_mut(&mut self) -> &mut ResourceType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `unavailable_guild` is never used [INFO] [stdout] --> cache/src/event/mod.rs:57:14 [INFO] [stdout] | [INFO] [stdout] 25 | impl InRedisCache { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | async fn unavailable_guild(&self, guild_id: GuildId) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `delete_group` is never used [INFO] [stdout] --> cache/src/event/channel.rs:99:14 [INFO] [stdout] | [INFO] [stdout] 9 | impl InRedisCache { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 99 | async fn delete_group(&self, channel_id: ChannelId) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CachedSticker` is never constructed [INFO] [stdout] --> cache/src/model/sticker.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct CachedSticker { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CachedSticker` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> cache/src/model/sticker.rs:41:18 [INFO] [stdout] | [INFO] [stdout] 39 | impl CachedSticker { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] 40 | /// Whether the sticker is available. [INFO] [stdout] 41 | pub const fn available(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn description(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub const fn format_type(&self) -> StickerFormatType { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub const fn guild_id(&self) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub const fn id(&self) -> StickerId { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub const fn kind(&self) -> StickerType { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn name(&self) -> &str { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub const fn pack_id(&self) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub const fn sort_value(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn tags(&self) -> &str { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub const fn user_id(&self) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CachedVoiceState` is never constructed [INFO] [stdout] --> cache/src/model/voice_state.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct CachedVoiceState { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CachedVoiceState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> cache/src/model/voice_state.rs:27:18 [INFO] [stdout] | [INFO] [stdout] 25 | impl CachedVoiceState { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] 26 | /// ID of the channel that this user is connected to. [INFO] [stdout] 27 | pub const fn channel_id(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub const fn deaf(&self) -> bool { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub const fn guild_id(&self) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub const fn mute(&self) -> bool { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub const fn self_deaf(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub const fn self_mute(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub const fn self_stream(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn session_id(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub const fn suppress(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn token(&self) -> Option<&str> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub const fn user_id(&self) -> UserId { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing [INFO] [stdout] --> cache/src/lib.rs:521:47 [INFO] [stdout] | [INFO] [stdout] 521 | IntegrationDelete(v) => c.update(v.deref()).await, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `twilight_model::gateway::payload::incoming::IntegrationDelete` does not implement `Deref`, so calling `deref` on `&twilight_model::gateway::payload::incoming::IntegrationDelete` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 521 - IntegrationDelete(v) => c.update(v.deref()).await, [INFO] [stdout] 521 + IntegrationDelete(v) => c.update(v).await, [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `twilight_model::gateway::payload::incoming::IntegrationDelete`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/twilight-model-0.7.1/src/gateway/payload/incoming/integration_delete.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 + #[derive(Clone)] [INFO] [stdout] 6 | pub struct IntegrationDelete { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/mod.rs:38:21 [INFO] [stdout] | [INFO] [stdout] 38 | / self.user_guilds [INFO] [stdout] 39 | | .insert(guild_id.get(), &user.id.get()) [INFO] [stdout] 40 | | .await; [INFO] [stdout] | |______________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 38 | let _ = self.user_guilds [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused implementer of `Future` that must be used [INFO] [stdout] --> cache/src/event/mod.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | self.user_guilds.insert(user_id.get(), &guild_id.get()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: futures do nothing unless you `.await` or poll them [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/mod.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | / self.unavailable_guilds [INFO] [stdout] 59 | | .insert("unavailable_guilds".into(), &guild_id.get()) [INFO] [stdout] 60 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 58 | let _ = self.unavailable_guilds [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused implementer of `Future` that must be used [INFO] [stdout] --> cache/src/event/mod.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | self.guilds.delete(guild_id.get()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: futures do nothing unless you `.await` or poll them [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/emoji.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | / self.guild_emojis [INFO] [stdout] 21 | | .insert_multiple( [INFO] [stdout] 22 | | guild_id.get(), [INFO] [stdout] 23 | | guild_emojis [INFO] [stdout] ... | [INFO] [stdout] 28 | | .await; [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 20 | let _ = self.guild_emojis [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/emoji.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | / self.guild_emojis [INFO] [stdout] 75 | | .insert(guild_id.get(), &emoji.id.get()) [INFO] [stdout] 76 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 74 | let _ = self.guild_emojis [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/guild.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | / self.unavailable_guilds [INFO] [stdout] 93 | | .remove("unavailable_guilds".into(), guild.id().get()) [INFO] [stdout] 94 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 92 | let _ = self.unavailable_guilds [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/guild.rs:161:13 [INFO] [stdout] | [INFO] [stdout] 161 | cache.voice_state_guilds.delete(id).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 161 | let _ = cache.voice_state_guilds.delete(id).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/guild.rs:171:13 [INFO] [stdout] | [INFO] [stdout] 171 | cache.guild_members.delete(id).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 171 | let _ = cache.guild_members.delete(id).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/guild.rs:181:13 [INFO] [stdout] | [INFO] [stdout] 181 | cache.guild_presences.delete(id).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 181 | let _ = cache.guild_presences.delete(id).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused implementer of `Future` that must be used [INFO] [stdout] --> cache/src/event/guild.rs:221:13 [INFO] [stdout] | [INFO] [stdout] 221 | cache.guilds.insert(self.0.id.get(), guild); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: futures do nothing unless you `.await` or poll them [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/integration.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | / self.guild_integrations [INFO] [stdout] 16 | | .insert(guild_id.get(), &integration.id.get()) [INFO] [stdout] 17 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 15 | let _ = self.guild_integrations [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/integration.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | / self.guild_integrations [INFO] [stdout] 35 | | .remove(guild_id.get(), integration_id.get()) [INFO] [stdout] 36 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 34 | let _ = self.guild_integrations [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused implementer of `Future` that must be used [INFO] [stdout] --> cache/src/event/member.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | self.cache_user(Cow::Owned(member.user), Some(guild_id)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: futures do nothing unless you `.await` or poll them [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/member.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | / self.guild_members [INFO] [stdout] 47 | | .insert(guild_id.get(), &member_id.get()) [INFO] [stdout] 48 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 46 | let _ = self.guild_members [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/member.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | / self.guild_members [INFO] [stdout] 66 | | .insert(guild_id.get(), &user_id.get()) [INFO] [stdout] 67 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 65 | let _ = self.guild_members [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/member.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | / self.guild_members [INFO] [stdout] 97 | | .insert(guild_id.get(), &member.id.get()) [INFO] [stdout] 98 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 96 | let _ = self.guild_members [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/member.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 125 | / cache [INFO] [stdout] 126 | | .guild_members [INFO] [stdout] 127 | | .insert(self.guild_id.get(), &self.0.user.id.get()) [INFO] [stdout] 128 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 125 | let _ = cache [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/member.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | / cache [INFO] [stdout] 148 | | .guild_members [INFO] [stdout] 149 | | .insert_multiple( [INFO] [stdout] 150 | | self.guild_id.get(), [INFO] [stdout] ... | [INFO] [stdout] 156 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 147 | let _ = cache [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/member.rs:172:9 [INFO] [stdout] | [INFO] [stdout] 172 | / cache [INFO] [stdout] 173 | | .guild_members [INFO] [stdout] 174 | | .remove(self.guild_id.get(), self.user.id.get()) [INFO] [stdout] 175 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 172 | let _ = cache [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/member.rs:185:17 [INFO] [stdout] | [INFO] [stdout] 185 | cache.user_guilds.delete(self.user.id.get()).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 185 | let _ = cache.user_guilds.delete(self.user.id.get()).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/member.rs:187:17 [INFO] [stdout] | [INFO] [stdout] 187 | / cache [INFO] [stdout] 188 | | .user_guilds [INFO] [stdout] 189 | | .remove(self.user.id.get(), self.guild_id.get()) [INFO] [stdout] 190 | | .await; [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 187 | let _ = cache [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/message.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | / cache [INFO] [stdout] 40 | | .channel_messages [INFO] [stdout] 41 | | .insert(self.0.channel_id.get(), &self.0.id.get()) [INFO] [stdout] 42 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 39 | let _ = cache [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/message.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 59 | / cache [INFO] [stdout] 60 | | .channel_messages [INFO] [stdout] 61 | | .remove(self.channel_id.get(), self.id.get()) [INFO] [stdout] 62 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 59 | let _ = cache [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/message.rs:77:13 [INFO] [stdout] | [INFO] [stdout] 77 | / cache [INFO] [stdout] 78 | | .channel_messages [INFO] [stdout] 79 | | .remove(self.channel_id.get(), id.get()) [INFO] [stdout] 80 | | .await; [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 77 | let _ = cache [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/presence.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | / self.guild_presences [INFO] [stdout] 39 | | .insert_multiple(guild_id.get(), guild_presences) [INFO] [stdout] 40 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 38 | let _ = self.guild_presences [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/role.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | / self.guild_roles [INFO] [stdout] 31 | | .insert_multiple(guild_id.get(), guild_roles) [INFO] [stdout] 32 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 30 | let _ = self.guild_roles [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/role.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | / self.guild_roles [INFO] [stdout] 38 | | .insert(guild_id.get(), &role.id.get()) [INFO] [stdout] 39 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 37 | let _ = self.guild_roles [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused implementer of `Future` that must be used [INFO] [stdout] --> cache/src/event/role.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | / self.roles.insert( [INFO] [stdout] 43 | | guild_id.get(), [INFO] [stdout] 44 | | GuildResource { [INFO] [stdout] 45 | | guild_id, [INFO] [stdout] 46 | | value: role, [INFO] [stdout] 47 | | }, [INFO] [stdout] 48 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: futures do nothing unless you `.await` or poll them [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/role.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | self.guild_roles.remove(guild_id.get(), role_id.get()).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 53 | let _ = self.guild_roles.remove(guild_id.get(), role_id.get()).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/stage_instance.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | / self.guild_stage_instances [INFO] [stdout] 22 | | .insert_multiple(guild_id.get(), guild_stage_instances) [INFO] [stdout] 23 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 21 | let _ = self.guild_stage_instances [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/stage_instance.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | / self.guild_stage_instances [INFO] [stdout] 31 | | .insert(guild_id.get(), &stage_instance.id.get()) [INFO] [stdout] 32 | | .await; [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 30 | let _ = self.guild_stage_instances [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> cache/src/event/stage_instance.rs:41:13 [INFO] [stdout] | [INFO] [stdout] 41 | / self.guild_stage_instances [INFO] [stdout] 42 | | .remove(guild_id.get(), stage_id.get()) [INFO] [stdout] 43 | | .await; [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 41 | let _ = self.guild_stage_instances [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 5.21s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: cache v0.1.0 (/opt/rustwide/workdir/cache), redis v0.19.0, redis v0.21.3 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3` [INFO] running `Command { std: "docker" "inspect" "282fdca9257736ceff4e5837ab90ada7ef4b42be5ad562ef7c47b5fdbca1b16a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "282fdca9257736ceff4e5837ab90ada7ef4b42be5ad562ef7c47b5fdbca1b16a", kill_on_drop: false }` [INFO] [stdout] 282fdca9257736ceff4e5837ab90ada7ef4b42be5ad562ef7c47b5fdbca1b16a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 5d903f80d9c8ed3205480eb2826fe2648dbfdf4724647eeb56968442c93bcb9d [INFO] running `Command { std: "docker" "start" "-a" "5d903f80d9c8ed3205480eb2826fe2648dbfdf4724647eeb56968442c93bcb9d", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] warning: unused import: `CurrentUser` [INFO] [stderr] --> cache/src/event/mod.rs:5:12 [INFO] [stderr] | [INFO] [stderr] 5 | user::{CurrentUser, User}, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `log::info` [INFO] [stderr] --> cache/src/event/channel.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use log::info; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::borrow::Cow` [INFO] [stderr] --> cache/src/event/emoji.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::borrow::Cow; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `collections::HashSet` and `hash::Hash` [INFO] [stderr] --> cache/src/event/guild.rs:6:11 [INFO] [stderr] | [INFO] [stderr] 6 | use std::{collections::HashSet, hash::Hash}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `id::GuildId` [INFO] [stderr] --> cache/src/event/guild.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | id::GuildId, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::borrow::Cow` [INFO] [stderr] --> cache/src/event/message.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::borrow::Cow; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `channel::message::MessageReaction` [INFO] [stderr] --> cache/src/event/reaction.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | channel::message::MessageReaction, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `tests` [INFO] [stderr] --> cache/src/model/mod.rs:16:7 [INFO] [stderr] | [INFO] [stderr] 16 | #[cfg(tests)] [INFO] [stderr] | ^^^^^ help: there is a config with a similar name: `test` [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tests)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tests)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `sticker::CachedSticker` and `voice_state::CachedVoiceState` [INFO] [stderr] --> cache/src/model/mod.rs:13:31 [INFO] [stderr] | [INFO] [stderr] 13 | presence::CachedPresence, sticker::CachedSticker, voice_state::CachedVoiceState, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this function depends on never type fallback being `()` [INFO] [stderr] --> cache/src/lib.rs:255:5 [INFO] [stderr] | [INFO] [stderr] 255 | pub async fn insert(&self, key: K, item: &V) -> Result<(), CacheError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions! [INFO] [stderr] = note: for more information, see [INFO] [stderr] = help: specify the types explicitly [INFO] [stderr] note: in edition 2024, the requirement `!: FromRedisValue` will fail [INFO] [stderr] --> cache/src/lib.rs:260:13 [INFO] [stderr] | [INFO] [stderr] 260 | con.sadd(self.get_key(key), pack).await?; [INFO] [stderr] | ^^^^ [INFO] [stderr] = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default [INFO] [stderr] help: use `()` annotations to avoid fallback changes [INFO] [stderr] | [INFO] [stderr] 260 | con.sadd::<_, _, ()>(self.get_key(key), pack).await?; [INFO] [stderr] | ++++++++++++ [INFO] [stderr] [INFO] [stderr] warning: this function depends on never type fallback being `()` [INFO] [stderr] --> cache/src/lib.rs:265:5 [INFO] [stderr] | [INFO] [stderr] 265 | pub async fn insert_multiple(&self, key: K, items: Vec) -> Result<(), CacheError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions! [INFO] [stderr] = note: for more information, see [INFO] [stderr] = help: specify the types explicitly [INFO] [stderr] note: in edition 2024, the requirement `!: FromRedisValue` will fail [INFO] [stderr] --> cache/src/lib.rs:277:14 [INFO] [stderr] | [INFO] [stderr] 277 | .query_async(&mut con.into_inner()) [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] help: use `()` annotations to avoid fallback changes [INFO] [stderr] | [INFO] [stderr] 277 | .query_async::<_, ()>(&mut con.into_inner()) [INFO] [stderr] | +++++++++ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> cache/src/event/emoji.rs:11:19 [INFO] [stderr] | [INFO] [stderr] 11 | if let Ok(mut guild_emojis) = self.guild_emojis.get(guild_id.get()).await { [INFO] [stderr] | ----^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `user` [INFO] [stderr] --> cache/src/event/emoji.rs:48:21 [INFO] [stderr] | [INFO] [stderr] 48 | if let Some(user) = emoji.user { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_user` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `c` [INFO] [stderr] --> cache/src/event/channel.rs:112:28 [INFO] [stderr] | [INFO] [stderr] 112 | Channel::Group(c) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `c` [INFO] [stderr] --> cache/src/event/channel.rs:137:32 [INFO] [stderr] | [INFO] [stderr] 137 | Channel::Group(ref c) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `guild_id` [INFO] [stderr] --> cache/src/event/interaction.rs:55:37 [INFO] [stderr] | [INFO] [stderr] 55 | if let Some(guild_id) = command.guild_id { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_guild_id` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `member` [INFO] [stderr] --> cache/src/event/message.rs:15:22 [INFO] [stderr] | [INFO] [stderr] 15 | if let (Some(member), Some(guild_id), true) = ( [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_member` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `guild_id` [INFO] [stderr] --> cache/src/event/message.rs:15:36 [INFO] [stderr] | [INFO] [stderr] 15 | if let (Some(member), Some(guild_id), true) = ( [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_guild_id` [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> cache/src/lib.rs:73:22 [INFO] [stderr] | [INFO] [stderr] 73 | pub struct RedisPool(Pool); [INFO] [stderr] | --------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this struct [INFO] [stderr] | [INFO] [stderr] = help: consider removing this field [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method `get_con` is never used [INFO] [stderr] --> cache/src/lib.rs:84:14 [INFO] [stderr] | [INFO] [stderr] 75 | impl RedisPool { [INFO] [stderr] | -------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 84 | async fn get_con(&self) -> Option> { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `message_cache_size`, `message_cache_size_mut`, and `resource_types_mut` are never used [INFO] [stderr] --> cache/src/config.rs:65:18 [INFO] [stderr] | [INFO] [stderr] 51 | impl Config { [INFO] [stderr] | ----------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 65 | pub const fn message_cache_size(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 70 | pub fn message_cache_size_mut(&mut self) -> &mut usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 81 | pub fn resource_types_mut(&mut self) -> &mut ResourceType { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `unavailable_guild` is never used [INFO] [stderr] --> cache/src/event/mod.rs:57:14 [INFO] [stderr] | [INFO] [stderr] 25 | impl InRedisCache { [INFO] [stderr] | ----------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 57 | async fn unavailable_guild(&self, guild_id: GuildId) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `delete_group` is never used [INFO] [stderr] --> cache/src/event/channel.rs:99:14 [INFO] [stderr] | [INFO] [stderr] 9 | impl InRedisCache { [INFO] [stderr] | ----------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 99 | async fn delete_group(&self, channel_id: ChannelId) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `CachedSticker` is never constructed [INFO] [stderr] --> cache/src/model/sticker.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 14 | pub struct CachedSticker { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `CachedSticker` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: multiple methods are never used [INFO] [stderr] --> cache/src/model/sticker.rs:41:18 [INFO] [stderr] | [INFO] [stderr] 39 | impl CachedSticker { [INFO] [stderr] | ------------------ methods in this implementation [INFO] [stderr] 40 | /// Whether the sticker is available. [INFO] [stderr] 41 | pub const fn available(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 46 | pub fn description(&self) -> &str { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 51 | pub const fn format_type(&self) -> StickerFormatType { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 56 | pub const fn guild_id(&self) -> Option { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 61 | pub const fn id(&self) -> StickerId { [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 66 | pub const fn kind(&self) -> StickerType { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 71 | pub fn name(&self) -> &str { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 76 | pub const fn pack_id(&self) -> Option { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 81 | pub const fn sort_value(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 86 | pub fn tags(&self) -> &str { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 91 | pub const fn user_id(&self) -> Option { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `CachedVoiceState` is never constructed [INFO] [stderr] --> cache/src/model/voice_state.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct CachedVoiceState { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `CachedVoiceState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: multiple methods are never used [INFO] [stderr] --> cache/src/model/voice_state.rs:27:18 [INFO] [stderr] | [INFO] [stderr] 25 | impl CachedVoiceState { [INFO] [stderr] | --------------------- methods in this implementation [INFO] [stderr] 26 | /// ID of the channel that this user is connected to. [INFO] [stderr] 27 | pub const fn channel_id(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 32 | pub const fn deaf(&self) -> bool { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 37 | pub const fn guild_id(&self) -> Option { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 42 | pub const fn mute(&self) -> bool { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 47 | pub const fn self_deaf(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 52 | pub const fn self_mute(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 57 | pub const fn self_stream(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 62 | pub fn session_id(&self) -> &str { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 67 | pub const fn suppress(&self) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 72 | pub fn token(&self) -> Option<&str> { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 77 | pub const fn user_id(&self) -> UserId { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: call to `.deref()` on a reference in this situation does nothing [INFO] [stderr] --> cache/src/lib.rs:521:47 [INFO] [stderr] | [INFO] [stderr] 521 | IntegrationDelete(v) => c.update(v.deref()).await, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the type `twilight_model::gateway::payload::incoming::IntegrationDelete` does not implement `Deref`, so calling `deref` on `&twilight_model::gateway::payload::incoming::IntegrationDelete` copies the reference, which does not do anything and can be removed [INFO] [stderr] = note: `#[warn(noop_method_call)]` on by default [INFO] [stderr] help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] 521 - IntegrationDelete(v) => c.update(v.deref()).await, [INFO] [stderr] 521 + IntegrationDelete(v) => c.update(v).await, [INFO] [stderr] | [INFO] [stderr] help: if you meant to clone `twilight_model::gateway::payload::incoming::IntegrationDelete`, implement `Clone` for it [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/twilight-model-0.7.1/src/gateway/payload/incoming/integration_delete.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 + #[derive(Clone)] [INFO] [stderr] 6 | pub struct IntegrationDelete { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> cache/src/event/mod.rs:38:21 [INFO] [stderr] | [INFO] [stderr] 38 | / self.user_guilds [INFO] [stderr] 39 | | .insert(guild_id.get(), &user.id.get()) [INFO] [stderr] 40 | | .await; [INFO] [stderr] | |______________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 38 | let _ = self.user_guilds [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused implementer of `Future` that must be used [INFO] [stderr] --> cache/src/event/mod.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | self.user_guilds.insert(user_id.get(), &guild_id.get()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: futures do nothing unless you `.await` or poll them [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> cache/src/event/mod.rs:58:9 [INFO] [stderr] | [INFO] [stderr] 58 | / self.unavailable_guilds [INFO] [stderr] 59 | | .insert("unavailable_guilds".into(), &guild_id.get()) [INFO] [stderr] 60 | | .await; [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 58 | let _ = self.unavailable_guilds [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused implementer of `Future` that must be used [INFO] [stderr] --> cache/src/event/mod.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 61 | self.guilds.delete(guild_id.get()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: futures do nothing unless you `.await` or poll them [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> cache/src/event/emoji.rs:20:13 [INFO] [stderr] | [INFO] [stderr] 20 | / self.guild_emojis [INFO] [stderr] 21 | | .insert_multiple( [INFO] [stderr] 22 | | guild_id.get(), [INFO] [stderr] 23 | | guild_emojis [INFO] [stderr] ... | [INFO] [stderr] 28 | | .await; [INFO] [stderr] | |______________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 20 | let _ = self.guild_emojis [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> cache/src/event/emoji.rs:74:9 [INFO] [stderr] | [INFO] [stderr] 74 | / self.guild_emojis [INFO] [stderr] 75 | | .insert(guild_id.get(), &emoji.id.get()) [INFO] [stderr] 76 | | .await; [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 74 | let _ = self.guild_emojis [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> cache/src/event/guild.rs:92:9 [INFO] [stderr] | [INFO] [stderr] 92 | / self.unavailable_guilds [INFO] [stderr] 93 | | .remove("unavailable_guilds".into(), guild.id().get()) [INFO] [stderr] 94 | | .await; [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 92 | let _ = self.unavailable_guilds [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> cache/src/event/guild.rs:161:13 [INFO] [stderr] | [INFO] [stderr] 161 | cache.voice_state_guilds.delete(id).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 161 | let _ = cache.voice_state_guilds.delete(id).await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> cache/src/event/guild.rs:171:13 [INFO] [stderr] | [INFO] [stderr] 171 | cache.guild_members.delete(id).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 171 | let _ = cache.guild_members.delete(id).await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> cache/src/event/guild.rs:181:13 [INFO] [stderr] | [INFO] [stderr] 181 | cache.guild_presences.delete(id).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 181 | let _ = cache.guild_presences.delete(id).await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused implementer of `Future` that must be used [INFO] [stderr] --> cache/src/event/guild.rs:221:13 [INFO] [stderr] | [INFO] [stderr] 221 | cache.guilds.insert(self.0.id.get(), guild); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: futures do nothing unless you `.await` or poll them [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> cache/src/event/integration.rs:15:9 [INFO] [stderr] | [INFO] [stderr] 15 | / self.guild_integrations [INFO] [stderr] 16 | | .insert(guild_id.get(), &integration.id.get()) [INFO] [stderr] 17 | | .await; [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 15 | let _ = self.guild_integrations [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> cache/src/event/integration.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | / self.guild_integrations [INFO] [stderr] 35 | | .remove(guild_id.get(), integration_id.get()) [INFO] [stderr] 36 | | .await; [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 34 | let _ = self.guild_integrations [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused implementer of `Future` that must be used [INFO] [stderr] --> cache/src/event/member.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | self.cache_user(Cow::Owned(member.user), Some(guild_id)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: futures do nothing unless you `.await` or poll them [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> cache/src/event/member.rs:46:9 [INFO] [stderr] | [INFO] [stderr] 46 | / self.guild_members [INFO] [stderr] 47 | | .insert(guild_id.get(), &member_id.get()) [INFO] [stderr] 48 | | .await; [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 46 | let _ = self.guild_members [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> cache/src/event/member.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | / self.guild_members [INFO] [stderr] 66 | | .insert(guild_id.get(), &user_id.get()) [INFO] [stderr] 67 | | .await; [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 65 | let _ = self.guild_members [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> cache/src/event/member.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | / self.guild_members [INFO] [stderr] 97 | | .insert(guild_id.get(), &member.id.get()) [INFO] [stderr] 98 | | .await; [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 96 | let _ = self.guild_members [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> cache/src/event/member.rs:125:9 [INFO] [stderr] | [INFO] [stderr] 125 | / cache [INFO] [stderr] 126 | | .guild_members [INFO] [stderr] 127 | | .insert(self.guild_id.get(), &self.0.user.id.get()) [INFO] [stderr] 128 | | .await; [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 125 | let _ = cache [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> cache/src/event/member.rs:147:9 [INFO] [stderr] | [INFO] [stderr] 147 | / cache [INFO] [stderr] 148 | | .guild_members [INFO] [stderr] 149 | | .insert_multiple( [INFO] [stderr] 150 | | self.guild_id.get(), [INFO] [stderr] ... | [INFO] [stderr] 156 | | .await; [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 147 | let _ = cache [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> cache/src/event/member.rs:172:9 [INFO] [stderr] | [INFO] [stderr] 172 | / cache [INFO] [stderr] 173 | | .guild_members [INFO] [stderr] 174 | | .remove(self.guild_id.get(), self.user.id.get()) [INFO] [stderr] 175 | | .await; [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 172 | let _ = cache [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> cache/src/event/member.rs:185:17 [INFO] [stderr] | [INFO] [stderr] 185 | cache.user_guilds.delete(self.user.id.get()).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 185 | let _ = cache.user_guilds.delete(self.user.id.get()).await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> cache/src/event/member.rs:187:17 [INFO] [stderr] | [INFO] [stderr] 187 | / cache [INFO] [stderr] 188 | | .user_guilds [INFO] [stderr] 189 | | .remove(self.user.id.get(), self.guild_id.get()) [INFO] [stderr] 190 | | .await; [INFO] [stderr] | |__________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 187 | let _ = cache [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> cache/src/event/message.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | / cache [INFO] [stderr] 40 | | .channel_messages [INFO] [stderr] 41 | | .insert(self.0.channel_id.get(), &self.0.id.get()) [INFO] [stderr] 42 | | .await; [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 39 | let _ = cache [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> cache/src/event/message.rs:59:9 [INFO] [stderr] | [INFO] [stderr] 59 | / cache [INFO] [stderr] 60 | | .channel_messages [INFO] [stderr] 61 | | .remove(self.channel_id.get(), self.id.get()) [INFO] [stderr] 62 | | .await; [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 59 | let _ = cache [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> cache/src/event/message.rs:77:13 [INFO] [stderr] | [INFO] [stderr] 77 | / cache [INFO] [stderr] 78 | | .channel_messages [INFO] [stderr] 79 | | .remove(self.channel_id.get(), id.get()) [INFO] [stderr] 80 | | .await; [INFO] [stderr] | |______________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 77 | let _ = cache [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> cache/src/event/presence.rs:38:9 [INFO] [stderr] | [INFO] [stderr] 38 | / self.guild_presences [INFO] [stderr] 39 | | .insert_multiple(guild_id.get(), guild_presences) [INFO] [stderr] 40 | | .await; [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 38 | let _ = self.guild_presences [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> cache/src/event/role.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | / self.guild_roles [INFO] [stderr] 31 | | .insert_multiple(guild_id.get(), guild_roles) [INFO] [stderr] 32 | | .await; [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 30 | let _ = self.guild_roles [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> cache/src/event/role.rs:37:9 [INFO] [stderr] | [INFO] [stderr] 37 | / self.guild_roles [INFO] [stderr] 38 | | .insert(guild_id.get(), &role.id.get()) [INFO] [stderr] 39 | | .await; [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 37 | let _ = self.guild_roles [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused implementer of `Future` that must be used [INFO] [stderr] --> cache/src/event/role.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | / self.roles.insert( [INFO] [stderr] 43 | | guild_id.get(), [INFO] [stderr] 44 | | GuildResource { [INFO] [stderr] 45 | | guild_id, [INFO] [stderr] 46 | | value: role, [INFO] [stderr] 47 | | }, [INFO] [stderr] 48 | | ); [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: futures do nothing unless you `.await` or poll them [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> cache/src/event/role.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | self.guild_roles.remove(guild_id.get(), role_id.get()).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 53 | let _ = self.guild_roles.remove(guild_id.get(), role_id.get()).await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> cache/src/event/stage_instance.rs:21:9 [INFO] [stderr] | [INFO] [stderr] 21 | / self.guild_stage_instances [INFO] [stderr] 22 | | .insert_multiple(guild_id.get(), guild_stage_instances) [INFO] [stderr] 23 | | .await; [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 21 | let _ = self.guild_stage_instances [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> cache/src/event/stage_instance.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | / self.guild_stage_instances [INFO] [stderr] 31 | | .insert(guild_id.get(), &stage_instance.id.get()) [INFO] [stderr] 32 | | .await; [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 30 | let _ = self.guild_stage_instances [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> cache/src/event/stage_instance.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | / self.guild_stage_instances [INFO] [stderr] 42 | | .remove(guild_id.get(), stage_id.get()) [INFO] [stderr] 43 | | .await; [INFO] [stderr] | |______________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 41 | let _ = self.guild_stage_instances [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `cache` (lib) generated 61 warnings (run `cargo fix --lib -p cache` to apply 12 suggestions) [INFO] [stderr] warning: `cache` (lib test) generated 61 warnings (61 duplicates) [INFO] [stderr] warning: trait `Command` is never used [INFO] [stderr] --> main/src/types.rs:51:11 [INFO] [stderr] | [INFO] [stderr] 51 | pub trait Command { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `bot-test` (bin "bot-test" test) generated 1 warning [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.38s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: cache v0.1.0 (/opt/rustwide/workdir/cache), redis v0.19.0, redis v0.21.3 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3` [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/bot_test-19948522d045fd07) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/cache-34a0e45512b04e21) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/util-a94ffe97fb4fe00e) [INFO] [stdout] [INFO] [stdout] running 28 tests [INFO] [stdout] test builder::button::tests::test_builder_danger ... ok [INFO] [stdout] test builder::button::tests::test_builder_primary ... ok [INFO] [stdout] test builder::button::tests::test_builder_success ... ok [INFO] [stdout] test builder::button::tests::test_builder_explicit_enabled_button ... ok [INFO] [stdout] test builder::button::tests::test_custom_id_empty_error ... ok [INFO] [stdout] test builder::button::tests::test_builder_disabled_button ... ok [INFO] [stdout] test builder::button::tests::test_builder_link ... ok [INFO] [stdout] test builder::button::tests::test_builder_try_from ... ok [INFO] [stdout] test builder::button::tests::test_builder_secondary ... ok [INFO] [stdout] test builder::button::tests::test_custom_id_too_long_error ... ok [INFO] [stdout] test builder::button::tests::test_error_into_parts ... ok [INFO] [stdout] test builder::button::tests::test_label_too_long_error ... ok [INFO] [stdout] test builder::select_menu_option::tests::test_description ... ok [INFO] [stdout] test builder::select_menu_option::tests::test_description_too_long_error ... ok [INFO] [stdout] test builder::select_menu_option::tests::test_emoji ... ok [INFO] [stdout] test builder::select_menu_option::tests::test_error_into_parts ... ok [INFO] [stdout] test builder::select_menu_option::tests::test_error_into_source ... ok [INFO] [stdout] test builder::select_menu_option::tests::test_label_empty_error ... ok [INFO] [stdout] test builder::select_menu_option::tests::test_label_too_long_error ... ok [INFO] [stdout] test builder::select_menu_option::tests::test_normal ... ok [INFO] [stdout] test builder::select_menu_option::tests::test_value_empty_error ... ok [INFO] [stdout] test builder::select_menu_option::tests::test_value_too_long_error ... ok [INFO] [stdout] test builder::button::tests::test_label_and_emoji_empty ... ok [INFO] [stdout] test builder::button::tests::test_builder_with_emoji ... ok [INFO] [stdout] test builder::button::tests::test_protocol_unsupported_error ... ok [INFO] [stdout] test builder::select_menu_option::tests::test_builder_try_from ... ok [INFO] [stdout] test builder::select_menu_option::tests::test_default ... ok [INFO] [stdout] test builder::button::tests::test_error_into_source ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "5d903f80d9c8ed3205480eb2826fe2648dbfdf4724647eeb56968442c93bcb9d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5d903f80d9c8ed3205480eb2826fe2648dbfdf4724647eeb56968442c93bcb9d", kill_on_drop: false }` [INFO] [stdout] 5d903f80d9c8ed3205480eb2826fe2648dbfdf4724647eeb56968442c93bcb9d