[INFO] cloning repository https://github.com/Lymia/sylph-verifier [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Lymia/sylph-verifier" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLymia%2Fsylph-verifier", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLymia%2Fsylph-verifier'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 4d3b5a03b0cd90a4ff0e1f9357a3514f09765a60 [INFO] checking Lymia/sylph-verifier against try#4a23c45c7893f1416456144e3883cc48ea91722e for pr-82322 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLymia%2Fsylph-verifier" "/workspace/builds/worker-1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Lymia/sylph-verifier on toolchain 4a23c45c7893f1416456144e3883cc48ea91722e [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+4a23c45c7893f1416456144e3883cc48ea91722e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Lymia/sylph-verifier [INFO] finished tweaking git repo https://github.com/Lymia/sylph-verifier [INFO] tweaked toml for git repo https://github.com/Lymia/sylph-verifier written to /workspace/builds/worker-1/source/Cargo.toml [INFO] crate git repo https://github.com/Lymia/sylph-verifier already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+4a23c45c7893f1416456144e3883cc48ea91722e" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating git repository `https://github.com/Lymia/rust-openssl` [INFO] [stderr] Updating git repository `https://github.com/withoutboats/failure.git` [INFO] [stderr] Updating git repository `https://github.com/Lymia/serenity.git` [INFO] [stderr] Updating git repository `https://github.com/withoutboats/display_derive` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded new_debug_unreachable v1.0.4 [INFO] [stderr] Downloaded cssparser v0.27.2 [INFO] [stderr] Downloaded sha1 v0.2.0 [INFO] [stderr] Downloaded r2d2 v0.8.9 [INFO] [stderr] Downloaded evzht9h3nznqzwl v0.0.3 [INFO] [stderr] Downloaded mac v0.1.1 [INFO] [stderr] Downloaded selectors v0.22.0 [INFO] [stderr] Downloaded futf v0.1.4 [INFO] [stderr] Downloaded string_cache v0.8.0 [INFO] [stderr] Downloaded smallstr v0.1.0 [INFO] [stderr] Downloaded ego-tree v0.6.2 [INFO] [stderr] Downloaded mortal v0.1.5 [INFO] [stderr] Downloaded thin-slice v0.1.1 [INFO] [stderr] Downloaded enumset_derive v0.5.0 [INFO] [stderr] Downloaded git2 v0.10.2 [INFO] [stderr] Downloaded nix v0.7.0 [INFO] [stderr] Downloaded phf_macros v0.8.0 [INFO] [stderr] Downloaded dtoa-short v0.3.2 [INFO] [stderr] Downloaded multipart v0.13.6 [INFO] [stderr] Downloaded scraper v0.12.0 [INFO] [stderr] Downloaded string_cache_codegen v0.5.1 [INFO] [stderr] Downloaded scheduled-thread-pool v0.2.5 [INFO] [stderr] Downloaded linefeed v0.5.4 [INFO] [stderr] Downloaded libssh2-sys v0.2.18 [INFO] [stderr] Downloaded libz-sys v1.0.27 [INFO] [stderr] Downloaded hyper-native-tls v0.2.4 [INFO] [stderr] Downloaded servo_arc v0.1.1 [INFO] [stderr] Downloaded tracing-core v0.1.14 [INFO] [stderr] Downloaded libgit2-sys v0.9.2 [INFO] [stderr] Downloaded enumset v1.0.1 [INFO] [stderr] Downloaded tendril v0.4.1 [INFO] [stderr] Downloaded lz4-sys v1.9.2 [INFO] [stderr] Downloaded markup5ever v0.10.0 [INFO] [stderr] Downloaded html5ever v0.25.1 [INFO] [stderr] Downloaded cssparser-macros v0.6.0 [INFO] [stderr] Downloaded precomputed-hash v0.1.1 [INFO] [stderr] Downloaded uuid v0.5.1 [INFO] [stderr] Downloaded base64 v0.8.0 [INFO] [stderr] Downloaded terminfo v0.6.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+4a23c45c7893f1416456144e3883cc48ea91722e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e250ae8346f43174d0634110dd27802e1a09523ecc98bf0b6797b591655fdf6c [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "e250ae8346f43174d0634110dd27802e1a09523ecc98bf0b6797b591655fdf6c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e250ae8346f43174d0634110dd27802e1a09523ecc98bf0b6797b591655fdf6c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e250ae8346f43174d0634110dd27802e1a09523ecc98bf0b6797b591655fdf6c", kill_on_drop: false }` [INFO] [stdout] e250ae8346f43174d0634110dd27802e1a09523ecc98bf0b6797b591655fdf6c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+4a23c45c7893f1416456144e3883cc48ea91722e" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b4c52bc8583c9ddcda0b859e601d88e41088781785ed51967a3466ec87078f4a [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "b4c52bc8583c9ddcda0b859e601d88e41088781785ed51967a3466ec87078f4a", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Compiling autocfg v1.0.0 [INFO] [stderr] Compiling pkg-config v0.3.18 [INFO] [stderr] Compiling syn v1.0.38 [INFO] [stderr] Compiling version_check v0.1.5 [INFO] [stderr] Compiling getrandom v0.1.14 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Compiling rand_core v0.4.2 [INFO] [stderr] Compiling ppv-lite86 v0.2.8 [INFO] [stderr] Compiling siphasher v0.3.3 [INFO] [stderr] Checking tinyvec v0.3.3 [INFO] [stderr] Checking foreign-types-shared v0.1.1 [INFO] [stderr] Checking traitobject v0.1.0 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Compiling itoa v0.4.6 [INFO] [stderr] Compiling matches v0.1.8 [INFO] [stderr] Compiling openssl v0.9.24 (https://github.com/Lymia/rust-openssl?branch=0.9.x#3b73dda4) [INFO] [stderr] Checking safemem v0.3.3 [INFO] [stderr] Checking once_cell v1.4.0 [INFO] [stderr] Compiling openssl v0.10.30 [INFO] [stderr] Checking new_debug_unreachable v1.0.4 [INFO] [stderr] Checking percent-encoding v1.0.1 [INFO] [stderr] Checking fixedbitset v0.2.0 [INFO] [stderr] Compiling strsim v0.9.3 [INFO] [stderr] Checking mac v0.1.1 [INFO] [stderr] Compiling native-tls v0.2.4 [INFO] [stderr] Checking bitflags v0.9.1 [INFO] [stderr] Checking precomputed-hash v0.1.1 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Checking scopeguard v1.1.0 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Compiling percent-encoding v2.1.0 [INFO] [stderr] Checking unicode-width v0.1.8 [INFO] [stderr] Checking safemem v0.2.0 [INFO] [stderr] Checking openssl-probe v0.1.2 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Checking nodrop v0.1.14 [INFO] [stderr] Compiling encoding_rs v0.8.23 [INFO] [stderr] Checking remove_dir_all v0.5.3 [INFO] [stderr] Checking bitflags v0.4.0 [INFO] [stderr] Checking stable_deref_trait v1.2.0 [INFO] [stderr] Checking tower-service v0.3.0 [INFO] [stderr] Checking thin-slice v0.1.1 [INFO] [stderr] Checking subtle v2.2.3 [INFO] [stderr] Checking sha1 v0.2.0 [INFO] [stderr] Checking fallible-streaming-iterator v0.1.9 [INFO] [stderr] Checking fallible-iterator v0.2.0 [INFO] [stderr] Checking ego-tree v0.6.2 [INFO] [stderr] Checking constant_time_eq v0.1.5 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling rand_pcg v0.1.2 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Checking miniz_oxide v0.4.0 [INFO] [stderr] Checking futures-channel v0.3.5 [INFO] [stderr] Checking tracing-core v0.1.14 [INFO] [stderr] Checking thread_local v1.0.1 [INFO] [stderr] Checking foreign-types v0.3.2 [INFO] [stderr] Checking unsafe-any v0.4.2 [INFO] [stderr] Compiling unicode-bidi v0.3.4 [INFO] [stderr] Checking phf_shared v0.8.0 [INFO] [stderr] Checking dtoa-short v0.3.2 [INFO] [stderr] Checking unicode-normalization v0.1.13 [INFO] [stderr] Compiling rand_core v0.3.1 [INFO] [stderr] Compiling rand_jitter v0.1.4 [INFO] [stderr] Checking futures-task v0.3.5 [INFO] [stderr] Checking futf v0.1.4 [INFO] [stderr] Checking lock_api v0.4.1 [INFO] [stderr] Checking getopts v0.2.21 [INFO] [stderr] Checking servo_arc v0.1.1 [INFO] [stderr] Checking uuid v0.8.1 [INFO] [stderr] Compiling unicase v1.4.2 [INFO] [stderr] Compiling nom v4.2.3 [INFO] [stderr] Compiling libc v0.2.74 [INFO] [stderr] Checking log v0.4.11 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling hashbrown v0.8.2 [INFO] [stderr] Compiling indexmap v1.5.1 [INFO] [stderr] Compiling num-traits v0.2.12 [INFO] [stderr] Compiling num-integer v0.1.43 [INFO] [stderr] Compiling serde v1.0.115 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Checking http-body v0.3.1 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Compiling syn v0.11.11 [INFO] [stderr] Compiling nix v0.7.0 [INFO] [stderr] Checking typemap v0.3.3 [INFO] [stderr] Compiling rand_hc v0.1.0 [INFO] [stderr] Compiling rand_xorshift v0.1.1 [INFO] [stderr] Compiling rand_isaac v0.1.1 [INFO] [stderr] Checking crc32fast v1.2.0 [INFO] [stderr] Checking tendril v0.4.1 [INFO] [stderr] Checking net2 v0.2.34 [INFO] [stderr] Checking backtrace v0.3.50 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking thread-id v3.3.0 [INFO] [stderr] Checking socket2 v0.3.12 [INFO] [stderr] Checking dirs v1.0.5 [INFO] [stderr] Checking fs2 v0.4.3 [INFO] [stderr] Checking log v0.3.9 [INFO] [stderr] Checking tracing v0.1.19 [INFO] [stderr] Checking want v0.3.0 [INFO] [stderr] Checking string_cache v0.8.0 [INFO] [stderr] Checking base64 v0.9.3 [INFO] [stderr] Checking base64 v0.8.0 [INFO] [stderr] Checking base64 v0.10.1 [INFO] [stderr] Checking serde_json v1.0.57 [INFO] [stderr] Compiling jobserver v0.1.21 [INFO] [stderr] Compiling rand_os v0.1.3 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Checking threadpool v1.7.1 [INFO] [stderr] Checking smallvec v0.6.13 [INFO] [stderr] Checking flate2 v1.0.16 [INFO] [stderr] Checking mio v0.6.22 [INFO] [stderr] Checking idna v0.1.5 [INFO] [stderr] Checking idna v0.2.0 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking regex v1.3.9 [INFO] [stderr] Compiling mime_guess v2.0.3 [INFO] [stderr] Checking crypto-mac v0.9.1 [INFO] [stderr] Checking mime v0.2.6 [INFO] [stderr] Compiling cc v1.0.58 [INFO] [stderr] Checking smallstr v0.1.0 [INFO] [stderr] Checking rand v0.3.23 [INFO] [stderr] Checking tempdir v0.3.7 [INFO] [stderr] Compiling synstructure v0.6.1 [INFO] [stderr] Checking rand_pcg v0.2.1 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking url v2.1.1 [INFO] [stderr] Checking sha2 v0.9.1 [INFO] [stderr] Checking url v1.7.2 [INFO] [stderr] Checking hmac v0.9.0 [INFO] [stderr] Compiling phf_shared v0.7.24 [INFO] [stderr] Checking tokio v0.2.22 [INFO] [stderr] Checking uuid v0.5.1 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Compiling phf v0.7.24 [INFO] [stderr] Checking hyper v0.10.16 [INFO] [stderr] Checking serde_urlencoded v0.6.1 [INFO] [stderr] Compiling phf_generator v0.7.24 [INFO] [stderr] Checking petgraph v0.5.1 [INFO] [stderr] Compiling display_derive v1.0.0 (https://github.com/withoutboats/display_derive#5d6bac2f) [INFO] [stderr] Compiling failure_derive v1.0.0 (https://github.com/withoutboats/failure.git#514aa258) [INFO] [stderr] Checking chrono v0.4.15 [INFO] [stderr] Compiling phf_codegen v0.7.24 [INFO] [stderr] Compiling openssl-sys v0.9.58 [INFO] [stderr] Compiling libz-sys v1.0.27 [INFO] [stderr] Compiling libssh2-sys v0.2.18 [INFO] [stderr] Compiling libgit2-sys v0.9.2 [INFO] [stderr] Compiling lz4-sys v1.9.2 [INFO] [stderr] Compiling libsqlite3-sys v0.18.0 [INFO] [stderr] Compiling terminfo v0.6.1 [INFO] [stderr] Compiling mime_guess v1.8.8 [INFO] [stderr] Checking failure v1.0.0 (https://github.com/withoutboats/failure.git#514aa258) [INFO] [stderr] Compiling phf_generator v0.8.0 [INFO] [stderr] Compiling phf_codegen v0.8.0 [INFO] [stderr] Compiling string_cache_codegen v0.5.1 [INFO] [stderr] Compiling selectors v0.22.0 [INFO] [stderr] Checking parking_lot_core v0.8.0 [INFO] [stderr] Checking tokio-util v0.3.1 [INFO] [stderr] Checking parking_lot v0.11.0 [INFO] [stderr] Checking scheduled-thread-pool v0.2.5 [INFO] [stderr] Checking r2d2 v0.8.9 [INFO] [stderr] Checking multipart v0.13.6 [INFO] [stderr] Checking native-tls v0.1.5 [INFO] [stderr] Checking evzht9h3nznqzwl v0.0.3 [INFO] [stderr] Checking hyper-native-tls v0.2.4 [INFO] [stderr] Compiling darling_core v0.10.2 [INFO] [stderr] Checking tokio-tls v0.3.1 [INFO] [stderr] Compiling serde_derive v1.0.115 [INFO] [stderr] Compiling phf_macros v0.8.0 [INFO] [stderr] Compiling pin-project-internal v0.4.23 [INFO] [stderr] Compiling cssparser v0.27.2 [INFO] [stderr] Compiling html5ever v0.25.1 [INFO] [stderr] Compiling cssparser-macros v0.6.0 [INFO] [stderr] Compiling derive_more v0.99.9 [INFO] [stderr] Compiling git2 v0.10.2 [INFO] [stderr] Compiling darling_macro v0.10.2 [INFO] [stderr] Checking mortal v0.1.5 [INFO] [stderr] Checking rusqlite v0.23.1 [INFO] [stderr] Checking linefeed v0.5.4 [INFO] [stderr] Checking phf v0.8.0 [INFO] [stderr] Compiling darling v0.10.2 [INFO] [stderr] Compiling enumset_derive v0.5.0 [INFO] [stderr] Checking pin-project v0.4.23 [INFO] [stderr] Checking futures-util v0.3.5 [INFO] [stderr] Compiling sylph-verifier v0.1.0-dev (/opt/rustwide/workdir) [INFO] [stderr] Checking enumset v1.0.1 [INFO] [stderr] Compiling markup5ever v0.10.0 [INFO] [stderr] Checking serenity v0.5.14 (https://github.com/Lymia/serenity.git?rev=bfc12d24d8b2dbac00edc93f5c4bb1a531b8cc7e#bfc12d24) [INFO] [stderr] Checking h2 v0.2.6 [INFO] [stderr] Checking scraper v0.12.0 [INFO] [stderr] Checking hyper v0.13.7 [INFO] [stderr] Checking hyper-tls v0.4.3 [INFO] [stderr] Checking reqwest v0.10.7 [INFO] [stdout] warning: unused label [INFO] [stdout] --> src/roblox/rules.rs:332:9 [INFO] [stdout] | [INFO] [stdout] 332 | 'outer: loop { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_labels)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused label [INFO] [stdout] --> src/roblox/rules.rs:332:9 [INFO] [stdout] | [INFO] [stdout] 332 | 'outer: loop { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_labels)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/core/tasks.rs:7:16 [INFO] [stdout] | [INFO] [stdout] 7 | use std::mem::{uninitialized, drop}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/core/tasks.rs:7:16 [INFO] [stdout] | [INFO] [stdout] 7 | use std::mem::{uninitialized, drop}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/core/tasks.rs:36:64 [INFO] [stdout] | [INFO] [stdout] 36 | let mut slots: [Option>; MAX_SECS] = uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/core/tasks.rs:36:64 [INFO] [stdout] | [INFO] [stdout] 36 | let mut slots: [Option>; MAX_SECS] = uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a closure that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/commands/permissions.rs:133:51 [INFO] [stdout] | [INFO] [stdout] 132 | .exec_discord(|ctx, _, msg| [INFO] [stdout] | _______________________- [INFO] [stdout] 133 | | set_perms_for_scope(ctx, Scope::Guild(msg.guild_id?), 0) [INFO] [stdout] | |___________________________________________________^^^^^^^^^^^^^____- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | | [INFO] [stdout] | cannot use the `?` operator in a closure that returns `std::result::Result<(), errors::Error>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result<(), errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a closure that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/commands/permissions.rs:133:51 [INFO] [stdout] | [INFO] [stdout] 132 | .exec_discord(|ctx, _, msg| [INFO] [stdout] | _______________________- [INFO] [stdout] 133 | | set_perms_for_scope(ctx, Scope::Guild(msg.guild_id?), 0) [INFO] [stdout] | |___________________________________________________^^^^^^^^^^^^^____- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | | [INFO] [stdout] | cannot use the `?` operator in a closure that returns `std::result::Result<(), errors::Error>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result<(), errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a closure that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/commands/permissions.rs:142:28 [INFO] [stdout] | [INFO] [stdout] 141 | .exec_discord(|ctx, _, msg| set_perms(ctx, |scope, args| { [INFO] [stdout] | ____________________________________________________- [INFO] [stdout] 142 | | let guild_id = msg.guild_id?; [INFO] [stdout] | | ^^^^^^^^^^^^^ cannot use the `?` operator in a closure that returns `std::result::Result` [INFO] [stdout] 143 | | match scope { [INFO] [stdout] 144 | | "all_users" => Ok(Scope::GuildAllUsers(guild_id)), [INFO] [stdout] ... | [INFO] [stdout] 151 | | } [INFO] [stdout] 152 | | })), [INFO] [stdout] | |_________- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a closure that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/commands/permissions.rs:142:28 [INFO] [stdout] | [INFO] [stdout] 141 | .exec_discord(|ctx, _, msg| set_perms(ctx, |scope, args| { [INFO] [stdout] | ____________________________________________________- [INFO] [stdout] 142 | | let guild_id = msg.guild_id?; [INFO] [stdout] | | ^^^^^^^^^^^^^ cannot use the `?` operator in a closure that returns `std::result::Result` [INFO] [stdout] 143 | | match scope { [INFO] [stdout] 144 | | "all_users" => Ok(Scope::GuildAllUsers(guild_id)), [INFO] [stdout] ... | [INFO] [stdout] 151 | | } [INFO] [stdout] 152 | | })), [INFO] [stdout] | |_________- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a closure that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/commands/verifier.rs:343:28 [INFO] [stdout] | [INFO] [stdout] 342 | .exec_discord(|ctx, _, msg| { [INFO] [stdout] | _______________________- [INFO] [stdout] 343 | | let guild_id = msg.guild_id?; [INFO] [stdout] | | ^^^^^^^^^^^^^ cannot use the `?` operator in a closure that returns `std::result::Result<(), errors::Error>` [INFO] [stdout] 344 | | [INFO] [stdout] 345 | | let mut config = String::new(); [INFO] [stdout] ... | [INFO] [stdout] 378 | | } [INFO] [stdout] 379 | | }), [INFO] [stdout] | |_________- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result<(), errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a closure that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/commands/verifier.rs:343:28 [INFO] [stdout] | [INFO] [stdout] 342 | .exec_discord(|ctx, _, msg| { [INFO] [stdout] | _______________________- [INFO] [stdout] 343 | | let guild_id = msg.guild_id?; [INFO] [stdout] | | ^^^^^^^^^^^^^ cannot use the `?` operator in a closure that returns `std::result::Result<(), errors::Error>` [INFO] [stdout] 344 | | [INFO] [stdout] 345 | | let mut config = String::new(); [INFO] [stdout] ... | [INFO] [stdout] 378 | | } [INFO] [stdout] 379 | | }), [INFO] [stdout] | |_________- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result<(), errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a closure that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/commands/verifier.rs:360:33 [INFO] [stdout] | [INFO] [stdout] 342 | .exec_discord(|ctx, _, msg| { [INFO] [stdout] | _______________________- [INFO] [stdout] 343 | | let guild_id = msg.guild_id?; [INFO] [stdout] 344 | | [INFO] [stdout] 345 | | let mut config = String::new(); [INFO] [stdout] ... | [INFO] [stdout] 360 | | let guild = guild_id.to_guild_cached()?; [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot use the `?` operator in a closure that returns `std::result::Result<(), errors::Error>` [INFO] [stdout] ... | [INFO] [stdout] 378 | | } [INFO] [stdout] 379 | | }), [INFO] [stdout] | |_________- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result<(), errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a closure that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/commands/verifier.rs:360:33 [INFO] [stdout] | [INFO] [stdout] 342 | .exec_discord(|ctx, _, msg| { [INFO] [stdout] | _______________________- [INFO] [stdout] 343 | | let guild_id = msg.guild_id?; [INFO] [stdout] 344 | | [INFO] [stdout] 345 | | let mut config = String::new(); [INFO] [stdout] ... | [INFO] [stdout] 360 | | let guild = guild_id.to_guild_cached()?; [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot use the `?` operator in a closure that returns `std::result::Result<(), errors::Error>` [INFO] [stdout] ... | [INFO] [stdout] 378 | | } [INFO] [stdout] 379 | | }), [INFO] [stdout] | |_________- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result<(), errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a closure that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/commands/verifier.rs:388:28 [INFO] [stdout] | [INFO] [stdout] 385 | .exec_discord(|ctx, _, msg| { [INFO] [stdout] | _______________________- [INFO] [stdout] 386 | | let rule_name = ctx.arg(0)?; [INFO] [stdout] 387 | | let role_name = ctx.rest(1)?.trim(); [INFO] [stdout] 388 | | let guild_id = msg.guild_id?; [INFO] [stdout] | | ^^^^^^^^^^^^^ cannot use the `?` operator in a closure that returns `std::result::Result<(), errors::Error>` [INFO] [stdout] ... | [INFO] [stdout] 403 | | check_configuration(ctx, guild_id) [INFO] [stdout] 404 | | }), [INFO] [stdout] | |_________- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result<(), errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a closure that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/commands/verifier.rs:388:28 [INFO] [stdout] | [INFO] [stdout] 385 | .exec_discord(|ctx, _, msg| { [INFO] [stdout] | _______________________- [INFO] [stdout] 386 | | let rule_name = ctx.arg(0)?; [INFO] [stdout] 387 | | let role_name = ctx.rest(1)?.trim(); [INFO] [stdout] 388 | | let guild_id = msg.guild_id?; [INFO] [stdout] | | ^^^^^^^^^^^^^ cannot use the `?` operator in a closure that returns `std::result::Result<(), errors::Error>` [INFO] [stdout] ... | [INFO] [stdout] 403 | | check_configuration(ctx, guild_id) [INFO] [stdout] 404 | | }), [INFO] [stdout] | |_________- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result<(), errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a closure that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/commands/verifier.rs:413:28 [INFO] [stdout] | [INFO] [stdout] 410 | .exec_discord(|ctx, _, msg| { [INFO] [stdout] | _______________________- [INFO] [stdout] 411 | | let rule_name = ctx.arg(0)?; [INFO] [stdout] 412 | | let definition = ctx.rest(1)?.trim(); [INFO] [stdout] 413 | | let guild_id = msg.guild_id?; [INFO] [stdout] | | ^^^^^^^^^^^^^ cannot use the `?` operator in a closure that returns `std::result::Result<(), errors::Error>` [INFO] [stdout] ... | [INFO] [stdout] 419 | | check_configuration(ctx, guild_id) [INFO] [stdout] 420 | | }), [INFO] [stdout] | |_________- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result<(), errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a closure that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/commands/verifier.rs:428:28 [INFO] [stdout] | [INFO] [stdout] 425 | .exec_discord(|ctx, _, msg| { [INFO] [stdout] | _______________________- [INFO] [stdout] 426 | | let roblox_username = ctx.arg(0)?; [INFO] [stdout] 427 | | let roblox_id = RobloxUserID::for_username(roblox_username)?; [INFO] [stdout] 428 | | let guild_id = msg.guild_id?; [INFO] [stdout] | | ^^^^^^^^^^^^^ cannot use the `?` operator in a closure that returns `std::result::Result<(), errors::Error>` [INFO] [stdout] ... | [INFO] [stdout] 449 | | } [INFO] [stdout] 450 | | }), [INFO] [stdout] | |_________- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result<(), errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a closure that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/commands/verifier.rs:413:28 [INFO] [stdout] | [INFO] [stdout] 410 | .exec_discord(|ctx, _, msg| { [INFO] [stdout] | _______________________- [INFO] [stdout] 411 | | let rule_name = ctx.arg(0)?; [INFO] [stdout] 412 | | let definition = ctx.rest(1)?.trim(); [INFO] [stdout] 413 | | let guild_id = msg.guild_id?; [INFO] [stdout] | | ^^^^^^^^^^^^^ cannot use the `?` operator in a closure that returns `std::result::Result<(), errors::Error>` [INFO] [stdout] ... | [INFO] [stdout] 419 | | check_configuration(ctx, guild_id) [INFO] [stdout] 420 | | }), [INFO] [stdout] | |_________- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result<(), errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a closure that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/commands/verifier.rs:459:28 [INFO] [stdout] | [INFO] [stdout] 454 | .exec_discord(|ctx, _, msg| { [INFO] [stdout] | _______________________- [INFO] [stdout] 455 | | cmd_ensure!(ctx.core.verifier().get_verified_roblox_user(msg.author.id)?.is_some(), [INFO] [stdout] 456 | | "You are not verified with this bot. {}", [INFO] [stdout] 457 | | ctx.core.verify_channel().verify_instructions()?); [INFO] [stdout] 458 | | [INFO] [stdout] 459 | | let guild_id = msg.guild_id?; [INFO] [stdout] | | ^^^^^^^^^^^^^ cannot use the `?` operator in a closure that returns `std::result::Result<(), errors::Error>` [INFO] [stdout] ... | [INFO] [stdout] 466 | | Ok(()) [INFO] [stdout] 467 | | }), [INFO] [stdout] | |_________- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result<(), errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a closure that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/commands/verifier.rs:499:28 [INFO] [stdout] | [INFO] [stdout] 498 | .exec_discord(|ctx, _, msg| { [INFO] [stdout] | _______________________- [INFO] [stdout] 499 | | let guild_id = msg.guild_id?; [INFO] [stdout] | | ^^^^^^^^^^^^^ cannot use the `?` operator in a closure that returns `std::result::Result<(), errors::Error>` [INFO] [stdout] 500 | | if let Some("confirm") = ctx.arg_opt(0) { [INFO] [stdout] 501 | | ctx.core.verify_channel().setup(guild_id, msg.channel_id)?; [INFO] [stdout] ... | [INFO] [stdout] 517 | | Ok(()) [INFO] [stdout] 518 | | }), [INFO] [stdout] | |_________- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result<(), errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a closure that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/commands/verifier.rs:428:28 [INFO] [stdout] | [INFO] [stdout] 425 | .exec_discord(|ctx, _, msg| { [INFO] [stdout] | _______________________- [INFO] [stdout] 426 | | let roblox_username = ctx.arg(0)?; [INFO] [stdout] 427 | | let roblox_id = RobloxUserID::for_username(roblox_username)?; [INFO] [stdout] 428 | | let guild_id = msg.guild_id?; [INFO] [stdout] | | ^^^^^^^^^^^^^ cannot use the `?` operator in a closure that returns `std::result::Result<(), errors::Error>` [INFO] [stdout] ... | [INFO] [stdout] 449 | | } [INFO] [stdout] 450 | | }), [INFO] [stdout] | |_________- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result<(), errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a closure that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/commands/verifier.rs:524:28 [INFO] [stdout] | [INFO] [stdout] 523 | .exec_discord(|ctx, _, msg| { [INFO] [stdout] | _______________________- [INFO] [stdout] 524 | | let guild_id = msg.guild_id?; [INFO] [stdout] | | ^^^^^^^^^^^^^ cannot use the `?` operator in a closure that returns `std::result::Result<(), errors::Error>` [INFO] [stdout] 525 | | ctx.core.verify_channel().remove(guild_id)?; [INFO] [stdout] 526 | | Ok(()) [INFO] [stdout] 527 | | }), [INFO] [stdout] | |_________- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result<(), errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a closure that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/commands/verifier.rs:536:32 [INFO] [stdout] | [INFO] [stdout] 533 | .exec_discord(|ctx, _, msg| { [INFO] [stdout] | _______________________- [INFO] [stdout] 534 | | let rule = ctx.rest(0)?; [INFO] [stdout] 535 | | if rule == "" { [INFO] [stdout] 536 | | let guild_id = msg.guild_id?; [INFO] [stdout] | | ^^^^^^^^^^^^^ cannot use the `?` operator in a closure that returns `std::result::Result<(), errors::Error>` [INFO] [stdout] ... | [INFO] [stdout] 541 | | } [INFO] [stdout] 542 | | }), [INFO] [stdout] | |_________- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result<(), errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a closure that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/commands/verifier.rs:459:28 [INFO] [stdout] | [INFO] [stdout] 454 | .exec_discord(|ctx, _, msg| { [INFO] [stdout] | _______________________- [INFO] [stdout] 455 | | cmd_ensure!(ctx.core.verifier().get_verified_roblox_user(msg.author.id)?.is_some(), [INFO] [stdout] 456 | | "You are not verified with this bot. {}", [INFO] [stdout] 457 | | ctx.core.verify_channel().verify_instructions()?); [INFO] [stdout] 458 | | [INFO] [stdout] 459 | | let guild_id = msg.guild_id?; [INFO] [stdout] | | ^^^^^^^^^^^^^ cannot use the `?` operator in a closure that returns `std::result::Result<(), errors::Error>` [INFO] [stdout] ... | [INFO] [stdout] 466 | | Ok(()) [INFO] [stdout] 467 | | }), [INFO] [stdout] | |_________- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result<(), errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a closure that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/commands/verifier.rs:499:28 [INFO] [stdout] | [INFO] [stdout] 498 | .exec_discord(|ctx, _, msg| { [INFO] [stdout] | _______________________- [INFO] [stdout] 499 | | let guild_id = msg.guild_id?; [INFO] [stdout] | | ^^^^^^^^^^^^^ cannot use the `?` operator in a closure that returns `std::result::Result<(), errors::Error>` [INFO] [stdout] 500 | | if let Some("confirm") = ctx.arg_opt(0) { [INFO] [stdout] 501 | | ctx.core.verify_channel().setup(guild_id, msg.channel_id)?; [INFO] [stdout] ... | [INFO] [stdout] 517 | | Ok(()) [INFO] [stdout] 518 | | }), [INFO] [stdout] | |_________- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result<(), errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a closure that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/commands/verifier.rs:524:28 [INFO] [stdout] | [INFO] [stdout] 523 | .exec_discord(|ctx, _, msg| { [INFO] [stdout] | _______________________- [INFO] [stdout] 524 | | let guild_id = msg.guild_id?; [INFO] [stdout] | | ^^^^^^^^^^^^^ cannot use the `?` operator in a closure that returns `std::result::Result<(), errors::Error>` [INFO] [stdout] 525 | | ctx.core.verify_channel().remove(guild_id)?; [INFO] [stdout] 526 | | Ok(()) [INFO] [stdout] 527 | | }), [INFO] [stdout] | |_________- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result<(), errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a closure that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/commands/verifier.rs:536:32 [INFO] [stdout] | [INFO] [stdout] 533 | .exec_discord(|ctx, _, msg| { [INFO] [stdout] | _______________________- [INFO] [stdout] 534 | | let rule = ctx.rest(0)?; [INFO] [stdout] 535 | | if rule == "" { [INFO] [stdout] 536 | | let guild_id = msg.guild_id?; [INFO] [stdout] | | ^^^^^^^^^^^^^ cannot use the `?` operator in a closure that returns `std::result::Result<(), errors::Error>` [INFO] [stdout] ... | [INFO] [stdout] 541 | | } [INFO] [stdout] 542 | | }), [INFO] [stdout] | |_________- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result<(), errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/commands/mod.rs:226:23 [INFO] [stdout] | [INFO] [stdout] 223 | / fn get_guild(&self) -> Result> { [INFO] [stdout] 224 | | match self.data.discord_context() { [INFO] [stdout] 225 | | Some((_, message)) => [INFO] [stdout] 226 | | match message.channel()? { [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^^ cannot use the `?` operator in a method that returns `std::result::Result, errors::Error>` [INFO] [stdout] ... | [INFO] [stdout] 231 | | } [INFO] [stdout] 232 | | } [INFO] [stdout] | |_____- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result, errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/commands/util.rs:11:17 [INFO] [stdout] | [INFO] [stdout] 10 | / crate fn find_role(guild_id: GuildId, role_name: &str) -> Result { [INFO] [stdout] 11 | | let guild = guild_id.to_guild_cached()?; [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot use the `?` operator in a function that returns `std::result::Result` [INFO] [stdout] 12 | | let guild = guild.read(); [INFO] [stdout] 13 | | [INFO] [stdout] ... | [INFO] [stdout] 35 | | } [INFO] [stdout] 36 | | } [INFO] [stdout] | |_- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/commands/util.rs:15:27 [INFO] [stdout] | [INFO] [stdout] 10 | / crate fn find_role(guild_id: GuildId, role_name: &str) -> Result { [INFO] [stdout] 11 | | let guild = guild_id.to_guild_cached()?; [INFO] [stdout] 12 | | let guild = guild.read(); [INFO] [stdout] 13 | | [INFO] [stdout] 14 | | if let Some(captures) = MENTION_REGEX.captures(role_name) { [INFO] [stdout] 15 | | let role_id_str = captures.get(1)?.as_str(); [INFO] [stdout] | | ^^^^^^^^^^^^^^^^ cannot use the `?` operator in a function that returns `std::result::Result` [INFO] [stdout] ... | [INFO] [stdout] 35 | | } [INFO] [stdout] 36 | | } [INFO] [stdout] | |_- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/commands/mod.rs:226:23 [INFO] [stdout] | [INFO] [stdout] 223 | / fn get_guild(&self) -> Result> { [INFO] [stdout] 224 | | match self.data.discord_context() { [INFO] [stdout] 225 | | Some((_, message)) => [INFO] [stdout] 226 | | match message.channel()? { [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^^ cannot use the `?` operator in a method that returns `std::result::Result, errors::Error>` [INFO] [stdout] ... | [INFO] [stdout] 231 | | } [INFO] [stdout] 232 | | } [INFO] [stdout] | |_____- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result, errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/commands/util.rs:40:27 [INFO] [stdout] | [INFO] [stdout] 38 | / crate fn find_user(user_name: &str) -> Result> { [INFO] [stdout] 39 | | if let Some(captures) = MENTION_REGEX.captures(user_name) { [INFO] [stdout] 40 | | let user_id_str = captures.get(1)?.as_str(); [INFO] [stdout] | | ^^^^^^^^^^^^^^^^ cannot use the `?` operator in a function that returns `std::result::Result, errors::Error>` [INFO] [stdout] 41 | | Ok(Some(UserId(user_id_str.parse().to_cmd_err(|| "User ID too large.")?))) [INFO] [stdout] ... | [INFO] [stdout] 46 | | } [INFO] [stdout] 47 | | } [INFO] [stdout] | |_- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result, errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/commands/util.rs:11:17 [INFO] [stdout] | [INFO] [stdout] 10 | / crate fn find_role(guild_id: GuildId, role_name: &str) -> Result { [INFO] [stdout] 11 | | let guild = guild_id.to_guild_cached()?; [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot use the `?` operator in a function that returns `std::result::Result` [INFO] [stdout] 12 | | let guild = guild.read(); [INFO] [stdout] 13 | | [INFO] [stdout] ... | [INFO] [stdout] 35 | | } [INFO] [stdout] 36 | | } [INFO] [stdout] | |_- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/commands/util.rs:15:27 [INFO] [stdout] | [INFO] [stdout] 10 | / crate fn find_role(guild_id: GuildId, role_name: &str) -> Result { [INFO] [stdout] 11 | | let guild = guild_id.to_guild_cached()?; [INFO] [stdout] 12 | | let guild = guild.read(); [INFO] [stdout] 13 | | [INFO] [stdout] 14 | | if let Some(captures) = MENTION_REGEX.captures(role_name) { [INFO] [stdout] 15 | | let role_id_str = captures.get(1)?.as_str(); [INFO] [stdout] | | ^^^^^^^^^^^^^^^^ cannot use the `?` operator in a function that returns `std::result::Result` [INFO] [stdout] ... | [INFO] [stdout] 35 | | } [INFO] [stdout] 36 | | } [INFO] [stdout] | |_- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/commands/util.rs:40:27 [INFO] [stdout] | [INFO] [stdout] 38 | / crate fn find_user(user_name: &str) -> Result> { [INFO] [stdout] 39 | | if let Some(captures) = MENTION_REGEX.captures(user_name) { [INFO] [stdout] 40 | | let user_id_str = captures.get(1)?.as_str(); [INFO] [stdout] | | ^^^^^^^^^^^^^^^^ cannot use the `?` operator in a function that returns `std::result::Result, errors::Error>` [INFO] [stdout] 41 | | Ok(Some(UserId(user_id_str.parse().to_cmd_err(|| "User ID too large.")?))) [INFO] [stdout] ... | [INFO] [stdout] 46 | | } [INFO] [stdout] 47 | | } [INFO] [stdout] | |_- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result, errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/commands/verifier.rs:94:20 [INFO] [stdout] | [INFO] [stdout] 80 | / fn do_verify(ctx: &CommandContext, _: &Context, msg: &Message) -> Result<()> { [INFO] [stdout] 81 | | cmd_ensure!(ctx.argc() >= 2, ctx.core.verify_channel().verify_instructions()?); [INFO] [stdout] 82 | | [INFO] [stdout] 83 | | let roblox_username = ctx.arg(0)?; [INFO] [stdout] ... | [INFO] [stdout] 94 | | let guild_id = msg.guild_id?; [INFO] [stdout] | | ^^^^^^^^^^^^^ cannot use the `?` operator in a function that returns `std::result::Result<(), errors::Error>` [INFO] [stdout] ... | [INFO] [stdout] 188 | | Ok(()) [INFO] [stdout] 189 | | } [INFO] [stdout] | |_- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result<(), errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/commands/verifier.rs:315:20 [INFO] [stdout] | [INFO] [stdout] 314 | / fn do_unverify(ctx: &CommandContext, _: &Context, msg: &Message) -> Result<()> { [INFO] [stdout] 315 | | let guild_id = msg.guild_id?; [INFO] [stdout] | | ^^^^^^^^^^^^^ cannot use the `?` operator in a function that returns `std::result::Result<(), errors::Error>` [INFO] [stdout] 316 | | let roblox_id = ctx.core.verifier().get_verified_roblox_user(msg.author.id)?; [INFO] [stdout] 317 | | if let Some(roblox_id) = roblox_id { [INFO] [stdout] ... | [INFO] [stdout] 325 | | } [INFO] [stdout] 326 | | } [INFO] [stdout] | |_- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result<(), errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/commands/verifier.rs:94:20 [INFO] [stdout] | [INFO] [stdout] 80 | / fn do_verify(ctx: &CommandContext, _: &Context, msg: &Message) -> Result<()> { [INFO] [stdout] 81 | | cmd_ensure!(ctx.argc() >= 2, ctx.core.verify_channel().verify_instructions()?); [INFO] [stdout] 82 | | [INFO] [stdout] 83 | | let roblox_username = ctx.arg(0)?; [INFO] [stdout] ... | [INFO] [stdout] 94 | | let guild_id = msg.guild_id?; [INFO] [stdout] | | ^^^^^^^^^^^^^ cannot use the `?` operator in a function that returns `std::result::Result<(), errors::Error>` [INFO] [stdout] ... | [INFO] [stdout] 188 | | Ok(()) [INFO] [stdout] 189 | | } [INFO] [stdout] | |_- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result<(), errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicU8::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/core/mod.rs:153:31 [INFO] [stdout] | [INFO] [stdout] 153 | ensure!(self.0.status.compare_and_swap(STATUS_STOPPED, STATUS_RUNNING, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicU8::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/core/mod.rs:165:31 [INFO] [stdout] | [INFO] [stdout] 165 | ensure!(self.0.status.compare_and_swap(STATUS_STOPPING, STATUS_STOPPED, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicU8::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/core/mod.rs:171:29 [INFO] [stdout] | [INFO] [stdout] 171 | match self.0.status.compare_and_swap(STATUS_RUNNING, STATUS_STOPPING, Ordering::Relaxed) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/commands/verifier.rs:315:20 [INFO] [stdout] | [INFO] [stdout] 314 | / fn do_unverify(ctx: &CommandContext, _: &Context, msg: &Message) -> Result<()> { [INFO] [stdout] 315 | | let guild_id = msg.guild_id?; [INFO] [stdout] | | ^^^^^^^^^^^^^ cannot use the `?` operator in a function that returns `std::result::Result<(), errors::Error>` [INFO] [stdout] 316 | | let roblox_id = ctx.core.verifier().get_verified_roblox_user(msg.author.id)?; [INFO] [stdout] 317 | | if let Some(roblox_id) = roblox_id { [INFO] [stdout] ... | [INFO] [stdout] 325 | | } [INFO] [stdout] 326 | | } [INFO] [stdout] | |_- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result<(), errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicU8::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/core/mod.rs:153:31 [INFO] [stdout] | [INFO] [stdout] 153 | ensure!(self.0.status.compare_and_swap(STATUS_STOPPED, STATUS_RUNNING, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicU8::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/core/mod.rs:165:31 [INFO] [stdout] | [INFO] [stdout] 165 | ensure!(self.0.status.compare_and_swap(STATUS_STOPPING, STATUS_STOPPED, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicU8::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/core/mod.rs:171:29 [INFO] [stdout] | [INFO] [stdout] 171 | match self.0.status.compare_and_swap(STATUS_RUNNING, STATUS_STOPPING, Ordering::Relaxed) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicU8::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/core/discord.rs:183:21 [INFO] [stdout] | [INFO] [stdout] 183 | self.status.compare_and_swap(STATUS_SHUTDOWN, STATUS_DROPPED, Ordering::Relaxed); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicBool::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/core/discord.rs:188:30 [INFO] [stdout] | [INFO] [stdout] 188 | if !self.printed_url.compare_and_swap(false, true, Ordering::Relaxed) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicU8::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/core/discord.rs:284:29 [INFO] [stdout] | [INFO] [stdout] 284 | ensure!(self.status.compare_and_swap(STATUS_NOT_INIT, STATUS_STARTING, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicU8::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/core/discord.rs:292:29 [INFO] [stdout] | [INFO] [stdout] 292 | ensure!(self.status.compare_and_swap(STATUS_STARTING, STATUS_RUNNING, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicU8::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/core/discord.rs:306:27 [INFO] [stdout] | [INFO] [stdout] 306 | match self.status.compare_and_swap(STATUS_RUNNING, STATUS_SHUTDOWN, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicBool::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/core/discord.rs:404:27 [INFO] [stdout] | [INFO] [stdout] 404 | if !self.shutdown.compare_and_swap(false, true, Ordering::Relaxed) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/core/permissions.rs:140:26 [INFO] [stdout] | [INFO] [stdout] 135 | / pub fn get_user_perms( [INFO] [stdout] 136 | | &self, guild_id: GuildId, user: UserId, [INFO] [stdout] 137 | | ) -> Result> { [INFO] [stdout] 138 | | ensure_member_exists(guild_id, user)?; [INFO] [stdout] 139 | | [INFO] [stdout] 140 | | let guild_lock = guild_id.to_guild_cached()?; [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot use the `?` operator in a method that returns `std::result::Result, errors::Error>` [INFO] [stdout] ... | [INFO] [stdout] 159 | | self.get_user_raw(user, guild_perms) [INFO] [stdout] 160 | | } [INFO] [stdout] | |_____- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result, errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicU8::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/core/discord.rs:183:21 [INFO] [stdout] | [INFO] [stdout] 183 | self.status.compare_and_swap(STATUS_SHUTDOWN, STATUS_DROPPED, Ordering::Relaxed); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicBool::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/core/discord.rs:188:30 [INFO] [stdout] | [INFO] [stdout] 188 | if !self.printed_url.compare_and_swap(false, true, Ordering::Relaxed) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicU8::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/core/discord.rs:284:29 [INFO] [stdout] | [INFO] [stdout] 284 | ensure!(self.status.compare_and_swap(STATUS_NOT_INIT, STATUS_STARTING, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicU8::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/core/discord.rs:292:29 [INFO] [stdout] | [INFO] [stdout] 292 | ensure!(self.status.compare_and_swap(STATUS_STARTING, STATUS_RUNNING, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicU8::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/core/discord.rs:306:27 [INFO] [stdout] | [INFO] [stdout] 306 | match self.status.compare_and_swap(STATUS_RUNNING, STATUS_SHUTDOWN, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicBool::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/core/discord.rs:404:27 [INFO] [stdout] | [INFO] [stdout] 404 | if !self.shutdown.compare_and_swap(false, true, Ordering::Relaxed) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/core/permissions.rs:140:26 [INFO] [stdout] | [INFO] [stdout] 135 | / pub fn get_user_perms( [INFO] [stdout] 136 | | &self, guild_id: GuildId, user: UserId, [INFO] [stdout] 137 | | ) -> Result> { [INFO] [stdout] 138 | | ensure_member_exists(guild_id, user)?; [INFO] [stdout] 139 | | [INFO] [stdout] 140 | | let guild_lock = guild_id.to_guild_cached()?; [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot use the `?` operator in a method that returns `std::result::Result, errors::Error>` [INFO] [stdout] ... | [INFO] [stdout] 159 | | self.get_user_raw(user, guild_perms) [INFO] [stdout] 160 | | } [INFO] [stdout] | |_____- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result, errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/core/verifier.rs:161:12 [INFO] [stdout] | [INFO] [stdout] 147 | / fn new_in_db(conn: &DatabaseConnection, time_increment: u32) -> Result { [INFO] [stdout] 148 | | let mut key = Vec::new(); [INFO] [stdout] 149 | | for _ in 0..16 { [INFO] [stdout] 150 | | let r = OsRng.next_u32(); [INFO] [stdout] ... | [INFO] [stdout] 161 | | Ok(TokenContext::from_db_internal(conn)??) [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot use the `?` operator in a method that returns `std::result::Result` [INFO] [stdout] 162 | | } [INFO] [stdout] | |_____- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/core/verifier.rs:161:12 [INFO] [stdout] | [INFO] [stdout] 147 | / fn new_in_db(conn: &DatabaseConnection, time_increment: u32) -> Result { [INFO] [stdout] 148 | | let mut key = Vec::new(); [INFO] [stdout] 149 | | for _ in 0..16 { [INFO] [stdout] 150 | | let r = OsRng.next_u32(); [INFO] [stdout] ... | [INFO] [stdout] 161 | | Ok(TokenContext::from_db_internal(conn)??) [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot use the `?` operator in a method that returns `std::result::Result` [INFO] [stdout] 162 | | } [INFO] [stdout] | |_____- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicBool::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/logger.rs:72:27 [INFO] [stdout] | [INFO] [stdout] 72 | if !LOG_SENDER_LOCKED.compare_and_swap(false, true, Ordering::Relaxed) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/roblox/mod.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 23 | / pub fn lookup_username(&self) -> ::errors::Result { [INFO] [stdout] 24 | | Ok(self.lookup_username_opt()??) [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot use the `?` operator in a method that returns `std::result::Result` [INFO] [stdout] 25 | | } [INFO] [stdout] | |_____- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/roblox/place.rs:176:41 [INFO] [stdout] | [INFO] [stdout] 163 | / fn map_string_properties( [INFO] [stdout] 164 | | rblx: &mut RblxData, mut f: impl FnMut(&str, &str, &str, &str) -> Result> [INFO] [stdout] 165 | | ) -> Result<()> { [INFO] [stdout] 166 | | [INFO] [stdout] ... | [INFO] [stdout] 176 | | let type_name = types.remove(&prop.type_id)?; [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot use the `?` operator in a function that returns `std::result::Result<(), errors::Error>` [INFO] [stdout] ... | [INFO] [stdout] 206 | | Ok(()) [INFO] [stdout] 207 | | } [INFO] [stdout] | |_- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result<(), errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/roblox/place.rs:190:25 [INFO] [stdout] | [INFO] [stdout] 163 | / fn map_string_properties( [INFO] [stdout] 164 | | rblx: &mut RblxData, mut f: impl FnMut(&str, &str, &str, &str) -> Result> [INFO] [stdout] 165 | | ) -> Result<()> { [INFO] [stdout] 166 | | [INFO] [stdout] ... | [INFO] [stdout] 190 | | let type_data = type_names.get(&type_id)?; [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^^^^^^^^^ cannot use the `?` operator in a function that returns `std::result::Result<(), errors::Error>` [INFO] [stdout] ... | [INFO] [stdout] 206 | | Ok(()) [INFO] [stdout] 207 | | } [INFO] [stdout] | |_- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result<(), errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicBool::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/logger.rs:72:27 [INFO] [stdout] | [INFO] [stdout] 72 | if !LOG_SENDER_LOCKED.compare_and_swap(false, true, Ordering::Relaxed) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/roblox/mod.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 23 | / pub fn lookup_username(&self) -> ::errors::Result { [INFO] [stdout] 24 | | Ok(self.lookup_username_opt()??) [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot use the `?` operator in a method that returns `std::result::Result` [INFO] [stdout] 25 | | } [INFO] [stdout] | |_____- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/util.rs:179:22 [INFO] [stdout] | [INFO] [stdout] 178 | / pub fn ensure_member_exists(guild_id: GuildId, user: UserId) -> Result<()> { [INFO] [stdout] 179 | | let guild_lock = guild_id.to_guild_cached()?; [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot use the `?` operator in a function that returns `std::result::Result<(), errors::Error>` [INFO] [stdout] 180 | | let guild = guild_lock.read(); [INFO] [stdout] 181 | | [INFO] [stdout] ... | [INFO] [stdout] 192 | | Ok(()) [INFO] [stdout] 193 | | } [INFO] [stdout] | |_- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result<(), errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/util.rs:197:17 [INFO] [stdout] | [INFO] [stdout] 196 | / pub fn can_member_access_role(guild_id: GuildId, member_id: UserId, role: RoleId) -> Result { [INFO] [stdout] 197 | | let guild = guild_id.to_guild_cached()?; [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot use the `?` operator in a function that returns `std::result::Result` [INFO] [stdout] 198 | | let owner_id = guild.read().owner_id; [INFO] [stdout] 199 | | [INFO] [stdout] ... | [INFO] [stdout] 207 | | } [INFO] [stdout] 208 | | } [INFO] [stdout] | |_- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/util.rs:204:39 [INFO] [stdout] | [INFO] [stdout] 196 | / pub fn can_member_access_role(guild_id: GuildId, member_id: UserId, role: RoleId) -> Result { [INFO] [stdout] 197 | | let guild = guild_id.to_guild_cached()?; [INFO] [stdout] 198 | | let owner_id = guild.read().owner_id; [INFO] [stdout] 199 | | [INFO] [stdout] ... | [INFO] [stdout] 204 | | Some((_, position)) => Ok(role.to_role_cached()?.position < position), [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^^^^^^ cannot use the `?` operator in a function that returns `std::result::Result` [INFO] [stdout] ... | [INFO] [stdout] 207 | | } [INFO] [stdout] 208 | | } [INFO] [stdout] | |_- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/util.rs:213:17 [INFO] [stdout] | [INFO] [stdout] 209 | / pub fn can_member_access_member(guild_id: GuildId, from: UserId, to: UserId) -> Result { [INFO] [stdout] 210 | | ensure_member_exists(guild_id, from)?; [INFO] [stdout] 211 | | ensure_member_exists(guild_id, to)?; [INFO] [stdout] 212 | | [INFO] [stdout] 213 | | let guild = guild_id.to_guild_cached()?; [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot use the `?` operator in a function that returns `std::result::Result` [INFO] [stdout] 214 | | Ok(from == to || guild.read().greater_member_hierarchy(from, to) == Some(from)) [INFO] [stdout] 215 | | } [INFO] [stdout] | |_- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/roblox/place.rs:176:41 [INFO] [stdout] | [INFO] [stdout] 163 | / fn map_string_properties( [INFO] [stdout] 164 | | rblx: &mut RblxData, mut f: impl FnMut(&str, &str, &str, &str) -> Result> [INFO] [stdout] 165 | | ) -> Result<()> { [INFO] [stdout] 166 | | [INFO] [stdout] ... | [INFO] [stdout] 176 | | let type_name = types.remove(&prop.type_id)?; [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot use the `?` operator in a function that returns `std::result::Result<(), errors::Error>` [INFO] [stdout] ... | [INFO] [stdout] 206 | | Ok(()) [INFO] [stdout] 207 | | } [INFO] [stdout] | |_- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result<(), errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/roblox/place.rs:190:25 [INFO] [stdout] | [INFO] [stdout] 163 | / fn map_string_properties( [INFO] [stdout] 164 | | rblx: &mut RblxData, mut f: impl FnMut(&str, &str, &str, &str) -> Result> [INFO] [stdout] 165 | | ) -> Result<()> { [INFO] [stdout] 166 | | [INFO] [stdout] ... | [INFO] [stdout] 190 | | let type_data = type_names.get(&type_id)?; [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^^^^^^^^^ cannot use the `?` operator in a function that returns `std::result::Result<(), errors::Error>` [INFO] [stdout] ... | [INFO] [stdout] 206 | | Ok(()) [INFO] [stdout] 207 | | } [INFO] [stdout] | |_- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result<(), errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 26 previous errors; 13 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `sylph-verifier` [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/util.rs:179:22 [INFO] [stdout] | [INFO] [stdout] 178 | / pub fn ensure_member_exists(guild_id: GuildId, user: UserId) -> Result<()> { [INFO] [stdout] 179 | | let guild_lock = guild_id.to_guild_cached()?; [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot use the `?` operator in a function that returns `std::result::Result<(), errors::Error>` [INFO] [stdout] 180 | | let guild = guild_lock.read(); [INFO] [stdout] 181 | | [INFO] [stdout] ... | [INFO] [stdout] 192 | | Ok(()) [INFO] [stdout] 193 | | } [INFO] [stdout] | |_- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result<(), errors::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/util.rs:197:17 [INFO] [stdout] | [INFO] [stdout] 196 | / pub fn can_member_access_role(guild_id: GuildId, member_id: UserId, role: RoleId) -> Result { [INFO] [stdout] 197 | | let guild = guild_id.to_guild_cached()?; [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot use the `?` operator in a function that returns `std::result::Result` [INFO] [stdout] 198 | | let owner_id = guild.read().owner_id; [INFO] [stdout] 199 | | [INFO] [stdout] ... | [INFO] [stdout] 207 | | } [INFO] [stdout] 208 | | } [INFO] [stdout] | |_- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/util.rs:204:39 [INFO] [stdout] | [INFO] [stdout] 196 | / pub fn can_member_access_role(guild_id: GuildId, member_id: UserId, role: RoleId) -> Result { [INFO] [stdout] 197 | | let guild = guild_id.to_guild_cached()?; [INFO] [stdout] 198 | | let owner_id = guild.read().owner_id; [INFO] [stdout] 199 | | [INFO] [stdout] ... | [INFO] [stdout] 204 | | Some((_, position)) => Ok(role.to_role_cached()?.position < position), [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^^^^^^ cannot use the `?` operator in a function that returns `std::result::Result` [INFO] [stdout] ... | [INFO] [stdout] 207 | | } [INFO] [stdout] 208 | | } [INFO] [stdout] | |_- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/util.rs:213:17 [INFO] [stdout] | [INFO] [stdout] 209 | / pub fn can_member_access_member(guild_id: GuildId, from: UserId, to: UserId) -> Result { [INFO] [stdout] 210 | | ensure_member_exists(guild_id, from)?; [INFO] [stdout] 211 | | ensure_member_exists(guild_id, to)?; [INFO] [stdout] 212 | | [INFO] [stdout] 213 | | let guild = guild_id.to_guild_cached()?; [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot use the `?` operator in a function that returns `std::result::Result` [INFO] [stdout] 214 | | Ok(from == to || guild.read().greater_member_hierarchy(from, to) == Some(from)) [INFO] [stdout] 215 | | } [INFO] [stdout] | |_- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `std::result::Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 26 previous errors; 13 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "b4c52bc8583c9ddcda0b859e601d88e41088781785ed51967a3466ec87078f4a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b4c52bc8583c9ddcda0b859e601d88e41088781785ed51967a3466ec87078f4a", kill_on_drop: false }` [INFO] [stdout] b4c52bc8583c9ddcda0b859e601d88e41088781785ed51967a3466ec87078f4a