[INFO] cloning repository https://github.com/AdaptChat/harmony [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/AdaptChat/harmony" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAdaptChat%2Fharmony", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAdaptChat%2Fharmony'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 316178d996c06331b6cdaa3bc499716961d326f9 [INFO] checking AdaptChat/harmony against try#44e31dee3cf6f37b4f652572897bb0eb25c477ee for pr-139763 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAdaptChat%2Fharmony" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/AdaptChat/harmony on toolchain 44e31dee3cf6f37b4f652572897bb0eb25c477ee [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+44e31dee3cf6f37b4f652572897bb0eb25c477ee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-6-tc2/source/.cargo/config.toml [INFO] started tweaking git repo https://github.com/AdaptChat/harmony [INFO] finished tweaking git repo https://github.com/AdaptChat/harmony [INFO] tweaked toml for git repo https://github.com/AdaptChat/harmony written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/AdaptChat/harmony 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" "+44e31dee3cf6f37b4f652572897bb0eb25c477ee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+44e31dee3cf6f37b4f652572897bb0eb25c477ee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a2b36fd2550194fea48b2c998a157bc73ccb23e838a2f679bcb03d1b3a189d39 [INFO] running `Command { std: "docker" "start" "-a" "a2b36fd2550194fea48b2c998a157bc73ccb23e838a2f679bcb03d1b3a189d39", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a2b36fd2550194fea48b2c998a157bc73ccb23e838a2f679bcb03d1b3a189d39", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a2b36fd2550194fea48b2c998a157bc73ccb23e838a2f679bcb03d1b3a189d39", kill_on_drop: false }` [INFO] [stdout] a2b36fd2550194fea48b2c998a157bc73ccb23e838a2f679bcb03d1b3a189d39 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+44e31dee3cf6f37b4f652572897bb0eb25c477ee" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9c47226fdfa0ab562d0b2a6cf5b55909271e8d6f1313780f11382336c87533c8 [INFO] running `Command { std: "docker" "start" "-a" "9c47226fdfa0ab562d0b2a6cf5b55909271e8d6f1313780f11382336c87533c8", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.155 [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling serde v1.0.203 [INFO] [stderr] Checking bytes v1.6.0 [INFO] [stderr] Checking pin-project-lite v0.2.14 [INFO] [stderr] Compiling cc v1.0.104 [INFO] [stderr] Checking futures-core v0.3.30 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Checking tinyvec v1.6.1 [INFO] [stderr] Compiling crossbeam-utils v0.8.20 [INFO] [stderr] Checking futures-sink v0.3.30 [INFO] [stderr] Checking unicode-bidi v0.3.15 [INFO] [stderr] Compiling thiserror v1.0.61 [INFO] [stderr] Compiling serde_json v1.0.120 [INFO] [stderr] Checking zerocopy v0.7.34 [INFO] [stderr] Compiling tinyvec_macros v0.1.1 [INFO] [stderr] Compiling rustls v0.21.12 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling untrusted v0.9.0 [INFO] [stderr] Compiling spin v0.9.8 [INFO] [stderr] Checking futures-task v0.3.30 [INFO] [stderr] Checking allocator-api2 v0.2.18 [INFO] [stderr] Checking futures-io v0.3.30 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Checking ppv-lite86 v0.2.17 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling getrandom v0.2.15 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Compiling syn v2.0.68 [INFO] [stderr] Checking unicode-normalization v0.1.23 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Compiling mio v0.8.11 [INFO] [stderr] Compiling socket2 v0.5.7 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Checking signal-hook-registry v1.4.2 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Checking cpufeatures v0.2.12 [INFO] [stderr] Compiling percent-encoding v2.3.1 [INFO] [stderr] Checking idna v0.5.0 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling tracing-core v0.1.32 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Compiling tokio v1.38.0 [INFO] [stderr] Compiling form_urlencoded v1.2.1 [INFO] [stderr] Compiling unicode_categories v0.1.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling crc-catalog v2.4.0 [INFO] [stderr] Compiling rustix v0.38.34 [INFO] [stderr] Compiling base64 v0.21.7 [INFO] [stderr] Checking url v2.5.2 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling bitflags v2.6.0 [INFO] [stderr] Compiling ring v0.17.8 [INFO] [stderr] Compiling iana-time-zone v0.1.60 [INFO] [stderr] Compiling futures-util v0.3.30 [INFO] [stderr] Compiling hashlink v0.8.4 [INFO] [stderr] Compiling indexmap v2.2.6 [INFO] [stderr] Compiling chrono v0.4.38 [INFO] [stderr] Compiling crossbeam-queue v0.3.11 [INFO] [stderr] Compiling crc v3.2.1 [INFO] [stderr] Compiling rustls-pemfile v1.0.4 [INFO] [stderr] Compiling sha2 v0.10.8 [INFO] [stderr] Checking lexical-util v0.8.5 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling atoi v2.0.0 [INFO] [stderr] Compiling futures-channel v0.3.30 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling event-listener v2.5.3 [INFO] [stderr] Compiling webpki-roots v0.25.4 [INFO] [stderr] Compiling linux-raw-sys v0.4.14 [INFO] [stderr] Compiling hex v0.4.3 [INFO] [stderr] Compiling uuid v1.9.1 [INFO] [stderr] Compiling unicode-properties v0.1.1 [INFO] [stderr] Compiling hkdf v0.12.4 [INFO] [stderr] Compiling stringprep v0.1.5 [INFO] [stderr] Compiling md-5 v0.10.6 [INFO] [stderr] Compiling whoami v1.5.1 [INFO] [stderr] Compiling sqlformat v0.2.4 [INFO] [stderr] Compiling fastrand v2.1.0 [INFO] [stderr] Compiling dotenvy v0.15.7 [INFO] [stderr] Checking equivalent v1.0.1 [INFO] [stderr] Compiling home v0.5.9 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Compiling httparse v1.9.4 [INFO] [stderr] Checking regex-syntax v0.8.4 [INFO] [stderr] Checking lexical-parse-integer v0.8.6 [INFO] [stderr] Checking lexical-write-integer v0.8.5 [INFO] [stderr] Compiling ref-cast v1.0.23 [INFO] [stderr] Compiling virtue v0.0.13 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Checking lexical-parse-float v0.8.5 [INFO] [stderr] Checking lexical-write-float v0.8.5 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking float-cmp v0.9.0 [INFO] [stderr] Checking data-encoding v2.6.0 [INFO] [stderr] Checking rmp v0.8.14 [INFO] [stderr] Checking is-terminal v0.4.12 [INFO] [stderr] Checking simdutf8 v0.1.4 [INFO] [stderr] Compiling bincode_derive v2.0.0-rc.3 [INFO] [stderr] Checking lexical-core v0.8.5 [INFO] [stderr] Compiling tempfile v3.10.1 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Compiling serde_derive v1.0.203 [INFO] [stderr] Compiling tokio-macros v2.3.0 [INFO] [stderr] Compiling thiserror-impl v1.0.61 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Compiling async-trait v0.1.80 [INFO] [stderr] Compiling ref-cast-impl v1.0.23 [INFO] [stderr] Checking sct v0.7.1 [INFO] [stderr] Checking rustls-webpki v0.101.7 [INFO] [stderr] Compiling tokio-stream v0.1.15 [INFO] [stderr] Compiling tracing v0.1.40 [INFO] [stderr] Checking tungstenite v0.20.1 [INFO] [stderr] Checking regex v1.10.5 [INFO] [stderr] Checking env_logger v0.10.2 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Checking either v1.13.0 [INFO] [stderr] Checking serde_bytes_ng v0.1.2 [INFO] [stderr] Checking halfbrown v0.2.5 [INFO] [stderr] Checking bincode v2.0.0-rc.3 [INFO] [stderr] Checking rmp-serde v1.3.0 [INFO] [stderr] Checking amqp_serde v0.4.1 [INFO] [stderr] Checking itertools v0.13.0 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Checking value-trait v0.8.1 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking futures-intrusive v0.5.0 [INFO] [stderr] Checking simd-json v0.13.10 [INFO] [stderr] Compiling sqlx-core v0.8.0-alpha.0 (https://github.com/benluelo/sqlx.git?branch=fix-encode-decode-derives#e5cfa8e3) [INFO] [stderr] Compiling sqlx-postgres v0.8.0-alpha.0 (https://github.com/benluelo/sqlx.git?branch=fix-encode-decode-derives#e5cfa8e3) [INFO] [stderr] Checking tokio-util v0.7.11 [INFO] [stderr] Checking deadpool-runtime v0.1.4 [INFO] [stderr] Checking deadpool-runtime v0.1.3 (https://github.com/jay3332/deadpool.git#a6fd8d82) [INFO] [stderr] Checking tokio-tungstenite v0.20.1 [INFO] [stderr] Checking amqprs v1.6.2 [INFO] [stderr] Checking deadpool v0.10.0 (https://github.com/jay3332/deadpool.git#a6fd8d82) [INFO] [stderr] Checking deadpool v0.12.1 [INFO] [stderr] Checking combine v4.6.7 [INFO] [stderr] Compiling sqlx-macros-core v0.8.0-alpha.0 (https://github.com/benluelo/sqlx.git?branch=fix-encode-decode-derives#e5cfa8e3) [INFO] [stderr] Compiling sqlx-macros v0.8.0-alpha.0 (https://github.com/benluelo/sqlx.git?branch=fix-encode-decode-derives#e5cfa8e3) [INFO] [stderr] Checking redis v0.25.4 [INFO] [stderr] Checking redis v0.23.3 [INFO] [stderr] Checking sqlx v0.8.0-alpha.0 (https://github.com/benluelo/sqlx.git?branch=fix-encode-decode-derives#e5cfa8e3) [INFO] [stderr] Checking deadpool-redis v0.13.0 (https://github.com/jay3332/deadpool.git#a6fd8d82) [INFO] [stderr] Checking deadpool-redis v0.15.1 [INFO] [stderr] Checking essence v0.7.0 (https://github.com/AdaptChat/essence.git#37f2897e) [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/auth.rs:33:79 [INFO] [stdout] | [INFO] [stdout] 6 | pub trait AuthDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 33 | async fn fetch_token(&self, user_id: u64) -> sqlx::Result> { [INFO] [stdout] | _______________________________________________________________________________^ [INFO] [stdout] 34 | | sqlx::query!( [INFO] [stdout] 35 | | "SELECT token FROM tokens WHERE user_id = $1", [INFO] [stdout] 36 | | user_id as i64 [INFO] [stdout] ... | [INFO] [stdout] 40 | | .map(|r| r.map(|r| r.token)) [INFO] [stdout] 41 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/auth.rs:33:79 [INFO] [stdout] | [INFO] [stdout] 33 | async fn fetch_token(&self, user_id: u64) -> sqlx::Result> { [INFO] [stdout] | _______________________________________________________________________________^ [INFO] [stdout] 34 | | sqlx::query!( [INFO] [stdout] 35 | | "SELECT token FROM tokens WHERE user_id = $1", [INFO] [stdout] 36 | | user_id as i64 [INFO] [stdout] ... | [INFO] [stdout] 40 | | .map(|r| r.map(|r| r.token)) [INFO] [stdout] 41 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/auth.rs:51:50 [INFO] [stdout] | [INFO] [stdout] 6 | pub trait AuthDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 51 | ) -> crate::Result> { [INFO] [stdout] | __________________________________________________^ [INFO] [stdout] 52 | | if let Some(cached) = cache::user_info_for_token(token.as_ref()).await? { [INFO] [stdout] 53 | | return Ok(Some(cached)); [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/auth.rs:51:50 [INFO] [stdout] | [INFO] [stdout] 51 | ) -> crate::Result> { [INFO] [stdout] | __________________________________________________^ [INFO] [stdout] 52 | | if let Some(cached) = cache::user_info_for_token(token.as_ref()).await? { [INFO] [stdout] 53 | | return Ok(Some(cached)); [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/auth.rs:84:27 [INFO] [stdout] | [INFO] [stdout] 6 | pub trait AuthDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 84 | ) -> sqlx::Result<()> { [INFO] [stdout] | ___________________________^ [INFO] [stdout] 85 | | sqlx::query!( [INFO] [stdout] 86 | | "INSERT INTO tokens (user_id, token) VALUES ($1, $2)", [INFO] [stdout] 87 | | user_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 92 | | .map(|_| ()) [INFO] [stdout] 93 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/auth.rs:84:27 [INFO] [stdout] | [INFO] [stdout] 84 | ) -> sqlx::Result<()> { [INFO] [stdout] | ___________________________^ [INFO] [stdout] 85 | | sqlx::query!( [INFO] [stdout] 86 | | "INSERT INTO tokens (user_id, token) VALUES ($1, $2)", [INFO] [stdout] 87 | | user_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 92 | | .map(|_| ()) [INFO] [stdout] 93 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/auth.rs:103:68 [INFO] [stdout] | [INFO] [stdout] 6 | pub trait AuthDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 103 | async fn delete_stale_push_keys(&mut self) -> sqlx::Result<()> { [INFO] [stdout] | ____________________________________________________________________^ [INFO] [stdout] 104 | | sqlx::query!("SELECT delete_stale_keys()::TEXT") [INFO] [stdout] 105 | | .fetch_one(self.transaction()) [INFO] [stdout] 106 | | .await [INFO] [stdout] 107 | | .map(|_| ()) [INFO] [stdout] 108 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/auth.rs:103:68 [INFO] [stdout] | [INFO] [stdout] 103 | async fn delete_stale_push_keys(&mut self) -> sqlx::Result<()> { [INFO] [stdout] | ____________________________________________________________________^ [INFO] [stdout] 104 | | sqlx::query!("SELECT delete_stale_keys()::TEXT") [INFO] [stdout] 105 | | .fetch_one(self.transaction()) [INFO] [stdout] 106 | | .await [INFO] [stdout] 107 | | .map(|_| ()) [INFO] [stdout] 108 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/auth.rs:118:78 [INFO] [stdout] | [INFO] [stdout] 6 | pub trait AuthDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 118 | async fn delete_all_tokens(&mut self, user_id: u64) -> crate::Result<()> { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 119 | | sqlx::query!("DELETE FROM tokens WHERE user_id = $1", user_id as i64) [INFO] [stdout] 120 | | .execute(self.transaction()) [INFO] [stdout] 121 | | .await?; [INFO] [stdout] ... | [INFO] [stdout] 124 | | Ok(()) [INFO] [stdout] 125 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/auth.rs:118:78 [INFO] [stdout] | [INFO] [stdout] 118 | async fn delete_all_tokens(&mut self, user_id: u64) -> crate::Result<()> { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 119 | | sqlx::query!("DELETE FROM tokens WHERE user_id = $1", user_id as i64) [INFO] [stdout] 120 | | .execute(self.transaction()) [INFO] [stdout] 121 | | .await?; [INFO] [stdout] ... | [INFO] [stdout] 124 | | Ok(()) [INFO] [stdout] 125 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/auth.rs:133:81 [INFO] [stdout] | [INFO] [stdout] 6 | pub trait AuthDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 133 | async fn fetch_push_keys(&self, user_id: u64) -> crate::Result> { [INFO] [stdout] | _________________________________________________________________________________^ [INFO] [stdout] 134 | | let rows = sqlx::query!( [INFO] [stdout] 135 | | "SELECT registration_key AS key FROM push_registration_keys WHERE user_id = $1", [INFO] [stdout] 136 | | user_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 141 | | Ok(rows.into_iter().map(|r| r.key).collect()) [INFO] [stdout] 142 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/auth.rs:133:81 [INFO] [stdout] | [INFO] [stdout] 133 | async fn fetch_push_keys(&self, user_id: u64) -> crate::Result> { [INFO] [stdout] | _________________________________________________________________________________^ [INFO] [stdout] 134 | | let rows = sqlx::query!( [INFO] [stdout] 135 | | "SELECT registration_key AS key FROM push_registration_keys WHERE user_id = $1", [INFO] [stdout] 136 | | user_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 141 | | Ok(rows.into_iter().map(|r| r.key).collect()) [INFO] [stdout] 142 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/auth.rs:152:37 [INFO] [stdout] | [INFO] [stdout] 6 | pub trait AuthDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 152 | ) -> crate::Result> { [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 153 | | let user_id = sqlx::query!( [INFO] [stdout] 154 | | "SELECT user_id FROM push_registration_keys WHERE registration_key = $1", [INFO] [stdout] 155 | | key.as_ref(), [INFO] [stdout] ... | [INFO] [stdout] 161 | | Ok(user_id) [INFO] [stdout] 162 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/auth.rs:152:37 [INFO] [stdout] | [INFO] [stdout] 152 | ) -> crate::Result> { [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 153 | | let user_id = sqlx::query!( [INFO] [stdout] 154 | | "SELECT user_id FROM push_registration_keys WHERE registration_key = $1", [INFO] [stdout] 155 | | key.as_ref(), [INFO] [stdout] ... | [INFO] [stdout] 161 | | Ok(user_id) [INFO] [stdout] 162 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/auth.rs:177:28 [INFO] [stdout] | [INFO] [stdout] 6 | pub trait AuthDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 177 | ) -> crate::Result<()> { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 178 | | sqlx::query!( [INFO] [stdout] 179 | | r"INSERT INTO push_registration_keys (user_id, registration_key) VALUES ($1, $2) [INFO] [stdout] 180 | | ON CONFLICT (registration_key) DO UPDATE SET created_at = CURRENT_TIMESTAMP", [INFO] [stdout] ... | [INFO] [stdout] 187 | | Ok(()) [INFO] [stdout] 188 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/auth.rs:177:28 [INFO] [stdout] | [INFO] [stdout] 177 | ) -> crate::Result<()> { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 178 | | sqlx::query!( [INFO] [stdout] 179 | | r"INSERT INTO push_registration_keys (user_id, registration_key) VALUES ($1, $2) [INFO] [stdout] 180 | | ON CONFLICT (registration_key) DO UPDATE SET created_at = CURRENT_TIMESTAMP", [INFO] [stdout] ... | [INFO] [stdout] 187 | | Ok(()) [INFO] [stdout] 188 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/auth.rs:199:77 [INFO] [stdout] | [INFO] [stdout] 6 | pub trait AuthDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 199 | async fn delete_push_keys(&mut self, user_id: u64) -> crate::Result<()> { [INFO] [stdout] | _____________________________________________________________________________^ [INFO] [stdout] 200 | | sqlx::query!( [INFO] [stdout] 201 | | "DELETE FROM push_registration_keys WHERE user_id = $1", [INFO] [stdout] 202 | | user_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 207 | | Ok(()) [INFO] [stdout] 208 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/auth.rs:199:77 [INFO] [stdout] | [INFO] [stdout] 199 | async fn delete_push_keys(&mut self, user_id: u64) -> crate::Result<()> { [INFO] [stdout] | _____________________________________________________________________________^ [INFO] [stdout] 200 | | sqlx::query!( [INFO] [stdout] 201 | | "DELETE FROM push_registration_keys WHERE user_id = $1", [INFO] [stdout] 202 | | user_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 207 | | Ok(()) [INFO] [stdout] 208 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/auth.rs:218:91 [INFO] [stdout] | [INFO] [stdout] 6 | pub trait AuthDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 218 | async fn delete_push_key(&mut self, key: impl AsRef + Send) -> crate::Result<()> { [INFO] [stdout] | ___________________________________________________________________________________________^ [INFO] [stdout] 219 | | sqlx::query!( [INFO] [stdout] 220 | | "DELETE FROM push_registration_keys WHERE registration_key = $1", [INFO] [stdout] 221 | | key.as_ref(), [INFO] [stdout] ... | [INFO] [stdout] 226 | | Ok(()) [INFO] [stdout] 227 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/auth.rs:218:91 [INFO] [stdout] | [INFO] [stdout] 218 | async fn delete_push_key(&mut self, key: impl AsRef + Send) -> crate::Result<()> { [INFO] [stdout] | ___________________________________________________________________________________________^ [INFO] [stdout] 219 | | sqlx::query!( [INFO] [stdout] 220 | | "DELETE FROM push_registration_keys WHERE registration_key = $1", [INFO] [stdout] 221 | | key.as_ref(), [INFO] [stdout] ... | [INFO] [stdout] 226 | | Ok(()) [INFO] [stdout] 227 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:187:98 [INFO] [stdout] | [INFO] [stdout] 185 | pub trait ChannelDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] 186 | /// Asserts the given channel ID exists in the given guild. [INFO] [stdout] 187 | async fn assert_channel_in_guild(&self, guild_id: u64, channel_id: u64) -> crate::Result<()> { [INFO] [stdout] | __________________________________________________________________________________________________^ [INFO] [stdout] 188 | | let exists = sqlx::query!( [INFO] [stdout] 189 | | "SELECT EXISTS(SELECT 1 FROM channels WHERE id = $1 AND guild_id = $2)", [INFO] [stdout] 190 | | channel_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 206 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:187:98 [INFO] [stdout] | [INFO] [stdout] 187 | async fn assert_channel_in_guild(&self, guild_id: u64, channel_id: u64) -> crate::Result<()> { [INFO] [stdout] | __________________________________________________________________________________________________^ [INFO] [stdout] 188 | | let exists = sqlx::query!( [INFO] [stdout] 189 | | "SELECT EXISTS(SELECT 1 FROM channels WHERE id = $1 AND guild_id = $2)", [INFO] [stdout] 190 | | channel_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 206 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:214:28 [INFO] [stdout] | [INFO] [stdout] 185 | pub trait ChannelDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 214 | ) -> crate::Result<()> { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 215 | | let exists = sqlx::query!( [INFO] [stdout] 216 | | "SELECT EXISTS(SELECT 1 FROM channels WHERE id = $1 AND guild_id = $2 AND type = $3)", [INFO] [stdout] 217 | | channel_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 237 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:214:28 [INFO] [stdout] | [INFO] [stdout] 214 | ) -> crate::Result<()> { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 215 | | let exists = sqlx::query!( [INFO] [stdout] 216 | | "SELECT EXISTS(SELECT 1 FROM channels WHERE id = $1 AND guild_id = $2 AND type = $3)", [INFO] [stdout] 217 | | channel_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 237 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:240:98 [INFO] [stdout] | [INFO] [stdout] 185 | pub trait ChannelDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 240 | async fn assert_user_is_recipient(&self, channel_id: u64, user_id: u64) -> crate::Result<()> { [INFO] [stdout] | __________________________________________________________________________________________________^ [INFO] [stdout] 241 | | let exists = sqlx::query!( [INFO] [stdout] 242 | | "SELECT EXISTS(SELECT 1 FROM channel_recipients WHERE channel_id = $1 AND user_id = $2)", [INFO] [stdout] 243 | | channel_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 259 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:240:98 [INFO] [stdout] | [INFO] [stdout] 240 | async fn assert_user_is_recipient(&self, channel_id: u64, user_id: u64) -> crate::Result<()> { [INFO] [stdout] | __________________________________________________________________________________________________^ [INFO] [stdout] 241 | | let exists = sqlx::query!( [INFO] [stdout] 242 | | "SELECT EXISTS(SELECT 1 FROM channel_recipients WHERE channel_id = $1 AND user_id = $2)", [INFO] [stdout] 243 | | channel_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 259 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:262:100 [INFO] [stdout] | [INFO] [stdout] 185 | pub trait ChannelDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 262 | async fn assert_user_is_group_owner(&self, channel_id: u64, user_id: u64) -> crate::Result<()> { [INFO] [stdout] | ____________________________________________________________________________________________________^ [INFO] [stdout] 263 | | let owner_id = sqlx::query!( [INFO] [stdout] 264 | | "SELECT owner_id FROM channels WHERE id = $1", [INFO] [stdout] 265 | | channel_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 283 | | Ok(()) [INFO] [stdout] 284 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:262:100 [INFO] [stdout] | [INFO] [stdout] 262 | async fn assert_user_is_group_owner(&self, channel_id: u64, user_id: u64) -> crate::Result<()> { [INFO] [stdout] | ____________________________________________________________________________________________________^ [INFO] [stdout] 263 | | let owner_id = sqlx::query!( [INFO] [stdout] 264 | | "SELECT owner_id FROM channels WHERE id = $1", [INFO] [stdout] 265 | | channel_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 283 | | Ok(()) [INFO] [stdout] 284 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:291:98 [INFO] [stdout] | [INFO] [stdout] 185 | pub trait ChannelDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 291 | async fn inspect_channel(&self, channel_id: u64) -> crate::Result> { [INFO] [stdout] | __________________________________________________________________________________________________^ [INFO] [stdout] 292 | | if let Some(inspection) = cache::inspection_for_channel(channel_id).await? { [INFO] [stdout] 293 | | return Ok(Some(inspection)); [INFO] [stdout] ... | [INFO] [stdout] 315 | | Ok(Some(channel)) [INFO] [stdout] 316 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:291:98 [INFO] [stdout] | [INFO] [stdout] 291 | async fn inspect_channel(&self, channel_id: u64) -> crate::Result> { [INFO] [stdout] | __________________________________________________________________________________________________^ [INFO] [stdout] 292 | | if let Some(inspection) = cache::inspection_for_channel(channel_id).await? { [INFO] [stdout] 293 | | return Ok(Some(inspection)); [INFO] [stdout] ... | [INFO] [stdout] 315 | | Ok(Some(channel)) [INFO] [stdout] 316 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:323:86 [INFO] [stdout] | [INFO] [stdout] 185 | pub trait ChannelDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 323 | async fn fetch_channel(&self, channel_id: u64) -> crate::Result> { [INFO] [stdout] | ______________________________________________________________________________________^ [INFO] [stdout] 324 | | let Some(channel) = query_channels!("c.id = $1", channel_id as i64) [INFO] [stdout] 325 | | .fetch_optional(self.executor()) [INFO] [stdout] 326 | | .await? [INFO] [stdout] ... | [INFO] [stdout] 331 | | self.construct_channel_with_record(channel).await.map(Some) [INFO] [stdout] 332 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:323:86 [INFO] [stdout] | [INFO] [stdout] 323 | async fn fetch_channel(&self, channel_id: u64) -> crate::Result> { [INFO] [stdout] | ______________________________________________________________________________________^ [INFO] [stdout] 324 | | let Some(channel) = query_channels!("c.id = $1", channel_id as i64) [INFO] [stdout] 325 | | .fetch_optional(self.executor()) [INFO] [stdout] 326 | | .await? [INFO] [stdout] ... | [INFO] [stdout] 331 | | self.construct_channel_with_record(channel).await.map(Some) [INFO] [stdout] 332 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:339:91 [INFO] [stdout] | [INFO] [stdout] 185 | pub trait ChannelDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 339 | async fn fetch_last_message(&self, channel_id: u64) -> crate::Result> { [INFO] [stdout] | ___________________________________________________________________________________________^ [INFO] [stdout] 340 | | let mut message = sqlx::query!( [INFO] [stdout] 341 | | r#"SELECT [INFO] [stdout] 342 | | messages.*, [INFO] [stdout] ... | [INFO] [stdout] 360 | | Ok(message) [INFO] [stdout] 361 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:339:91 [INFO] [stdout] | [INFO] [stdout] 339 | async fn fetch_last_message(&self, channel_id: u64) -> crate::Result> { [INFO] [stdout] | ___________________________________________________________________________________________^ [INFO] [stdout] 340 | | let mut message = sqlx::query!( [INFO] [stdout] 341 | | r#"SELECT [INFO] [stdout] 342 | | messages.*, [INFO] [stdout] ... | [INFO] [stdout] 360 | | Ok(message) [INFO] [stdout] 361 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:367:90 [INFO] [stdout] | [INFO] [stdout] 185 | pub trait ChannelDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 367 | async fn fetch_channel_recipients(&self, channel_id: u64) -> crate::Result> { [INFO] [stdout] | __________________________________________________________________________________________^ [INFO] [stdout] 368 | | let inspection = [INFO] [stdout] 369 | | self.inspect_channel(channel_id) [INFO] [stdout] 370 | | .await? [INFO] [stdout] ... | [INFO] [stdout] 407 | | Ok(user_ids) [INFO] [stdout] 408 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:367:90 [INFO] [stdout] | [INFO] [stdout] 367 | async fn fetch_channel_recipients(&self, channel_id: u64) -> crate::Result> { [INFO] [stdout] | __________________________________________________________________________________________^ [INFO] [stdout] 368 | | let inspection = [INFO] [stdout] 369 | | self.inspect_channel(channel_id) [INFO] [stdout] 370 | | .await? [INFO] [stdout] ... | [INFO] [stdout] 407 | | Ok(user_ids) [INFO] [stdout] 408 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:419:33 [INFO] [stdout] | [INFO] [stdout] 185 | pub trait ChannelDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 419 | ) -> crate::Result { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 420 | | let channel_id = channel.id as u64; [INFO] [stdout] 421 | | let kind = ChannelType::from_str(&channel.kind)?; [INFO] [stdout] ... | [INFO] [stdout] 438 | | }) [INFO] [stdout] 439 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:419:33 [INFO] [stdout] | [INFO] [stdout] 419 | ) -> crate::Result { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 420 | | let channel_id = channel.id as u64; [INFO] [stdout] 421 | | let kind = ChannelType::from_str(&channel.kind)?; [INFO] [stdout] ... | [INFO] [stdout] 438 | | }) [INFO] [stdout] 439 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:452:72 [INFO] [stdout] | [INFO] [stdout] 185 | pub trait ChannelDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 452 | ) -> crate::Result>>> { [INFO] [stdout] | ________________________________________________________________________^ [INFO] [stdout] 453 | | #[derive(sqlx::FromRow)] [INFO] [stdout] 454 | | struct Query { [INFO] [stdout] 455 | | channel_id: i64, [INFO] [stdout] ... | [INFO] [stdout] 491 | | Ok(overwrites) [INFO] [stdout] 492 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:452:72 [INFO] [stdout] | [INFO] [stdout] 452 | ) -> crate::Result>>> { [INFO] [stdout] | ________________________________________________________________________^ [INFO] [stdout] 453 | | #[derive(sqlx::FromRow)] [INFO] [stdout] 454 | | struct Query { [INFO] [stdout] 455 | | channel_id: i64, [INFO] [stdout] ... | [INFO] [stdout] 491 | | Ok(overwrites) [INFO] [stdout] 492 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:503:50 [INFO] [stdout] | [INFO] [stdout] 185 | pub trait ChannelDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 503 | ) -> crate::Result> { [INFO] [stdout] | __________________________________________________^ [INFO] [stdout] 504 | | Ok(sqlx::query!( [INFO] [stdout] 505 | | "SELECT target_id, allow, deny FROM channel_overwrites WHERE channel_id = $1", [INFO] [stdout] 506 | | channel_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 518 | | .collect()) [INFO] [stdout] 519 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:503:50 [INFO] [stdout] | [INFO] [stdout] 503 | ) -> crate::Result> { [INFO] [stdout] | __________________________________________________^ [INFO] [stdout] 504 | | Ok(sqlx::query!( [INFO] [stdout] 505 | | "SELECT target_id, allow, deny FROM channel_overwrites WHERE channel_id = $1", [INFO] [stdout] 506 | | channel_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 518 | | .collect()) [INFO] [stdout] 519 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:531:47 [INFO] [stdout] | [INFO] [stdout] 185 | pub trait ChannelDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 531 | ) -> crate::Result> { [INFO] [stdout] | _______________________________________________^ [INFO] [stdout] 532 | | let message_ids: Vec = sqlx::query!( [INFO] [stdout] 533 | | r#"SELECT id FROM messages [INFO] [stdout] 534 | | WHERE channel_id = ANY($1::BIGINT[]) [INFO] [stdout] ... | [INFO] [stdout] 547 | | Ok(messages.into_iter().map(|m| (m.channel_id, m)).collect()) [INFO] [stdout] 548 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:531:47 [INFO] [stdout] | [INFO] [stdout] 531 | ) -> crate::Result> { [INFO] [stdout] | _______________________________________________^ [INFO] [stdout] 532 | | let message_ids: Vec = sqlx::query!( [INFO] [stdout] 533 | | r#"SELECT id FROM messages [INFO] [stdout] 534 | | WHERE channel_id = ANY($1::BIGINT[]) [INFO] [stdout] ... | [INFO] [stdout] 547 | | Ok(messages.into_iter().map(|m| (m.channel_id, m)).collect()) [INFO] [stdout] 548 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:554:100 [INFO] [stdout] | [INFO] [stdout] 185 | pub trait ChannelDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 554 | async fn fetch_all_channels_in_guild(&self, guild_id: u64) -> crate::Result> { [INFO] [stdout] | ____________________________________________________________________________________________________^ [INFO] [stdout] 555 | | let channels: Vec = query_channels!("guild_id = $1", guild_id as i64) [INFO] [stdout] 556 | | .fetch_all(self.executor()) [INFO] [stdout] 557 | | .await?; [INFO] [stdout] ... | [INFO] [stdout] 581 | | Ok(channels) [INFO] [stdout] 582 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:554:100 [INFO] [stdout] | [INFO] [stdout] 554 | async fn fetch_all_channels_in_guild(&self, guild_id: u64) -> crate::Result> { [INFO] [stdout] | ____________________________________________________________________________________________________^ [INFO] [stdout] 555 | | let channels: Vec = query_channels!("guild_id = $1", guild_id as i64) [INFO] [stdout] 556 | | .fetch_all(self.executor()) [INFO] [stdout] 557 | | .await?; [INFO] [stdout] ... | [INFO] [stdout] 581 | | Ok(channels) [INFO] [stdout] 582 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:588:99 [INFO] [stdout] | [INFO] [stdout] 185 | pub trait ChannelDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 588 | async fn fetch_all_dm_channels_for_user(&self, user_id: u64) -> crate::Result> { [INFO] [stdout] | ___________________________________________________________________________________________________^ [INFO] [stdout] 589 | | let channels = query_channels!( [INFO] [stdout] 590 | | "(c.type = 'dm' OR c.type = 'group') [INFO] [stdout] 591 | | AND c.id IN ( [INFO] [stdout] ... | [INFO] [stdout] 627 | | Ok(resolved) [INFO] [stdout] 628 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:588:99 [INFO] [stdout] | [INFO] [stdout] 588 | async fn fetch_all_dm_channels_for_user(&self, user_id: u64) -> crate::Result> { [INFO] [stdout] | ___________________________________________________________________________________________________^ [INFO] [stdout] 589 | | let channels = query_channels!( [INFO] [stdout] 590 | | "(c.type = 'dm' OR c.type = 'group') [INFO] [stdout] 591 | | AND c.id IN ( [INFO] [stdout] ... | [INFO] [stdout] 627 | | Ok(resolved) [INFO] [stdout] 628 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:635:28 [INFO] [stdout] | [INFO] [stdout] 185 | pub trait ChannelDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 635 | ) -> crate::Result<()> { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 636 | | let (targets, (allow, deny)) = overwrites [INFO] [stdout] 637 | | .iter() [INFO] [stdout] 638 | | .map(|o| { [INFO] [stdout] ... | [INFO] [stdout] 670 | | Ok(()) [INFO] [stdout] 671 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:635:28 [INFO] [stdout] | [INFO] [stdout] 635 | ) -> crate::Result<()> { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 636 | | let (targets, (allow, deny)) = overwrites [INFO] [stdout] 637 | | .iter() [INFO] [stdout] 638 | | .map(|o| { [INFO] [stdout] ... | [INFO] [stdout] 670 | | Ok(()) [INFO] [stdout] 671 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:688:38 [INFO] [stdout] | [INFO] [stdout] 185 | pub trait ChannelDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 688 | ) -> crate::Result { [INFO] [stdout] | ______________________________________^ [INFO] [stdout] 689 | | let (topic, user_limit) = match &payload.info { [INFO] [stdout] 690 | | CreateGuildChannelInfo::Text { topic } [INFO] [stdout] 691 | | | CreateGuildChannelInfo::Announcement { topic } => (topic.as_ref(), None), [INFO] [stdout] ... | [INFO] [stdout] 785 | | }) [INFO] [stdout] 786 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:688:38 [INFO] [stdout] | [INFO] [stdout] 688 | ) -> crate::Result { [INFO] [stdout] | ______________________________________^ [INFO] [stdout] 689 | | let (topic, user_limit) = match &payload.info { [INFO] [stdout] 690 | | CreateGuildChannelInfo::Text { topic } [INFO] [stdout] 691 | | | CreateGuildChannelInfo::Announcement { topic } => (topic.as_ref(), None), [INFO] [stdout] ... | [INFO] [stdout] 785 | | }) [INFO] [stdout] 786 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:802:35 [INFO] [stdout] | [INFO] [stdout] 185 | pub trait ChannelDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 802 | ) -> crate::Result { [INFO] [stdout] | ___________________________________^ [INFO] [stdout] 803 | | let kind = payload.channel_type(); [INFO] [stdout] 804 | | let (name, owner_id, recipient_ids) = match payload.clone() { [INFO] [stdout] 805 | | CreateDmChannelPayload::Dm { recipient_id } => { [INFO] [stdout] ... | [INFO] [stdout] 890 | | }) [INFO] [stdout] 891 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:802:35 [INFO] [stdout] | [INFO] [stdout] 802 | ) -> crate::Result { [INFO] [stdout] | ___________________________________^ [INFO] [stdout] 803 | | let kind = payload.channel_type(); [INFO] [stdout] 804 | | let (name, owner_id, recipient_ids) = match payload.clone() { [INFO] [stdout] 805 | | CreateDmChannelPayload::Dm { recipient_id } => { [INFO] [stdout] ... | [INFO] [stdout] 890 | | }) [INFO] [stdout] 891 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:907:44 [INFO] [stdout] | [INFO] [stdout] 185 | pub trait ChannelDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 907 | ) -> crate::Result<(Channel, Channel)> { [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 908 | | let mut channel = get_pool() [INFO] [stdout] 909 | | .fetch_channel(channel_id) [INFO] [stdout] 910 | | .await? [INFO] [stdout] ... | [INFO] [stdout] 991 | | Ok((old, channel)) [INFO] [stdout] 992 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:907:44 [INFO] [stdout] | [INFO] [stdout] 907 | ) -> crate::Result<(Channel, Channel)> { [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 908 | | let mut channel = get_pool() [INFO] [stdout] 909 | | .fetch_channel(channel_id) [INFO] [stdout] 910 | | .await? [INFO] [stdout] ... | [INFO] [stdout] 991 | | Ok((old, channel)) [INFO] [stdout] 992 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:1003:78 [INFO] [stdout] | [INFO] [stdout] 185 | pub trait ChannelDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 1003 | async fn delete_channel(&mut self, channel_id: u64) -> crate::Result<()> { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 1004 | | let ChannelInspection { [INFO] [stdout] 1005 | | guild_id, [INFO] [stdout] 1006 | | owner_id: _, [INFO] [stdout] ... | [INFO] [stdout] 1045 | | Ok(()) [INFO] [stdout] 1046 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:1003:78 [INFO] [stdout] | [INFO] [stdout] 1003 | async fn delete_channel(&mut self, channel_id: u64) -> crate::Result<()> { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 1004 | | let ChannelInspection { [INFO] [stdout] 1005 | | guild_id, [INFO] [stdout] 1006 | | owner_id: _, [INFO] [stdout] ... | [INFO] [stdout] 1045 | | Ok(()) [INFO] [stdout] 1046 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:1056:98 [INFO] [stdout] | [INFO] [stdout] 185 | pub trait ChannelDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 1056 | async fn ack(&mut self, user_id: u64, channel_id: u64, message_id: u64) -> crate::Result<()> { [INFO] [stdout] | __________________________________________________________________________________________________^ [INFO] [stdout] 1057 | | sqlx::query!( [INFO] [stdout] 1058 | | r"INSERT INTO channel_acks ( [INFO] [stdout] 1059 | | channel_id, user_id, last_message_id [INFO] [stdout] ... | [INFO] [stdout] 1071 | | Ok(()) [INFO] [stdout] 1072 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:1056:98 [INFO] [stdout] | [INFO] [stdout] 1056 | async fn ack(&mut self, user_id: u64, channel_id: u64, message_id: u64) -> crate::Result<()> { [INFO] [stdout] | __________________________________________________________________________________________________^ [INFO] [stdout] 1057 | | sqlx::query!( [INFO] [stdout] 1058 | | r"INSERT INTO channel_acks ( [INFO] [stdout] 1059 | | channel_id, user_id, last_message_id [INFO] [stdout] ... | [INFO] [stdout] 1071 | | Ok(()) [INFO] [stdout] 1072 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:1078:94 [INFO] [stdout] | [INFO] [stdout] 185 | pub trait ChannelDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 1078 | async fn fetch_last_message_ids(&self, user_id: u64) -> crate::Result> { [INFO] [stdout] | ______________________________________________________________________________________________^ [INFO] [stdout] 1079 | | Ok(sqlx::query!( [INFO] [stdout] 1080 | | r#"SELECT [INFO] [stdout] 1081 | | channel_id, [INFO] [stdout] ... | [INFO] [stdout] 1094 | | .collect()) [INFO] [stdout] 1095 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/channel.rs:1078:94 [INFO] [stdout] | [INFO] [stdout] 1078 | async fn fetch_last_message_ids(&self, user_id: u64) -> crate::Result> { [INFO] [stdout] | ______________________________________________________________________________________________^ [INFO] [stdout] 1079 | | Ok(sqlx::query!( [INFO] [stdout] 1080 | | r#"SELECT [INFO] [stdout] 1081 | | channel_id, [INFO] [stdout] ... | [INFO] [stdout] 1094 | | .collect()) [INFO] [stdout] 1095 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/emoji.rs:39:97 [INFO] [stdout] | [INFO] [stdout] 37 | pub trait EmojiDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] 38 | /// Fetch all custom emojis that belongs to `guild_id` [INFO] [stdout] 39 | async fn fetch_all_emojis_in_guild(&self, guild_id: u64) -> crate::Result> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 40 | | Ok( [INFO] [stdout] 41 | | sqlx::query!("SELECT * FROM emojis WHERE guild_id = $1", guild_id as i64) [INFO] [stdout] 42 | | .fetch_all(self.executor()) [INFO] [stdout] ... | [INFO] [stdout] 48 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/emoji.rs:39:97 [INFO] [stdout] | [INFO] [stdout] 39 | async fn fetch_all_emojis_in_guild(&self, guild_id: u64) -> crate::Result> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 40 | | Ok( [INFO] [stdout] 41 | | sqlx::query!("SELECT * FROM emojis WHERE guild_id = $1", guild_id as i64) [INFO] [stdout] 42 | | .fetch_all(self.executor()) [INFO] [stdout] ... | [INFO] [stdout] 48 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/emoji.rs:53:80 [INFO] [stdout] | [INFO] [stdout] 37 | pub trait EmojiDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 53 | async fn fetch_emoji(&self, id: u64) -> crate::Result> { [INFO] [stdout] | ________________________________________________________________________________^ [INFO] [stdout] 54 | | Ok( [INFO] [stdout] 55 | | sqlx::query!("SELECT * FROM emojis WHERE id = $1", id as i64) [INFO] [stdout] 56 | | .fetch_optional(self.executor()) [INFO] [stdout] ... | [INFO] [stdout] 60 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/emoji.rs:53:80 [INFO] [stdout] | [INFO] [stdout] 53 | async fn fetch_emoji(&self, id: u64) -> crate::Result> { [INFO] [stdout] | ________________________________________________________________________________^ [INFO] [stdout] 54 | | Ok( [INFO] [stdout] 55 | | sqlx::query!("SELECT * FROM emojis WHERE id = $1", id as i64) [INFO] [stdout] 56 | | .fetch_optional(self.executor()) [INFO] [stdout] ... | [INFO] [stdout] 60 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/emoji.rs:71:37 [INFO] [stdout] | [INFO] [stdout] 37 | pub trait EmojiDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 71 | ) -> crate::Result { [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 72 | | sqlx::query!( [INFO] [stdout] 73 | | "INSERT INTO emojis VALUES ($1, $2, $3, $4)", [INFO] [stdout] 74 | | id as i64, [INFO] [stdout] ... | [INFO] [stdout] 87 | | }) [INFO] [stdout] 88 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/emoji.rs:71:37 [INFO] [stdout] | [INFO] [stdout] 71 | ) -> crate::Result { [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 72 | | sqlx::query!( [INFO] [stdout] 73 | | "INSERT INTO emojis VALUES ($1, $2, $3, $4)", [INFO] [stdout] 74 | | id as i64, [INFO] [stdout] ... | [INFO] [stdout] 87 | | }) [INFO] [stdout] 88 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/emoji.rs:97:37 [INFO] [stdout] | [INFO] [stdout] 37 | pub trait EmojiDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 97 | ) -> crate::Result { [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 98 | | let r = sqlx::query!( [INFO] [stdout] 99 | | "UPDATE emojis SET name = $1 WHERE id = $2 RETURNING *", [INFO] [stdout] 100 | | name.as_ref(), [INFO] [stdout] ... | [INFO] [stdout] 106 | | Ok(construct_emoji!(r)) [INFO] [stdout] 107 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/emoji.rs:97:37 [INFO] [stdout] | [INFO] [stdout] 97 | ) -> crate::Result { [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 98 | | let r = sqlx::query!( [INFO] [stdout] 99 | | "UPDATE emojis SET name = $1 WHERE id = $2 RETURNING *", [INFO] [stdout] 100 | | name.as_ref(), [INFO] [stdout] ... | [INFO] [stdout] 106 | | Ok(construct_emoji!(r)) [INFO] [stdout] 107 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/emoji.rs:110:68 [INFO] [stdout] | [INFO] [stdout] 37 | pub trait EmojiDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 110 | async fn delete_emoji(&mut self, id: u64) -> crate::Result<()> { [INFO] [stdout] | ____________________________________________________________________^ [INFO] [stdout] 111 | | sqlx::query!("DELETE FROM emojis WHERE id = $1", id as i64) [INFO] [stdout] 112 | | .execute(self.transaction()) [INFO] [stdout] 113 | | .await?; [INFO] [stdout] 114 | | [INFO] [stdout] 115 | | Ok(()) [INFO] [stdout] 116 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/emoji.rs:110:68 [INFO] [stdout] | [INFO] [stdout] 110 | async fn delete_emoji(&mut self, id: u64) -> crate::Result<()> { [INFO] [stdout] | ____________________________________________________________________^ [INFO] [stdout] 111 | | sqlx::query!("DELETE FROM emojis WHERE id = $1", id as i64) [INFO] [stdout] 112 | | .execute(self.transaction()) [INFO] [stdout] 113 | | .await?; [INFO] [stdout] 114 | | [INFO] [stdout] 115 | | Ok(()) [INFO] [stdout] 116 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/emoji.rs:124:30 [INFO] [stdout] | [INFO] [stdout] 37 | pub trait EmojiDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 124 | ) -> crate::Result { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 125 | | let exists = sqlx::query!( [INFO] [stdout] 126 | | "SELECT EXISTS( [INFO] [stdout] 127 | | SELECT 1 FROM reactions [INFO] [stdout] ... | [INFO] [stdout] 144 | | Ok(exists) [INFO] [stdout] 145 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/emoji.rs:124:30 [INFO] [stdout] | [INFO] [stdout] 124 | ) -> crate::Result { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 125 | | let exists = sqlx::query!( [INFO] [stdout] 126 | | "SELECT EXISTS( [INFO] [stdout] 127 | | SELECT 1 FROM reactions [INFO] [stdout] ... | [INFO] [stdout] 144 | | Ok(exists) [INFO] [stdout] 145 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/emoji.rs:148:86 [INFO] [stdout] | [INFO] [stdout] 37 | pub trait EmojiDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 148 | async fn fetch_reactions(&self, message_id: u64) -> crate::Result> { [INFO] [stdout] | ______________________________________________________________________________________^ [INFO] [stdout] 149 | | let reactions = sqlx::query!( [INFO] [stdout] 150 | | r"SELECT [INFO] [stdout] 151 | | emoji_id, [INFO] [stdout] ... | [INFO] [stdout] 166 | | Ok(reactions) [INFO] [stdout] 167 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/emoji.rs:148:86 [INFO] [stdout] | [INFO] [stdout] 148 | async fn fetch_reactions(&self, message_id: u64) -> crate::Result> { [INFO] [stdout] | ______________________________________________________________________________________^ [INFO] [stdout] 149 | | let reactions = sqlx::query!( [INFO] [stdout] 150 | | r"SELECT [INFO] [stdout] 151 | | emoji_id, [INFO] [stdout] ... | [INFO] [stdout] 166 | | Ok(reactions) [INFO] [stdout] 167 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/emoji.rs:180:30 [INFO] [stdout] | [INFO] [stdout] 37 | pub trait EmojiDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 180 | ) -> crate::Result { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 181 | | if get_pool() [INFO] [stdout] 182 | | .reaction_exists(message_id, Some(user_id), emoji) [INFO] [stdout] 183 | | .await? [INFO] [stdout] ... | [INFO] [stdout] 198 | | Ok(true) [INFO] [stdout] 199 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/emoji.rs:180:30 [INFO] [stdout] | [INFO] [stdout] 180 | ) -> crate::Result { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 181 | | if get_pool() [INFO] [stdout] 182 | | .reaction_exists(message_id, Some(user_id), emoji) [INFO] [stdout] 183 | | .await? [INFO] [stdout] ... | [INFO] [stdout] 198 | | Ok(true) [INFO] [stdout] 199 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/emoji.rs:212:30 [INFO] [stdout] | [INFO] [stdout] 37 | pub trait EmojiDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 212 | ) -> crate::Result { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 213 | | let deleted = sqlx::query!( [INFO] [stdout] 214 | | "DELETE FROM reactions [INFO] [stdout] 215 | | WHERE [INFO] [stdout] ... | [INFO] [stdout] 228 | | Ok(deleted > 0) [INFO] [stdout] 229 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/emoji.rs:212:30 [INFO] [stdout] | [INFO] [stdout] 212 | ) -> crate::Result { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 213 | | let deleted = sqlx::query!( [INFO] [stdout] 214 | | "DELETE FROM reactions [INFO] [stdout] 215 | | WHERE [INFO] [stdout] ... | [INFO] [stdout] 228 | | Ok(deleted > 0) [INFO] [stdout] 229 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/emoji.rs:236:28 [INFO] [stdout] | [INFO] [stdout] 37 | pub trait EmojiDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 236 | ) -> crate::Result<()> { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 237 | | match emoji { [INFO] [stdout] 238 | | Some(emoji) => { [INFO] [stdout] 239 | | sqlx::query!( [INFO] [stdout] ... | [INFO] [stdout] 263 | | Ok(()) [INFO] [stdout] 264 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/emoji.rs:236:28 [INFO] [stdout] | [INFO] [stdout] 236 | ) -> crate::Result<()> { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 237 | | match emoji { [INFO] [stdout] 238 | | Some(emoji) => { [INFO] [stdout] 239 | | sqlx::query!( [INFO] [stdout] ... | [INFO] [stdout] 263 | | Ok(()) [INFO] [stdout] 264 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/guild.rs:40:60 [INFO] [stdout] | [INFO] [stdout] 38 | pub trait GuildDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] 39 | /// Builds a cache of all known guild IDs. [INFO] [stdout] 40 | async fn build_guild_cache(&self) -> crate::Result<()> { [INFO] [stdout] | ____________________________________________________________^ [INFO] [stdout] 41 | | let mut guild_ids = HashSet::new(); [INFO] [stdout] 42 | | [INFO] [stdout] 43 | | for guild_id in sqlx::query!("SELECT id FROM guilds") [INFO] [stdout] ... | [INFO] [stdout] 51 | | Ok(()) [INFO] [stdout] 52 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/guild.rs:40:60 [INFO] [stdout] | [INFO] [stdout] 40 | async fn build_guild_cache(&self) -> crate::Result<()> { [INFO] [stdout] | ____________________________________________________________^ [INFO] [stdout] 41 | | let mut guild_ids = HashSet::new(); [INFO] [stdout] 42 | | [INFO] [stdout] 43 | | for guild_id in sqlx::query!("SELECT id FROM guilds") [INFO] [stdout] ... | [INFO] [stdout] 51 | | Ok(()) [INFO] [stdout] 52 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/guild.rs:74:76 [INFO] [stdout] | [INFO] [stdout] 38 | pub trait GuildDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 74 | async fn build_member_cache(&self, guild_id: u64) -> crate::Result<()> { [INFO] [stdout] | ____________________________________________________________________________^ [INFO] [stdout] 75 | | let mut member_ids = HashSet::new(); [INFO] [stdout] 76 | | [INFO] [stdout] 77 | | for member_id in sqlx::query!( [INFO] [stdout] ... | [INFO] [stdout] 90 | | Ok(()) [INFO] [stdout] 91 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/guild.rs:74:76 [INFO] [stdout] | [INFO] [stdout] 74 | async fn build_member_cache(&self, guild_id: u64) -> crate::Result<()> { [INFO] [stdout] | ____________________________________________________________________________^ [INFO] [stdout] 75 | | let mut member_ids = HashSet::new(); [INFO] [stdout] 76 | | [INFO] [stdout] 77 | | for member_id in sqlx::query!( [INFO] [stdout] ... | [INFO] [stdout] 90 | | Ok(()) [INFO] [stdout] 91 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/guild.rs:157:88 [INFO] [stdout] | [INFO] [stdout] 38 | pub trait GuildDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 157 | async fn is_guild_owner(&self, guild_id: u64, user_id: u64) -> crate::Result { [INFO] [stdout] | ________________________________________________________________________________________^ [INFO] [stdout] 158 | | self.assert_guild_exists(guild_id).await?; [INFO] [stdout] 159 | | let cached_owner_id = cache::owner_of_guild(guild_id).await?; [INFO] [stdout] ... | [INFO] [stdout] 173 | | }) [INFO] [stdout] 174 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/guild.rs:157:88 [INFO] [stdout] | [INFO] [stdout] 157 | async fn is_guild_owner(&self, guild_id: u64, user_id: u64) -> crate::Result { [INFO] [stdout] | ________________________________________________________________________________________^ [INFO] [stdout] 158 | | self.assert_guild_exists(guild_id).await?; [INFO] [stdout] 159 | | let cached_owner_id = cache::owner_of_guild(guild_id).await?; [INFO] [stdout] ... | [INFO] [stdout] 173 | | }) [INFO] [stdout] 174 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/guild.rs:195:37 [INFO] [stdout] | [INFO] [stdout] 38 | pub trait GuildDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 195 | ) -> crate::Result { [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 196 | | self.assert_invoker_in_guild(guild_id, user_id).await?; [INFO] [stdout] 197 | | if self.is_guild_owner(guild_id, user_id).await? { [INFO] [stdout] 198 | | return Ok(Permissions::all()); [INFO] [stdout] ... | [INFO] [stdout] 219 | | )) [INFO] [stdout] 220 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/guild.rs:195:37 [INFO] [stdout] | [INFO] [stdout] 195 | ) -> crate::Result { [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 196 | | self.assert_invoker_in_guild(guild_id, user_id).await?; [INFO] [stdout] 197 | | if self.is_guild_owner(guild_id, user_id).await? { [INFO] [stdout] 198 | | return Ok(Permissions::all()); [INFO] [stdout] ... | [INFO] [stdout] 219 | | )) [INFO] [stdout] 220 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/guild.rs:293:94 [INFO] [stdout] | [INFO] [stdout] 38 | pub trait GuildDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 293 | async fn fetch_partial_guild(&self, guild_id: u64) -> sqlx::Result> { [INFO] [stdout] | ______________________________________________________________________________________________^ [INFO] [stdout] 294 | | let guild = sqlx::query!( [INFO] [stdout] 295 | | r#"SELECT [INFO] [stdout] 296 | | id, [INFO] [stdout] ... | [INFO] [stdout] 315 | | Ok(guild) [INFO] [stdout] 316 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/guild.rs:293:94 [INFO] [stdout] | [INFO] [stdout] 293 | async fn fetch_partial_guild(&self, guild_id: u64) -> sqlx::Result> { [INFO] [stdout] | ______________________________________________________________________________________________^ [INFO] [stdout] 294 | | let guild = sqlx::query!( [INFO] [stdout] 295 | | r#"SELECT [INFO] [stdout] 296 | | id, [INFO] [stdout] ... | [INFO] [stdout] 315 | | Ok(guild) [INFO] [stdout] 316 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/guild.rs:363:91 [INFO] [stdout] | [INFO] [stdout] 38 | pub trait GuildDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 363 | async fn fetch_all_guild_ids_for_user(&self, user_id: u64) -> crate::Result> { [INFO] [stdout] | ___________________________________________________________________________________________^ [INFO] [stdout] 364 | | let guild_ids = sqlx::query!("SELECT guild_id FROM members WHERE id = $1", user_id as i64) [INFO] [stdout] 365 | | .fetch_all(self.executor()) [INFO] [stdout] 366 | | .await? [INFO] [stdout] ... | [INFO] [stdout] 371 | | Ok(guild_ids) [INFO] [stdout] 372 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/guild.rs:363:91 [INFO] [stdout] | [INFO] [stdout] 363 | async fn fetch_all_guild_ids_for_user(&self, user_id: u64) -> crate::Result> { [INFO] [stdout] | ___________________________________________________________________________________________^ [INFO] [stdout] 364 | | let guild_ids = sqlx::query!("SELECT guild_id FROM members WHERE id = $1", user_id as i64) [INFO] [stdout] 365 | | .fetch_all(self.executor()) [INFO] [stdout] 366 | | .await? [INFO] [stdout] ... | [INFO] [stdout] 371 | | Ok(guild_ids) [INFO] [stdout] 372 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/guild.rs:375:75 [INFO] [stdout] | [INFO] [stdout] 38 | pub trait GuildDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 375 | async fn fetch_guild_count(&self, user_id: u64) -> crate::Result { [INFO] [stdout] | ___________________________________________________________________________^ [INFO] [stdout] 376 | | let guild_count = sqlx::query!( [INFO] [stdout] 377 | | r#"SELECT COUNT(*) AS "count!" FROM members WHERE id = $1"#, [INFO] [stdout] 378 | | user_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 384 | | Ok(guild_count) [INFO] [stdout] 385 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/guild.rs:375:75 [INFO] [stdout] | [INFO] [stdout] 375 | async fn fetch_guild_count(&self, user_id: u64) -> crate::Result { [INFO] [stdout] | ___________________________________________________________________________^ [INFO] [stdout] 376 | | let guild_count = sqlx::query!( [INFO] [stdout] 377 | | r#"SELECT COUNT(*) AS "count!" FROM members WHERE id = $1"#, [INFO] [stdout] 378 | | user_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 384 | | Ok(guild_count) [INFO] [stdout] 385 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/guild.rs:396:36 [INFO] [stdout] | [INFO] [stdout] 38 | pub trait GuildDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 396 | ) -> crate::Result> { [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 397 | | let mut guilds: HashMap = sqlx::query!( [INFO] [stdout] 398 | | r#"SELECT [INFO] [stdout] 399 | | guilds.*, [INFO] [stdout] ... | [INFO] [stdout] 539 | | Ok(guilds.into_values().collect()) [INFO] [stdout] 540 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/guild.rs:396:36 [INFO] [stdout] | [INFO] [stdout] 396 | ) -> crate::Result> { [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 397 | | let mut guilds: HashMap = sqlx::query!( [INFO] [stdout] 398 | | r#"SELECT [INFO] [stdout] 399 | | guilds.*, [INFO] [stdout] ... | [INFO] [stdout] 539 | | Ok(guilds.into_values().collect()) [INFO] [stdout] 540 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/guild.rs:562:31 [INFO] [stdout] | [INFO] [stdout] 38 | pub trait GuildDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 562 | ) -> crate::Result { [INFO] [stdout] | _______________________________^ [INFO] [stdout] 563 | | let flags = payload [INFO] [stdout] 564 | | .public [INFO] [stdout] 565 | | .then_some(GuildFlags::PUBLIC) [INFO] [stdout] ... | [INFO] [stdout] 679 | | }) [INFO] [stdout] 680 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/guild.rs:562:31 [INFO] [stdout] | [INFO] [stdout] 562 | ) -> crate::Result { [INFO] [stdout] | _______________________________^ [INFO] [stdout] 563 | | let flags = payload [INFO] [stdout] 564 | | .public [INFO] [stdout] 565 | | .then_some(GuildFlags::PUBLIC) [INFO] [stdout] ... | [INFO] [stdout] 679 | | }) [INFO] [stdout] 680 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/guild.rs:697:54 [INFO] [stdout] | [INFO] [stdout] 38 | pub trait GuildDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 697 | ) -> crate::Result<(PartialGuild, PartialGuild)> { [INFO] [stdout] | ______________________________________________________^ [INFO] [stdout] 698 | | let old = get_pool() [INFO] [stdout] 699 | | .fetch_partial_guild(guild_id) [INFO] [stdout] 700 | | .await? [INFO] [stdout] ... | [INFO] [stdout] 738 | | Ok((old, guild)) [INFO] [stdout] 739 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/guild.rs:697:54 [INFO] [stdout] | [INFO] [stdout] 697 | ) -> crate::Result<(PartialGuild, PartialGuild)> { [INFO] [stdout] | ______________________________________________________^ [INFO] [stdout] 698 | | let old = get_pool() [INFO] [stdout] 699 | | .fetch_partial_guild(guild_id) [INFO] [stdout] 700 | | .await? [INFO] [stdout] ... | [INFO] [stdout] 738 | | Ok((old, guild)) [INFO] [stdout] 739 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/guild.rs:750:74 [INFO] [stdout] | [INFO] [stdout] 38 | pub trait GuildDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 750 | async fn delete_guild(&mut self, guild_id: u64) -> crate::Result<()> { [INFO] [stdout] | __________________________________________________________________________^ [INFO] [stdout] 751 | | sqlx::query!("DELETE FROM guilds WHERE id = $1", guild_id as i64) [INFO] [stdout] 752 | | .execute(self.transaction()) [INFO] [stdout] 753 | | .await?; [INFO] [stdout] ... | [INFO] [stdout] 756 | | Ok(()) [INFO] [stdout] 757 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/guild.rs:750:74 [INFO] [stdout] | [INFO] [stdout] 750 | async fn delete_guild(&mut self, guild_id: u64) -> crate::Result<()> { [INFO] [stdout] | __________________________________________________________________________^ [INFO] [stdout] 751 | | sqlx::query!("DELETE FROM guilds WHERE id = $1", guild_id as i64) [INFO] [stdout] 752 | | .execute(self.transaction()) [INFO] [stdout] 753 | | .await?; [INFO] [stdout] ... | [INFO] [stdout] 756 | | Ok(()) [INFO] [stdout] 757 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/invite.rs:31:96 [INFO] [stdout] | [INFO] [stdout] 24 | pub trait InviteDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 31 | async fn fetch_invite(&self, code: impl AsRef + Send) -> sqlx::Result> { [INFO] [stdout] | ________________________________________________________________________________________________^ [INFO] [stdout] 32 | | let Some(i) = sqlx::query!( [INFO] [stdout] 33 | | r#"SELECT * FROM invites [INFO] [stdout] 34 | | WHERE [INFO] [stdout] ... | [INFO] [stdout] 49 | | ))) [INFO] [stdout] 50 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/invite.rs:31:96 [INFO] [stdout] | [INFO] [stdout] 31 | async fn fetch_invite(&self, code: impl AsRef + Send) -> sqlx::Result> { [INFO] [stdout] | ________________________________________________________________________________________________^ [INFO] [stdout] 32 | | let Some(i) = sqlx::query!( [INFO] [stdout] 33 | | r#"SELECT * FROM invites [INFO] [stdout] 34 | | WHERE [INFO] [stdout] ... | [INFO] [stdout] 49 | | ))) [INFO] [stdout] 50 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/invite.rs:57:93 [INFO] [stdout] | [INFO] [stdout] 24 | pub trait InviteDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 57 | async fn fetch_all_invites_in_guild(&self, guild_id: u64) -> crate::Result> { [INFO] [stdout] | _____________________________________________________________________________________________^ [INFO] [stdout] 58 | | let invites = sqlx::query!( [INFO] [stdout] 59 | | r#"SELECT * FROM invites [INFO] [stdout] 60 | | WHERE [INFO] [stdout] ... | [INFO] [stdout] 72 | | Ok(invites) [INFO] [stdout] 73 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/invite.rs:57:93 [INFO] [stdout] | [INFO] [stdout] 57 | async fn fetch_all_invites_in_guild(&self, guild_id: u64) -> crate::Result> { [INFO] [stdout] | _____________________________________________________________________________________________^ [INFO] [stdout] 58 | | let invites = sqlx::query!( [INFO] [stdout] 59 | | r#"SELECT * FROM invites [INFO] [stdout] 60 | | WHERE [INFO] [stdout] ... | [INFO] [stdout] 72 | | Ok(invites) [INFO] [stdout] 73 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/invite.rs:89:50 [INFO] [stdout] | [INFO] [stdout] 24 | pub trait InviteDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 89 | ) -> crate::Result<(Invite, Option)> { [INFO] [stdout] | __________________________________________________^ [INFO] [stdout] 90 | | let code = code.as_ref(); [INFO] [stdout] 91 | | let invite = sqlx::query!( [INFO] [stdout] 92 | | r#"UPDATE invites [INFO] [stdout] ... | [INFO] [stdout] 115 | | )) [INFO] [stdout] 116 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/invite.rs:89:50 [INFO] [stdout] | [INFO] [stdout] 89 | ) -> crate::Result<(Invite, Option)> { [INFO] [stdout] | __________________________________________________^ [INFO] [stdout] 90 | | let code = code.as_ref(); [INFO] [stdout] 91 | | let invite = sqlx::query!( [INFO] [stdout] 92 | | r#"UPDATE invites [INFO] [stdout] ... | [INFO] [stdout] 115 | | )) [INFO] [stdout] 116 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/invite.rs:133:32 [INFO] [stdout] | [INFO] [stdout] 24 | pub trait InviteDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 133 | ) -> crate::Result { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 134 | | let created_at = sqlx::query!( [INFO] [stdout] 135 | | r#"INSERT INTO invites [INFO] [stdout] 136 | | (code, inviter_id, guild_id, max_uses, max_age) [INFO] [stdout] ... | [INFO] [stdout] 166 | | }) [INFO] [stdout] 167 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/invite.rs:133:32 [INFO] [stdout] | [INFO] [stdout] 133 | ) -> crate::Result { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 134 | | let created_at = sqlx::query!( [INFO] [stdout] 135 | | r#"INSERT INTO invites [INFO] [stdout] 136 | | (code, inviter_id, guild_id, max_uses, max_age) [INFO] [stdout] ... | [INFO] [stdout] 166 | | }) [INFO] [stdout] 167 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/invite.rs:178:90 [INFO] [stdout] | [INFO] [stdout] 24 | pub trait InviteDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 178 | async fn delete_invite(&mut self, code: impl AsRef + Send) -> crate::Result<()> { [INFO] [stdout] | __________________________________________________________________________________________^ [INFO] [stdout] 179 | | sqlx::query!(r#"DELETE FROM invites WHERE code = $1"#, code.as_ref()) [INFO] [stdout] 180 | | .execute(self.transaction()) [INFO] [stdout] 181 | | .await?; [INFO] [stdout] 182 | | [INFO] [stdout] 183 | | Ok(()) [INFO] [stdout] 184 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/invite.rs:178:90 [INFO] [stdout] | [INFO] [stdout] 178 | async fn delete_invite(&mut self, code: impl AsRef + Send) -> crate::Result<()> { [INFO] [stdout] | __________________________________________________________________________________________^ [INFO] [stdout] 179 | | sqlx::query!(r#"DELETE FROM invites WHERE code = $1"#, code.as_ref()) [INFO] [stdout] 180 | | .execute(self.transaction()) [INFO] [stdout] 181 | | .await?; [INFO] [stdout] 182 | | [INFO] [stdout] 183 | | Ok(()) [INFO] [stdout] 184 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/invite.rs:195:89 [INFO] [stdout] | [INFO] [stdout] 24 | pub trait InviteDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 195 | async fn delete_all_invites_in_guild(&mut self, guild_id: u64) -> crate::Result<()> { [INFO] [stdout] | _________________________________________________________________________________________^ [INFO] [stdout] 196 | | sqlx::query!( [INFO] [stdout] 197 | | r#"DELETE FROM invites WHERE guild_id = $1"#, [INFO] [stdout] 198 | | guild_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 203 | | Ok(()) [INFO] [stdout] 204 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/invite.rs:195:89 [INFO] [stdout] | [INFO] [stdout] 195 | async fn delete_all_invites_in_guild(&mut self, guild_id: u64) -> crate::Result<()> { [INFO] [stdout] | _________________________________________________________________________________________^ [INFO] [stdout] 196 | | sqlx::query!( [INFO] [stdout] 197 | | r#"DELETE FROM invites WHERE guild_id = $1"#, [INFO] [stdout] 198 | | guild_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 203 | | Ok(()) [INFO] [stdout] 204 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/member.rs:68:39 [INFO] [stdout] | [INFO] [stdout] 58 | pub trait MemberDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 68 | ) -> sqlx::Result> { [INFO] [stdout] | _______________________________________^ [INFO] [stdout] 69 | | let roles = sqlx::query!( [INFO] [stdout] 70 | | "SELECT role_id FROM role_data WHERE guild_id = $1 AND user_id = $2", [INFO] [stdout] 71 | | guild_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 89 | | Ok(member) [INFO] [stdout] 90 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/member.rs:68:39 [INFO] [stdout] | [INFO] [stdout] 68 | ) -> sqlx::Result> { [INFO] [stdout] | _______________________________________^ [INFO] [stdout] 69 | | let roles = sqlx::query!( [INFO] [stdout] 70 | | "SELECT role_id FROM role_data WHERE guild_id = $1 AND user_id = $2", [INFO] [stdout] 71 | | guild_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 89 | | Ok(member) [INFO] [stdout] 90 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/member.rs:98:92 [INFO] [stdout] | [INFO] [stdout] 58 | pub trait MemberDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 98 | async fn fetch_all_members_in_guild(&self, guild_id: u64) -> sqlx::Result> { [INFO] [stdout] | ____________________________________________________________________________________________^ [INFO] [stdout] 99 | | let roles = sqlx::query!( [INFO] [stdout] 100 | | "SELECT user_id, role_id FROM role_data WHERE guild_id = $1", [INFO] [stdout] 101 | | guild_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 122 | | Ok(members) [INFO] [stdout] 123 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/member.rs:98:92 [INFO] [stdout] | [INFO] [stdout] 98 | async fn fetch_all_members_in_guild(&self, guild_id: u64) -> sqlx::Result> { [INFO] [stdout] | ____________________________________________________________________________________________^ [INFO] [stdout] 99 | | let roles = sqlx::query!( [INFO] [stdout] 100 | | "SELECT user_id, role_id FROM role_data WHERE guild_id = $1", [INFO] [stdout] 101 | | guild_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 122 | | Ok(members) [INFO] [stdout] 123 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/member.rs:142:42 [INFO] [stdout] | [INFO] [stdout] 58 | pub trait MemberDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 142 | ) -> crate::Result<(Member, Member)> { [INFO] [stdout] | __________________________________________^ [INFO] [stdout] 143 | | let mut member = get_pool() [INFO] [stdout] 144 | | .fetch_member_by_id(guild_id, user_id) [INFO] [stdout] 145 | | .await? [INFO] [stdout] ... | [INFO] [stdout] 207 | | Ok((old, member)) [INFO] [stdout] 208 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/member.rs:142:42 [INFO] [stdout] | [INFO] [stdout] 142 | ) -> crate::Result<(Member, Member)> { [INFO] [stdout] | __________________________________________^ [INFO] [stdout] 143 | | let mut member = get_pool() [INFO] [stdout] 144 | | .fetch_member_by_id(guild_id, user_id) [INFO] [stdout] 145 | | .await? [INFO] [stdout] ... | [INFO] [stdout] 207 | | Ok((old, member)) [INFO] [stdout] 208 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/member.rs:252:40 [INFO] [stdout] | [INFO] [stdout] 58 | pub trait MemberDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 252 | ) -> crate::Result> { [INFO] [stdout] | ________________________________________^ [INFO] [stdout] 253 | | let user = get_pool().fetch_user_by_id(user_id).await?.map_or( [INFO] [stdout] 254 | | MaybePartialUser::Partial { id: user_id }, [INFO] [stdout] 255 | | MaybePartialUser::Full, [INFO] [stdout] ... | [INFO] [stdout] 277 | | Ok(member) [INFO] [stdout] 278 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/member.rs:252:40 [INFO] [stdout] | [INFO] [stdout] 252 | ) -> crate::Result> { [INFO] [stdout] | ________________________________________^ [INFO] [stdout] 253 | | let user = get_pool().fetch_user_by_id(user_id).await?.map_or( [INFO] [stdout] 254 | | MaybePartialUser::Partial { id: user_id }, [INFO] [stdout] 255 | | MaybePartialUser::Full, [INFO] [stdout] ... | [INFO] [stdout] 277 | | Ok(member) [INFO] [stdout] 278 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/member.rs:288:89 [INFO] [stdout] | [INFO] [stdout] 58 | pub trait MemberDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 288 | async fn delete_member(&mut self, guild_id: u64, user_id: u64) -> crate::Result<()> { [INFO] [stdout] | _________________________________________________________________________________________^ [INFO] [stdout] 289 | | sqlx::query!( [INFO] [stdout] 290 | | "DELETE FROM members WHERE guild_id = $1 AND id = $2", [INFO] [stdout] 291 | | guild_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 298 | | Ok(()) [INFO] [stdout] 299 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/member.rs:288:89 [INFO] [stdout] | [INFO] [stdout] 288 | async fn delete_member(&mut self, guild_id: u64, user_id: u64) -> crate::Result<()> { [INFO] [stdout] | _________________________________________________________________________________________^ [INFO] [stdout] 289 | | sqlx::query!( [INFO] [stdout] 290 | | "DELETE FROM members WHERE guild_id = $1 AND id = $2", [INFO] [stdout] 291 | | guild_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 298 | | Ok(()) [INFO] [stdout] 299 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/message.rs:59:92 [INFO] [stdout] | [INFO] [stdout] 54 | pub trait MessageDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 59 | async fn inspect_message(&self, message_id: u64) -> crate::Result>> { [INFO] [stdout] | ____________________________________________________________________________________________^ [INFO] [stdout] 60 | | let data = sqlx::query!( [INFO] [stdout] 61 | | "SELECT author_id FROM messages WHERE id = $1", [INFO] [stdout] 62 | | message_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 68 | | Ok(data) [INFO] [stdout] 69 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/message.rs:59:92 [INFO] [stdout] | [INFO] [stdout] 59 | async fn inspect_message(&self, message_id: u64) -> crate::Result>> { [INFO] [stdout] | ____________________________________________________________________________________________^ [INFO] [stdout] 60 | | let data = sqlx::query!( [INFO] [stdout] 61 | | "SELECT author_id FROM messages WHERE id = $1", [INFO] [stdout] 62 | | message_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 68 | | Ok(data) [INFO] [stdout] 69 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/message.rs:77:98 [INFO] [stdout] | [INFO] [stdout] 54 | pub trait MessageDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 77 | async fn fetch_message_attachments(&self, message_id: u64) -> crate::Result> { [INFO] [stdout] | __________________________________________________________________________________________________^ [INFO] [stdout] 78 | | Ok(sqlx::query!( [INFO] [stdout] 79 | | r"SELECT * FROM attachments WHERE message_id = $1", [INFO] [stdout] 80 | | message_id as i64 [INFO] [stdout] ... | [INFO] [stdout] 91 | | .collect()) [INFO] [stdout] 92 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/message.rs:77:98 [INFO] [stdout] | [INFO] [stdout] 77 | async fn fetch_message_attachments(&self, message_id: u64) -> crate::Result> { [INFO] [stdout] | __________________________________________________________________________________________________^ [INFO] [stdout] 78 | | Ok(sqlx::query!( [INFO] [stdout] 79 | | r"SELECT * FROM attachments WHERE message_id = $1", [INFO] [stdout] 80 | | message_id as i64 [INFO] [stdout] ... | [INFO] [stdout] 91 | | .collect()) [INFO] [stdout] 92 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/message.rs:103:47 [INFO] [stdout] | [INFO] [stdout] 54 | pub trait MessageDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 103 | ) -> crate::Result> { [INFO] [stdout] | _______________________________________________^ [INFO] [stdout] 104 | | Ok(sqlx::query!( [INFO] [stdout] 105 | | "SELECT * FROM message_references WHERE target_id = $1", [INFO] [stdout] 106 | | message_id as i64 [INFO] [stdout] ... | [INFO] [stdout] 117 | | .collect()) [INFO] [stdout] 118 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/message.rs:103:47 [INFO] [stdout] | [INFO] [stdout] 103 | ) -> crate::Result> { [INFO] [stdout] | _______________________________________________^ [INFO] [stdout] 104 | | Ok(sqlx::query!( [INFO] [stdout] 105 | | "SELECT * FROM message_references WHERE target_id = $1", [INFO] [stdout] 106 | | message_id as i64 [INFO] [stdout] ... | [INFO] [stdout] 117 | | .collect()) [INFO] [stdout] 118 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/message.rs:131:41 [INFO] [stdout] | [INFO] [stdout] 54 | pub trait MessageDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 131 | ) -> crate::Result> { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 132 | | let mut message = sqlx::query!( [INFO] [stdout] 133 | | r#"SELECT [INFO] [stdout] 134 | | messages.*, [INFO] [stdout] ... | [INFO] [stdout] 155 | | Ok(message) [INFO] [stdout] 156 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/message.rs:131:41 [INFO] [stdout] | [INFO] [stdout] 131 | ) -> crate::Result> { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 132 | | let mut message = sqlx::query!( [INFO] [stdout] 133 | | r#"SELECT [INFO] [stdout] 134 | | messages.*, [INFO] [stdout] ... | [INFO] [stdout] 155 | | Ok(message) [INFO] [stdout] 156 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/message.rs:158:86 [INFO] [stdout] | [INFO] [stdout] 54 | pub trait MessageDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 158 | async fn populate_messages(&self, messages: &mut [Message]) -> crate::Result<()> { [INFO] [stdout] | ______________________________________________________________________________________^ [INFO] [stdout] 159 | | let ids = messages.iter().map(|m| m.id as i64).collect_vec(); [INFO] [stdout] 160 | | [INFO] [stdout] 161 | | let mut attachments = sqlx::query!( [INFO] [stdout] ... | [INFO] [stdout] 231 | | Ok(()) [INFO] [stdout] 232 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/message.rs:158:86 [INFO] [stdout] | [INFO] [stdout] 158 | async fn populate_messages(&self, messages: &mut [Message]) -> crate::Result<()> { [INFO] [stdout] | ______________________________________________________________________________________^ [INFO] [stdout] 159 | | let ids = messages.iter().map(|m| m.id as i64).collect_vec(); [INFO] [stdout] 160 | | [INFO] [stdout] 161 | | let mut attachments = sqlx::query!( [INFO] [stdout] ... | [INFO] [stdout] 231 | | Ok(()) [INFO] [stdout] 232 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/message.rs:242:38 [INFO] [stdout] | [INFO] [stdout] 54 | pub trait MessageDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 242 | ) -> crate::Result> { [INFO] [stdout] | ______________________________________^ [INFO] [stdout] 243 | | macro_rules! fetch_messages { [INFO] [stdout] 244 | | ($direction:literal) => {{ [INFO] [stdout] 245 | | sqlx::query!( [INFO] [stdout] ... | [INFO] [stdout] 282 | | Ok(messages) [INFO] [stdout] 283 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/message.rs:242:38 [INFO] [stdout] | [INFO] [stdout] 242 | ) -> crate::Result> { [INFO] [stdout] | ______________________________________^ [INFO] [stdout] 243 | | macro_rules! fetch_messages { [INFO] [stdout] 244 | | ($direction:literal) => {{ [INFO] [stdout] 245 | | sqlx::query!( [INFO] [stdout] ... | [INFO] [stdout] 282 | | Ok(messages) [INFO] [stdout] 283 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/message.rs:297:38 [INFO] [stdout] | [INFO] [stdout] 54 | pub trait MessageDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 297 | ) -> crate::Result> { [INFO] [stdout] | ______________________________________^ [INFO] [stdout] 298 | | let message_ids = message_ids.iter().map(|id| *id as i64).collect_vec(); [INFO] [stdout] 299 | | let mut messages = sqlx::query!( [INFO] [stdout] 300 | | r#"SELECT [INFO] [stdout] ... | [INFO] [stdout] 322 | | Ok(messages) [INFO] [stdout] 323 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/message.rs:297:38 [INFO] [stdout] | [INFO] [stdout] 297 | ) -> crate::Result> { [INFO] [stdout] | ______________________________________^ [INFO] [stdout] 298 | | let message_ids = message_ids.iter().map(|id| *id as i64).collect_vec(); [INFO] [stdout] 299 | | let mut messages = sqlx::query!( [INFO] [stdout] 300 | | r#"SELECT [INFO] [stdout] ... | [INFO] [stdout] 322 | | Ok(messages) [INFO] [stdout] 323 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/message.rs:339:33 [INFO] [stdout] | [INFO] [stdout] 54 | pub trait MessageDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 339 | ) -> crate::Result { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 340 | | let embeds = [INFO] [stdout] 341 | | serde_json::to_value(payload.embeds.clone()).map_err(|err| Error::InternalError { [INFO] [stdout] 342 | | what: Some("embed serialization".to_string()), [INFO] [stdout] ... | [INFO] [stdout] 397 | | }) [INFO] [stdout] 398 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/message.rs:339:33 [INFO] [stdout] | [INFO] [stdout] 339 | ) -> crate::Result { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 340 | | let embeds = [INFO] [stdout] 341 | | serde_json::to_value(payload.embeds.clone()).map_err(|err| Error::InternalError { [INFO] [stdout] 342 | | what: Some("embed serialization".to_string()), [INFO] [stdout] ... | [INFO] [stdout] 397 | | }) [INFO] [stdout] 398 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/message.rs:408:28 [INFO] [stdout] | [INFO] [stdout] 54 | pub trait MessageDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 408 | ) -> crate::Result<()> { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 409 | | sqlx::query!( [INFO] [stdout] 410 | | "INSERT INTO attachments VALUES ($1, $2, $3, $4, $5)", [INFO] [stdout] 411 | | attachment.id, [INFO] [stdout] ... | [INFO] [stdout] 420 | | Ok(()) [INFO] [stdout] 421 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/message.rs:408:28 [INFO] [stdout] | [INFO] [stdout] 408 | ) -> crate::Result<()> { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 409 | | sqlx::query!( [INFO] [stdout] 410 | | "INSERT INTO attachments VALUES ($1, $2, $3, $4, $5)", [INFO] [stdout] 411 | | attachment.id, [INFO] [stdout] ... | [INFO] [stdout] 420 | | Ok(()) [INFO] [stdout] 421 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/message.rs:436:33 [INFO] [stdout] | [INFO] [stdout] 54 | pub trait MessageDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 436 | ) -> crate::Result { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 437 | | // SAFETY: mem::zeroed is Option::None [INFO] [stdout] 438 | | let (mut md_target_id, mut md_pinned_by, mut md_pinned_message_id) = [INFO] [stdout] 439 | | unsafe { std::mem::zeroed() }; [INFO] [stdout] ... | [INFO] [stdout] 490 | | }) [INFO] [stdout] 491 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/message.rs:436:33 [INFO] [stdout] | [INFO] [stdout] 436 | ) -> crate::Result { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 437 | | // SAFETY: mem::zeroed is Option::None [INFO] [stdout] 438 | | let (mut md_target_id, mut md_pinned_by, mut md_pinned_message_id) = [INFO] [stdout] 439 | | unsafe { std::mem::zeroed() }; [INFO] [stdout] ... | [INFO] [stdout] 490 | | }) [INFO] [stdout] 491 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/message.rs:507:38 [INFO] [stdout] | [INFO] [stdout] 54 | pub trait MessageDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 507 | ) -> crate::Result { [INFO] [stdout] | ______________________________________^ [INFO] [stdout] 508 | | let message = sqlx::query!( [INFO] [stdout] 509 | | r"UPDATE messages SET flags = flags | $1::INT & ~$2::INT [INFO] [stdout] 510 | | WHERE id = $3 AND channel_id = $4 [INFO] [stdout] ... | [INFO] [stdout] 521 | | Ok(MessageFlags::from_bits_truncate(message.flags as _)) [INFO] [stdout] 522 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/message.rs:507:38 [INFO] [stdout] | [INFO] [stdout] 507 | ) -> crate::Result { [INFO] [stdout] | ______________________________________^ [INFO] [stdout] 508 | | let message = sqlx::query!( [INFO] [stdout] 509 | | r"UPDATE messages SET flags = flags | $1::INT & ~$2::INT [INFO] [stdout] 510 | | WHERE id = $3 AND channel_id = $4 [INFO] [stdout] ... | [INFO] [stdout] 521 | | Ok(MessageFlags::from_bits_truncate(message.flags as _)) [INFO] [stdout] 522 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/message.rs:542:44 [INFO] [stdout] | [INFO] [stdout] 54 | pub trait MessageDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 542 | ) -> crate::Result<(Message, Message)> { [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 543 | | let old = get_pool() [INFO] [stdout] 544 | | .fetch_message(channel_id, message_id) [INFO] [stdout] 545 | | .await? [INFO] [stdout] ... | [INFO] [stdout] 591 | | Ok((old, construct_message!(new))) [INFO] [stdout] 592 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/message.rs:542:44 [INFO] [stdout] | [INFO] [stdout] 542 | ) -> crate::Result<(Message, Message)> { [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 543 | | let old = get_pool() [INFO] [stdout] 544 | | .fetch_message(channel_id, message_id) [INFO] [stdout] 545 | | .await? [INFO] [stdout] ... | [INFO] [stdout] 591 | | Ok((old, construct_message!(new))) [INFO] [stdout] 592 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/message.rs:602:91 [INFO] [stdout] | [INFO] [stdout] 54 | pub trait MessageDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 602 | async fn delete_message(&self, channel_id: u64, message_id: u64) -> crate::Result<()> { [INFO] [stdout] | ___________________________________________________________________________________________^ [INFO] [stdout] 603 | | sqlx::query!( [INFO] [stdout] 604 | | "DELETE FROM messages WHERE id = $1 AND channel_id = $2", [INFO] [stdout] 605 | | message_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 611 | | Ok(()) [INFO] [stdout] 612 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/message.rs:602:91 [INFO] [stdout] | [INFO] [stdout] 602 | async fn delete_message(&self, channel_id: u64, message_id: u64) -> crate::Result<()> { [INFO] [stdout] | ___________________________________________________________________________________________^ [INFO] [stdout] 603 | | sqlx::query!( [INFO] [stdout] 604 | | "DELETE FROM messages WHERE id = $1 AND channel_id = $2", [INFO] [stdout] 605 | | message_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 611 | | Ok(()) [INFO] [stdout] 612 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/message.rs:628:28 [INFO] [stdout] | [INFO] [stdout] 54 | pub trait MessageDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 628 | ) -> crate::Result<()> { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 629 | | let message_ids = message_ids.iter().map(|id| *id as i64).collect_vec(); [INFO] [stdout] 630 | | sqlx::query!( [INFO] [stdout] 631 | | "DELETE FROM messages WHERE id = ANY($1::BIGINT[]) AND ($2::BIGINT IS NULL OR channel_id = $2)", [INFO] [stdout] ... | [INFO] [stdout] 638 | | Ok(()) [INFO] [stdout] 639 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/message.rs:628:28 [INFO] [stdout] | [INFO] [stdout] 628 | ) -> crate::Result<()> { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 629 | | let message_ids = message_ids.iter().map(|id| *id as i64).collect_vec(); [INFO] [stdout] 630 | | sqlx::query!( [INFO] [stdout] 631 | | "DELETE FROM messages WHERE id = ANY($1::BIGINT[]) AND ($2::BIGINT IS NULL OR channel_id = $2)", [INFO] [stdout] ... | [INFO] [stdout] 638 | | Ok(()) [INFO] [stdout] 639 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/message.rs:676:48 [INFO] [stdout] | [INFO] [stdout] 54 | pub trait MessageDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 676 | ) -> crate::Result>> { [INFO] [stdout] | ________________________________________________^ [INFO] [stdout] 677 | | let channel_ids = self [INFO] [stdout] 678 | | .fetch_observable_channel_ids(user_id, guilds) [INFO] [stdout] 679 | | .await? [INFO] [stdout] ... | [INFO] [stdout] 711 | | Ok(res) [INFO] [stdout] 712 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/message.rs:676:48 [INFO] [stdout] | [INFO] [stdout] 676 | ) -> crate::Result>> { [INFO] [stdout] | ________________________________________________^ [INFO] [stdout] 677 | | let channel_ids = self [INFO] [stdout] 678 | | .fetch_observable_channel_ids(user_id, guilds) [INFO] [stdout] 679 | | .await? [INFO] [stdout] ... | [INFO] [stdout] 711 | | Ok(res) [INFO] [stdout] 712 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/role.rs:75:91 [INFO] [stdout] | [INFO] [stdout] 73 | pub trait RoleDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] 74 | /// Asserts the role exists and returns the position of the role. [INFO] [stdout] 75 | async fn assert_role_exists(&self, guild_id: u64, role_id: u64) -> crate::Result { [INFO] [stdout] | ___________________________________________________________________________________________^ [INFO] [stdout] 76 | | self.assert_guild_exists(guild_id).await?; [INFO] [stdout] 77 | | [INFO] [stdout] 78 | | let role = sqlx::query!( [INFO] [stdout] ... | [INFO] [stdout] 95 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/role.rs:75:91 [INFO] [stdout] | [INFO] [stdout] 75 | async fn assert_role_exists(&self, guild_id: u64, role_id: u64) -> crate::Result { [INFO] [stdout] | ___________________________________________________________________________________________^ [INFO] [stdout] 76 | | self.assert_guild_exists(guild_id).await?; [INFO] [stdout] 77 | | [INFO] [stdout] 78 | | let role = sqlx::query!( [INFO] [stdout] ... | [INFO] [stdout] 95 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/role.rs:97:94 [INFO] [stdout] | [INFO] [stdout] 73 | pub trait RoleDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 97 | async fn fetch_top_role(&self, guild_id: u64, user_id: u64) -> crate::Result<(u64, u16)> { [INFO] [stdout] | ______________________________________________________________________________________________^ [INFO] [stdout] 98 | | self.assert_guild_exists(guild_id).await?; [INFO] [stdout] 99 | | [INFO] [stdout] 100 | | let role = sqlx::query!( [INFO] [stdout] ... | [INFO] [stdout] 125 | | Ok(info) [INFO] [stdout] 126 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/role.rs:97:94 [INFO] [stdout] | [INFO] [stdout] 97 | async fn fetch_top_role(&self, guild_id: u64, user_id: u64) -> crate::Result<(u64, u16)> { [INFO] [stdout] | ______________________________________________________________________________________________^ [INFO] [stdout] 98 | | self.assert_guild_exists(guild_id).await?; [INFO] [stdout] 99 | | [INFO] [stdout] 100 | | let role = sqlx::query!( [INFO] [stdout] ... | [INFO] [stdout] 125 | | Ok(info) [INFO] [stdout] 126 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/role.rs:183:98 [INFO] [stdout] | [INFO] [stdout] 73 | pub trait RoleDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 183 | async fn assert_role_is_not_managed(&self, guild_id: u64, role_id: u64) -> crate::Result<()> { [INFO] [stdout] | __________________________________________________________________________________________________^ [INFO] [stdout] 184 | | let is_managed = sqlx::query!( [INFO] [stdout] 185 | | "SELECT flags FROM roles WHERE guild_id = $1 AND id = $2", [INFO] [stdout] 186 | | guild_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 203 | | Ok(()) [INFO] [stdout] 204 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/role.rs:183:98 [INFO] [stdout] | [INFO] [stdout] 183 | async fn assert_role_is_not_managed(&self, guild_id: u64, role_id: u64) -> crate::Result<()> { [INFO] [stdout] | __________________________________________________________________________________________________^ [INFO] [stdout] 184 | | let is_managed = sqlx::query!( [INFO] [stdout] 185 | | "SELECT flags FROM roles WHERE guild_id = $1 AND id = $2", [INFO] [stdout] 186 | | guild_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 203 | | Ok(()) [INFO] [stdout] 204 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/role.rs:215:29 [INFO] [stdout] | [INFO] [stdout] 73 | pub trait RoleDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 215 | ) -> crate::Result { [INFO] [stdout] | _____________________________^ [INFO] [stdout] 216 | | sqlx::query!( [INFO] [stdout] 217 | | r#"SELECT [INFO] [stdout] 218 | | position [INFO] [stdout] ... | [INFO] [stdout] 234 | | .map_or(Ok(0), |row| Ok(row.position as u16)) [INFO] [stdout] 235 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/role.rs:215:29 [INFO] [stdout] | [INFO] [stdout] 215 | ) -> crate::Result { [INFO] [stdout] | _____________________________^ [INFO] [stdout] 216 | | sqlx::query!( [INFO] [stdout] 217 | | r#"SELECT [INFO] [stdout] 218 | | position [INFO] [stdout] ... | [INFO] [stdout] 234 | | .map_or(Ok(0), |row| Ok(row.position as u16)) [INFO] [stdout] 235 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/role.rs:242:91 [INFO] [stdout] | [INFO] [stdout] 73 | pub trait RoleDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 242 | async fn fetch_role(&self, guild_id: u64, role_id: u64) -> sqlx::Result> { [INFO] [stdout] | ___________________________________________________________________________________________^ [INFO] [stdout] 243 | | let role = query_roles!("guild_id = $1 AND id = $2", guild_id as i64, role_id as i64) [INFO] [stdout] 244 | | .fetch_optional(self.executor()) [INFO] [stdout] 245 | | .await? [INFO] [stdout] ... | [INFO] [stdout] 248 | | Ok(role) [INFO] [stdout] 249 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/role.rs:242:91 [INFO] [stdout] | [INFO] [stdout] 242 | async fn fetch_role(&self, guild_id: u64, role_id: u64) -> sqlx::Result> { [INFO] [stdout] | ___________________________________________________________________________________________^ [INFO] [stdout] 243 | | let role = query_roles!("guild_id = $1 AND id = $2", guild_id as i64, role_id as i64) [INFO] [stdout] 244 | | .fetch_optional(self.executor()) [INFO] [stdout] 245 | | .await? [INFO] [stdout] ... | [INFO] [stdout] 248 | | Ok(role) [INFO] [stdout] 249 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/role.rs:256:88 [INFO] [stdout] | [INFO] [stdout] 73 | pub trait RoleDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 256 | async fn fetch_all_roles_in_guild(&self, guild_id: u64) -> sqlx::Result> { [INFO] [stdout] | ________________________________________________________________________________________^ [INFO] [stdout] 257 | | let roles = query_roles!("guild_id = $1 ORDER BY position ASC", guild_id as i64) [INFO] [stdout] 258 | | .fetch_all(self.executor()) [INFO] [stdout] 259 | | .await? [INFO] [stdout] ... | [INFO] [stdout] 264 | | Ok(roles) [INFO] [stdout] 265 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/role.rs:256:88 [INFO] [stdout] | [INFO] [stdout] 256 | async fn fetch_all_roles_in_guild(&self, guild_id: u64) -> sqlx::Result> { [INFO] [stdout] | ________________________________________________________________________________________^ [INFO] [stdout] 257 | | let roles = query_roles!("guild_id = $1 ORDER BY position ASC", guild_id as i64) [INFO] [stdout] 258 | | .fetch_all(self.executor()) [INFO] [stdout] 259 | | .await? [INFO] [stdout] ... | [INFO] [stdout] 264 | | Ok(roles) [INFO] [stdout] 265 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/role.rs:276:34 [INFO] [stdout] | [INFO] [stdout] 73 | pub trait RoleDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 276 | ) -> sqlx::Result> { [INFO] [stdout] | __________________________________^ [INFO] [stdout] 277 | | let default_role_id = with_model_type(guild_id, ModelType::Role); [INFO] [stdout] 278 | | let roles = query_roles!( [INFO] [stdout] 279 | | r#" [INFO] [stdout] ... | [INFO] [stdout] 297 | | Ok(roles) [INFO] [stdout] 298 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/role.rs:276:34 [INFO] [stdout] | [INFO] [stdout] 276 | ) -> sqlx::Result> { [INFO] [stdout] | __________________________________^ [INFO] [stdout] 277 | | let default_role_id = with_model_type(guild_id, ModelType::Role); [INFO] [stdout] 278 | | let roles = query_roles!( [INFO] [stdout] 279 | | r#" [INFO] [stdout] ... | [INFO] [stdout] 297 | | Ok(roles) [INFO] [stdout] 298 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/role.rs:314:30 [INFO] [stdout] | [INFO] [stdout] 73 | pub trait RoleDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 314 | ) -> crate::Result { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 315 | | let mut flags = RoleFlags::default(); [INFO] [stdout] 316 | | if payload.hoisted { [INFO] [stdout] 317 | | flags.insert(RoleFlags::HOISTED); [INFO] [stdout] ... | [INFO] [stdout] 366 | | }) [INFO] [stdout] 367 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/role.rs:314:30 [INFO] [stdout] | [INFO] [stdout] 314 | ) -> crate::Result { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 315 | | let mut flags = RoleFlags::default(); [INFO] [stdout] 316 | | if payload.hoisted { [INFO] [stdout] 317 | | flags.insert(RoleFlags::HOISTED); [INFO] [stdout] ... | [INFO] [stdout] 366 | | }) [INFO] [stdout] 367 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/role.rs:384:38 [INFO] [stdout] | [INFO] [stdout] 73 | pub trait RoleDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 384 | ) -> crate::Result<(Role, Role)> { [INFO] [stdout] | ______________________________________^ [INFO] [stdout] 385 | | let old = role.clone(); [INFO] [stdout] 386 | | let role_id = role.id; [INFO] [stdout] ... | [INFO] [stdout] 437 | | Ok((old, role)) [INFO] [stdout] 438 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/role.rs:384:38 [INFO] [stdout] | [INFO] [stdout] 384 | ) -> crate::Result<(Role, Role)> { [INFO] [stdout] | ______________________________________^ [INFO] [stdout] 385 | | let old = role.clone(); [INFO] [stdout] 386 | | let role_id = role.id; [INFO] [stdout] ... | [INFO] [stdout] 437 | | Ok((old, role)) [INFO] [stdout] 438 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/role.rs:463:28 [INFO] [stdout] | [INFO] [stdout] 73 | pub trait RoleDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 463 | ) -> crate::Result<()> { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 464 | | let pool = get_pool(); [INFO] [stdout] 465 | | let (top_role_id, top_role_position) = pool.fetch_top_role(guild_id, user_id).await?; [INFO] [stdout] 466 | | let is_owner = pool.is_guild_owner(guild_id, user_id).await?; [INFO] [stdout] ... | [INFO] [stdout] 536 | | Ok(()) [INFO] [stdout] 537 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/role.rs:463:28 [INFO] [stdout] | [INFO] [stdout] 463 | ) -> crate::Result<()> { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 464 | | let pool = get_pool(); [INFO] [stdout] 465 | | let (top_role_id, top_role_position) = pool.fetch_top_role(guild_id, user_id).await?; [INFO] [stdout] 466 | | let is_owner = pool.is_guild_owner(guild_id, user_id).await?; [INFO] [stdout] ... | [INFO] [stdout] 536 | | Ok(()) [INFO] [stdout] 537 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/role.rs:548:87 [INFO] [stdout] | [INFO] [stdout] 73 | pub trait RoleDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 548 | async fn delete_role(&mut self, guild_id: u64, role_id: u64) -> crate::Result<()> { [INFO] [stdout] | _______________________________________________________________________________________^ [INFO] [stdout] 549 | | let position = sqlx::query!( [INFO] [stdout] 550 | | "DELETE FROM roles WHERE guild_id = $1 AND id = $2 RETURNING position", [INFO] [stdout] 551 | | guild_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 567 | | Ok(()) [INFO] [stdout] 568 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/role.rs:548:87 [INFO] [stdout] | [INFO] [stdout] 548 | async fn delete_role(&mut self, guild_id: u64, role_id: u64) -> crate::Result<()> { [INFO] [stdout] | _______________________________________________________________________________________^ [INFO] [stdout] 549 | | let position = sqlx::query!( [INFO] [stdout] 550 | | "DELETE FROM roles WHERE guild_id = $1 AND id = $2 RETURNING position", [INFO] [stdout] 551 | | guild_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 567 | | Ok(()) [INFO] [stdout] 568 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:200:77 [INFO] [stdout] | [INFO] [stdout] 194 | pub trait UserDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 200 | async fn fetch_user_by_id(&self, id: u64) -> sqlx::Result> { [INFO] [stdout] | _____________________________________________________________________________^ [INFO] [stdout] 201 | | fetch_user!(self, "SELECT * FROM users WHERE id = $1", id as i64) [INFO] [stdout] 202 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:200:77 [INFO] [stdout] | [INFO] [stdout] 200 | async fn fetch_user_by_id(&self, id: u64) -> sqlx::Result> { [INFO] [stdout] | _____________________________________________________________________________^ [INFO] [stdout] 201 | | fetch_user!(self, "SELECT * FROM users WHERE id = $1", id as i64) [INFO] [stdout] 202 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:209:90 [INFO] [stdout] | [INFO] [stdout] 194 | pub trait UserDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 209 | async fn fetch_user_by_username(&self, username: &str) -> sqlx::Result> { [INFO] [stdout] | __________________________________________________________________________________________^ [INFO] [stdout] 210 | | fetch_user!( [INFO] [stdout] 211 | | self, [INFO] [stdout] 212 | | "SELECT * FROM users WHERE LOWER(username) = LOWER($1)", [INFO] [stdout] ... | [INFO] [stdout] 215 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:209:90 [INFO] [stdout] | [INFO] [stdout] 209 | async fn fetch_user_by_username(&self, username: &str) -> sqlx::Result> { [INFO] [stdout] | __________________________________________________________________________________________^ [INFO] [stdout] 210 | | fetch_user!( [INFO] [stdout] 211 | | self, [INFO] [stdout] 212 | | "SELECT * FROM users WHERE LOWER(username) = LOWER($1)", [INFO] [stdout] ... | [INFO] [stdout] 215 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:221:90 [INFO] [stdout] | [INFO] [stdout] 194 | pub trait UserDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 221 | async fn fetch_client_user_by_id(&self, id: u64) -> sqlx::Result> { [INFO] [stdout] | __________________________________________________________________________________________^ [INFO] [stdout] 222 | | fetch_client_user!(self, "id = $1", id as i64) [INFO] [stdout] 223 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:221:90 [INFO] [stdout] | [INFO] [stdout] 221 | async fn fetch_client_user_by_id(&self, id: u64) -> sqlx::Result> { [INFO] [stdout] | __________________________________________________________________________________________^ [INFO] [stdout] 222 | | fetch_client_user!(self, "id = $1", id as i64) [INFO] [stdout] 223 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:229:88 [INFO] [stdout] | [INFO] [stdout] 194 | pub trait UserDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 229 | async fn fetch_user_flags_by_id(&self, id: u64) -> sqlx::Result> { [INFO] [stdout] | ________________________________________________________________________________________^ [INFO] [stdout] 230 | | Ok( [INFO] [stdout] 231 | | sqlx::query!("SELECT flags FROM users WHERE id = $1", id as i64) [INFO] [stdout] 232 | | .fetch_optional(self.executor()) [INFO] [stdout] ... | [INFO] [stdout] 236 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:229:88 [INFO] [stdout] | [INFO] [stdout] 229 | async fn fetch_user_flags_by_id(&self, id: u64) -> sqlx::Result> { [INFO] [stdout] | ________________________________________________________________________________________^ [INFO] [stdout] 230 | | Ok( [INFO] [stdout] 231 | | sqlx::query!("SELECT flags FROM users WHERE id = $1", id as i64) [INFO] [stdout] 232 | | .fetch_optional(self.executor()) [INFO] [stdout] ... | [INFO] [stdout] 236 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:246:93 [INFO] [stdout] | [INFO] [stdout] 194 | pub trait UserDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 246 | async fn set_user_flags_by_id(&mut self, id: u64, flags: UserFlags) -> sqlx::Result<()> { [INFO] [stdout] | _____________________________________________________________________________________________^ [INFO] [stdout] 247 | | sqlx::query!( [INFO] [stdout] 248 | | "UPDATE users SET flags = $1 WHERE id = $2", [INFO] [stdout] 249 | | flags.bits() as i32, [INFO] [stdout] ... | [INFO] [stdout] 255 | | Ok(()) [INFO] [stdout] 256 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:246:93 [INFO] [stdout] | [INFO] [stdout] 246 | async fn set_user_flags_by_id(&mut self, id: u64, flags: UserFlags) -> sqlx::Result<()> { [INFO] [stdout] | _____________________________________________________________________________________________^ [INFO] [stdout] 247 | | sqlx::query!( [INFO] [stdout] 248 | | "UPDATE users SET flags = $1 WHERE id = $2", [INFO] [stdout] 249 | | flags.bits() as i32, [INFO] [stdout] ... | [INFO] [stdout] 255 | | Ok(()) [INFO] [stdout] 256 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:266:43 [INFO] [stdout] | [INFO] [stdout] 194 | pub trait UserDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 266 | ) -> sqlx::Result> { [INFO] [stdout] | ___________________________________________^ [INFO] [stdout] 267 | | fetch_client_user!(self, "email = $1", email.as_ref()) [INFO] [stdout] 268 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:266:43 [INFO] [stdout] | [INFO] [stdout] 266 | ) -> sqlx::Result> { [INFO] [stdout] | ___________________________________________^ [INFO] [stdout] 267 | | fetch_client_user!(self, "email = $1", email.as_ref()) [INFO] [stdout] 268 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:274:89 [INFO] [stdout] | [INFO] [stdout] 194 | pub trait UserDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 274 | async fn is_email_taken(&self, email: impl AsRef + Send) -> sqlx::Result { [INFO] [stdout] | _________________________________________________________________________________________^ [INFO] [stdout] 275 | | let result = sqlx::query!( [INFO] [stdout] 276 | | "SELECT EXISTS(SELECT 1 FROM users WHERE email = $1)", [INFO] [stdout] 277 | | email.as_ref() [INFO] [stdout] ... | [INFO] [stdout] 283 | | Ok(result.unwrap()) [INFO] [stdout] 284 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:274:89 [INFO] [stdout] | [INFO] [stdout] 274 | async fn is_email_taken(&self, email: impl AsRef + Send) -> sqlx::Result { [INFO] [stdout] | _________________________________________________________________________________________^ [INFO] [stdout] 275 | | let result = sqlx::query!( [INFO] [stdout] 276 | | "SELECT EXISTS(SELECT 1 FROM users WHERE email = $1)", [INFO] [stdout] 277 | | email.as_ref() [INFO] [stdout] ... | [INFO] [stdout] 283 | | Ok(result.unwrap()) [INFO] [stdout] 284 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:294:29 [INFO] [stdout] | [INFO] [stdout] 194 | pub trait UserDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 294 | ) -> sqlx::Result { [INFO] [stdout] | _____________________________^ [INFO] [stdout] 295 | | let result = sqlx::query!( [INFO] [stdout] 296 | | "SELECT EXISTS(SELECT 1 FROM users WHERE LOWER(username) = LOWER($1) AND id != $2)", [INFO] [stdout] 297 | | username.as_ref(), [INFO] [stdout] ... | [INFO] [stdout] 304 | | Ok(result.unwrap()) [INFO] [stdout] 305 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:294:29 [INFO] [stdout] | [INFO] [stdout] 294 | ) -> sqlx::Result { [INFO] [stdout] | _____________________________^ [INFO] [stdout] 295 | | let result = sqlx::query!( [INFO] [stdout] 296 | | "SELECT EXISTS(SELECT 1 FROM users WHERE LOWER(username) = LOWER($1) AND id != $2)", [INFO] [stdout] 297 | | username.as_ref(), [INFO] [stdout] ... | [INFO] [stdout] 304 | | Ok(result.unwrap()) [INFO] [stdout] 305 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:311:95 [INFO] [stdout] | [INFO] [stdout] 194 | pub trait UserDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 311 | async fn is_username_taken(&self, username: impl AsRef + Send) -> sqlx::Result { [INFO] [stdout] | _______________________________________________________________________________________________^ [INFO] [stdout] 312 | | let result = sqlx::query!( [INFO] [stdout] 313 | | "SELECT EXISTS(SELECT 1 FROM users WHERE LOWER(username) = LOWER($1))", [INFO] [stdout] 314 | | username.as_ref() [INFO] [stdout] ... | [INFO] [stdout] 320 | | Ok(result.unwrap()) [INFO] [stdout] 321 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:311:95 [INFO] [stdout] | [INFO] [stdout] 311 | async fn is_username_taken(&self, username: impl AsRef + Send) -> sqlx::Result { [INFO] [stdout] | _______________________________________________________________________________________________^ [INFO] [stdout] 312 | | let result = sqlx::query!( [INFO] [stdout] 313 | | "SELECT EXISTS(SELECT 1 FROM users WHERE LOWER(username) = LOWER($1))", [INFO] [stdout] 314 | | username.as_ref() [INFO] [stdout] ... | [INFO] [stdout] 320 | | Ok(result.unwrap()) [INFO] [stdout] 321 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:376:38 [INFO] [stdout] | [INFO] [stdout] 194 | pub trait UserDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 376 | ) -> crate::Result<(User, User)> { [INFO] [stdout] | ______________________________________^ [INFO] [stdout] 377 | | let mut user = get_pool() [INFO] [stdout] 378 | | .fetch_user_by_id(id) [INFO] [stdout] 379 | | .await? [INFO] [stdout] ... | [INFO] [stdout] 409 | | Ok((old, user)) [INFO] [stdout] 410 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:376:38 [INFO] [stdout] | [INFO] [stdout] 376 | ) -> crate::Result<(User, User)> { [INFO] [stdout] | ______________________________________^ [INFO] [stdout] 377 | | let mut user = get_pool() [INFO] [stdout] 378 | | .fetch_user_by_id(id) [INFO] [stdout] 379 | | .await? [INFO] [stdout] ... | [INFO] [stdout] 409 | | Ok((old, user)) [INFO] [stdout] 410 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:419:66 [INFO] [stdout] | [INFO] [stdout] 194 | pub trait UserDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 419 | async fn delete_user(&mut self, id: u64) -> sqlx::Result<()> { [INFO] [stdout] | __________________________________________________________________^ [INFO] [stdout] 420 | | sqlx::query!("DELETE FROM users WHERE id = $1", id as i64) [INFO] [stdout] 421 | | .execute(self.transaction()) [INFO] [stdout] 422 | | .await?; [INFO] [stdout] 423 | | [INFO] [stdout] 424 | | Ok(()) [INFO] [stdout] 425 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:419:66 [INFO] [stdout] | [INFO] [stdout] 419 | async fn delete_user(&mut self, id: u64) -> sqlx::Result<()> { [INFO] [stdout] | __________________________________________________________________^ [INFO] [stdout] 420 | | sqlx::query!("DELETE FROM users WHERE id = $1", id as i64) [INFO] [stdout] 421 | | .execute(self.transaction()) [INFO] [stdout] 422 | | .await?; [INFO] [stdout] 423 | | [INFO] [stdout] 424 | | Ok(()) [INFO] [stdout] 425 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:432:97 [INFO] [stdout] | [INFO] [stdout] 194 | pub trait UserDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 432 | async fn fetch_observable_user_ids_for_user(&self, user_id: u64) -> crate::Result> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 433 | | let user_ids = sqlx::query!( [INFO] [stdout] 434 | | r#"SELECT DISTINCT [INFO] [stdout] 435 | | id AS "id!" [INFO] [stdout] ... | [INFO] [stdout] 455 | | Ok(user_ids) [INFO] [stdout] 456 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:432:97 [INFO] [stdout] | [INFO] [stdout] 432 | async fn fetch_observable_user_ids_for_user(&self, user_id: u64) -> crate::Result> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 433 | | let user_ids = sqlx::query!( [INFO] [stdout] 434 | | r#"SELECT DISTINCT [INFO] [stdout] 435 | | id AS "id!" [INFO] [stdout] ... | [INFO] [stdout] 455 | | Ok(user_ids) [INFO] [stdout] 456 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:113:13 [INFO] [stdout] | [INFO] [stdout] 113 | / Box::pin(async move { [INFO] [stdout] 114 | | let privacy = sqlx::query!( [INFO] [stdout] 115 | | "SELECT " + $col + " AS col FROM users WHERE id = $1", [INFO] [stdout] 116 | | user_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 123 | | Ok(PrivacyConfiguration::from_bits_truncate(privacy)) [INFO] [stdout] 124 | | }) [INFO] [stdout] | |______________^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] ... [INFO] [stdout] 194 | pub trait UserDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 483 | / privacy_configuration_method! { [INFO] [stdout] 484 | | /// Fetches the DM privacy configuration for the user with the given ID. [INFO] [stdout] 485 | | fetch_dm_privacy_configuration, "dm_privacy" [INFO] [stdout] 486 | | } [INFO] [stdout] | |_____- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `privacy_configuration_method` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:113:13 [INFO] [stdout] | [INFO] [stdout] 113 | / Box::pin(async move { [INFO] [stdout] 114 | | let privacy = sqlx::query!( [INFO] [stdout] 115 | | "SELECT " + $col + " AS col FROM users WHERE id = $1", [INFO] [stdout] 116 | | user_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 123 | | Ok(PrivacyConfiguration::from_bits_truncate(privacy)) [INFO] [stdout] 124 | | }) [INFO] [stdout] | |______________^ implementation of `DbExt` is not general enough [INFO] [stdout] ... [INFO] [stdout] 483 | / privacy_configuration_method! { [INFO] [stdout] 484 | | /// Fetches the DM privacy configuration for the user with the given ID. [INFO] [stdout] 485 | | fetch_dm_privacy_configuration, "dm_privacy" [INFO] [stdout] 486 | | } [INFO] [stdout] | |_____- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] = note: this error originates in the macro `privacy_configuration_method` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:113:13 [INFO] [stdout] | [INFO] [stdout] 113 | / Box::pin(async move { [INFO] [stdout] 114 | | let privacy = sqlx::query!( [INFO] [stdout] 115 | | "SELECT " + $col + " AS col FROM users WHERE id = $1", [INFO] [stdout] 116 | | user_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 123 | | Ok(PrivacyConfiguration::from_bits_truncate(privacy)) [INFO] [stdout] 124 | | }) [INFO] [stdout] | |______________^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] ... [INFO] [stdout] 194 | pub trait UserDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 488 | / privacy_configuration_method! { [INFO] [stdout] 489 | | /// Fetches the group DM privacy configuration for the user with the given ID. [INFO] [stdout] 490 | | fetch_group_dm_privacy_configuration, "group_dm_privacy" [INFO] [stdout] 491 | | } [INFO] [stdout] | |_____- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `privacy_configuration_method` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:113:13 [INFO] [stdout] | [INFO] [stdout] 113 | / Box::pin(async move { [INFO] [stdout] 114 | | let privacy = sqlx::query!( [INFO] [stdout] 115 | | "SELECT " + $col + " AS col FROM users WHERE id = $1", [INFO] [stdout] 116 | | user_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 123 | | Ok(PrivacyConfiguration::from_bits_truncate(privacy)) [INFO] [stdout] 124 | | }) [INFO] [stdout] | |______________^ implementation of `DbExt` is not general enough [INFO] [stdout] ... [INFO] [stdout] 488 | / privacy_configuration_method! { [INFO] [stdout] 489 | | /// Fetches the group DM privacy configuration for the user with the given ID. [INFO] [stdout] 490 | | fetch_group_dm_privacy_configuration, "group_dm_privacy" [INFO] [stdout] 491 | | } [INFO] [stdout] | |_____- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] = note: this error originates in the macro `privacy_configuration_method` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:113:13 [INFO] [stdout] | [INFO] [stdout] 113 | / Box::pin(async move { [INFO] [stdout] 114 | | let privacy = sqlx::query!( [INFO] [stdout] 115 | | "SELECT " + $col + " AS col FROM users WHERE id = $1", [INFO] [stdout] 116 | | user_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 123 | | Ok(PrivacyConfiguration::from_bits_truncate(privacy)) [INFO] [stdout] 124 | | }) [INFO] [stdout] | |______________^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] ... [INFO] [stdout] 194 | pub trait UserDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 493 | / privacy_configuration_method! { [INFO] [stdout] 494 | | /// Fetches the friend request privacy configuration for the user with the given ID. [INFO] [stdout] 495 | | fetch_friend_request_privacy_configuration, "friend_request_privacy" [INFO] [stdout] 496 | | } [INFO] [stdout] | |_____- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `privacy_configuration_method` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:113:13 [INFO] [stdout] | [INFO] [stdout] 113 | / Box::pin(async move { [INFO] [stdout] 114 | | let privacy = sqlx::query!( [INFO] [stdout] 115 | | "SELECT " + $col + " AS col FROM users WHERE id = $1", [INFO] [stdout] 116 | | user_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 123 | | Ok(PrivacyConfiguration::from_bits_truncate(privacy)) [INFO] [stdout] 124 | | }) [INFO] [stdout] | |______________^ implementation of `DbExt` is not general enough [INFO] [stdout] ... [INFO] [stdout] 493 | / privacy_configuration_method! { [INFO] [stdout] 494 | | /// Fetches the friend request privacy configuration for the user with the given ID. [INFO] [stdout] 495 | | fetch_friend_request_privacy_configuration, "friend_request_privacy" [INFO] [stdout] 496 | | } [INFO] [stdout] | |_____- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] = note: this error originates in the macro `privacy_configuration_method` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:508:28 [INFO] [stdout] | [INFO] [stdout] 194 | pub trait UserDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 508 | ) -> crate::Result<()> { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 509 | | if user_id == target_id { [INFO] [stdout] 510 | | return Err(Error::CannotActOnSelf { [INFO] [stdout] 511 | | message: "You cannot act on yourself.".to_string(), [INFO] [stdout] ... | [INFO] [stdout] 579 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:508:28 [INFO] [stdout] | [INFO] [stdout] 508 | ) -> crate::Result<()> { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 509 | | if user_id == target_id { [INFO] [stdout] 510 | | return Err(Error::CannotActOnSelf { [INFO] [stdout] 511 | | message: "You cannot act on yourself.".to_string(), [INFO] [stdout] ... | [INFO] [stdout] 579 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:589:45 [INFO] [stdout] | [INFO] [stdout] 194 | pub trait UserDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 589 | ) -> sqlx::Result> { [INFO] [stdout] | _____________________________________________^ [INFO] [stdout] 590 | | let relationship = query_relationships!( [INFO] [stdout] 591 | | "user_id = $1 AND target_id = $2", [INFO] [stdout] 592 | | user_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 599 | | Ok(relationship) [INFO] [stdout] 600 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:589:45 [INFO] [stdout] | [INFO] [stdout] 589 | ) -> sqlx::Result> { [INFO] [stdout] | _____________________________________________^ [INFO] [stdout] 590 | | let relationship = query_relationships!( [INFO] [stdout] 591 | | "user_id = $1 AND target_id = $2", [INFO] [stdout] 592 | | user_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 599 | | Ok(relationship) [INFO] [stdout] 600 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:611:49 [INFO] [stdout] | [INFO] [stdout] 194 | pub trait UserDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 611 | ) -> sqlx::Result> { [INFO] [stdout] | _________________________________________________^ [INFO] [stdout] 612 | | struct WrappedDbRelationshipType { [INFO] [stdout] 613 | | kind: DbRelationshipType, [INFO] [stdout] ... | [INFO] [stdout] 626 | | Ok(relationship) [INFO] [stdout] 627 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:611:49 [INFO] [stdout] | [INFO] [stdout] 611 | ) -> sqlx::Result> { [INFO] [stdout] | _________________________________________________^ [INFO] [stdout] 612 | | struct WrappedDbRelationshipType { [INFO] [stdout] 613 | | kind: DbRelationshipType, [INFO] [stdout] ... | [INFO] [stdout] 626 | | Ok(relationship) [INFO] [stdout] 627 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:633:90 [INFO] [stdout] | [INFO] [stdout] 194 | pub trait UserDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 633 | async fn fetch_relationships(&self, user_id: u64) -> sqlx::Result> { [INFO] [stdout] | __________________________________________________________________________________________^ [INFO] [stdout] 634 | | let relationships = query_relationships!("user_id = $1", user_id as i64) [INFO] [stdout] 635 | | .fetch_all(self.executor()) [INFO] [stdout] 636 | | .await? [INFO] [stdout] ... | [INFO] [stdout] 641 | | Ok(relationships) [INFO] [stdout] 642 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:633:90 [INFO] [stdout] | [INFO] [stdout] 633 | async fn fetch_relationships(&self, user_id: u64) -> sqlx::Result> { [INFO] [stdout] | __________________________________________________________________________________________^ [INFO] [stdout] 634 | | let relationships = query_relationships!("user_id = $1", user_id as i64) [INFO] [stdout] 635 | | .fetch_all(self.executor()) [INFO] [stdout] 636 | | .await? [INFO] [stdout] ... | [INFO] [stdout] 641 | | Ok(relationships) [INFO] [stdout] 642 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:650:45 [INFO] [stdout] | [INFO] [stdout] 194 | pub trait UserDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 650 | ) -> sqlx::Result> { [INFO] [stdout] | _____________________________________________^ [INFO] [stdout] 651 | | let Some(kind) = kind else { [INFO] [stdout] 652 | | return Ok(query_relationships!( [INFO] [stdout] 653 | | "user_id = $1 AND target_id = $2", [INFO] [stdout] ... | [INFO] [stdout] 694 | | Ok(Some(Relationship::from_db_relationship(db_relationship))) [INFO] [stdout] 695 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:650:45 [INFO] [stdout] | [INFO] [stdout] 650 | ) -> sqlx::Result> { [INFO] [stdout] | _____________________________________________^ [INFO] [stdout] 651 | | let Some(kind) = kind else { [INFO] [stdout] 652 | | return Ok(query_relationships!( [INFO] [stdout] 653 | | "user_id = $1 AND target_id = $2", [INFO] [stdout] ... | [INFO] [stdout] 694 | | Ok(Some(Relationship::from_db_relationship(db_relationship))) [INFO] [stdout] 695 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:749:97 [INFO] [stdout] | [INFO] [stdout] 194 | pub trait UserDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 749 | async fn delete_relationship(&mut self, user_id: u64, target_id: u64) -> crate::Result { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 750 | | Ok(sqlx::query!( [INFO] [stdout] 751 | | r#"DELETE FROM [INFO] [stdout] 752 | | relationships [INFO] [stdout] ... | [INFO] [stdout] 763 | | .rows_affected()) [INFO] [stdout] 764 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:749:97 [INFO] [stdout] | [INFO] [stdout] 749 | async fn delete_relationship(&mut self, user_id: u64, target_id: u64) -> crate::Result { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 750 | | Ok(sqlx::query!( [INFO] [stdout] 751 | | r#"DELETE FROM [INFO] [stdout] 752 | | relationships [INFO] [stdout] ... | [INFO] [stdout] 763 | | .rows_affected()) [INFO] [stdout] 764 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:766:82 [INFO] [stdout] | [INFO] [stdout] 194 | pub trait UserDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 766 | async fn fetch_user_settings(&self, user_id: u64) -> crate::Result { [INFO] [stdout] | __________________________________________________________________________________^ [INFO] [stdout] 767 | | let settings = sqlx::query!("SELECT settings FROM users WHERE id = $1", user_id as i64) [INFO] [stdout] 768 | | .fetch_one(self.executor()) [INFO] [stdout] 769 | | .await? [INFO] [stdout] ... | [INFO] [stdout] 772 | | Ok(Settings::from_bits_truncate(settings)) [INFO] [stdout] 773 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:766:82 [INFO] [stdout] | [INFO] [stdout] 766 | async fn fetch_user_settings(&self, user_id: u64) -> crate::Result { [INFO] [stdout] | __________________________________________________________________________________^ [INFO] [stdout] 767 | | let settings = sqlx::query!("SELECT settings FROM users WHERE id = $1", user_id as i64) [INFO] [stdout] 768 | | .fetch_one(self.executor()) [INFO] [stdout] 769 | | .await? [INFO] [stdout] ... | [INFO] [stdout] 772 | | Ok(Settings::from_bits_truncate(settings)) [INFO] [stdout] 773 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:779:28 [INFO] [stdout] | [INFO] [stdout] 194 | pub trait UserDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 779 | ) -> crate::Result<()> { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 780 | | sqlx::query!( [INFO] [stdout] 781 | | "UPDATE users SET settings = $1 WHERE id = $2", [INFO] [stdout] 782 | | settings.bits(), [INFO] [stdout] ... | [INFO] [stdout] 788 | | Ok(()) [INFO] [stdout] 789 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:779:28 [INFO] [stdout] | [INFO] [stdout] 779 | ) -> crate::Result<()> { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 780 | | sqlx::query!( [INFO] [stdout] 781 | | "UPDATE users SET settings = $1 WHERE id = $2", [INFO] [stdout] 782 | | settings.bits(), [INFO] [stdout] ... | [INFO] [stdout] 788 | | Ok(()) [INFO] [stdout] 789 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:794:57 [INFO] [stdout] | [INFO] [stdout] 194 | pub trait UserDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 794 | ) -> crate::Result> { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 795 | | Ok(sqlx::query!( [INFO] [stdout] 796 | | "SELECT target_id, notif_flags FROM notification_settings WHERE user_id = $1", [INFO] [stdout] 797 | | user_id as i64 [INFO] [stdout] ... | [INFO] [stdout] 808 | | .collect()) [INFO] [stdout] 809 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:794:57 [INFO] [stdout] | [INFO] [stdout] 794 | ) -> crate::Result> { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 795 | | Ok(sqlx::query!( [INFO] [stdout] 796 | | "SELECT target_id, notif_flags FROM notification_settings WHERE user_id = $1", [INFO] [stdout] 797 | | user_id as i64 [INFO] [stdout] ... | [INFO] [stdout] 808 | | .collect()) [INFO] [stdout] 809 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:815:51 [INFO] [stdout] | [INFO] [stdout] 194 | pub trait UserDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 815 | ) -> crate::Result> { [INFO] [stdout] | ___________________________________________________^ [INFO] [stdout] 816 | | Ok(sqlx::query!( [INFO] [stdout] 817 | | "SELECT notif_flags FROM notification_settings WHERE user_id = $1 AND target_id = $2", [INFO] [stdout] 818 | | user_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 823 | | .map(|r| NotificationFlags::from_bits_truncate(r.notif_flags))) [INFO] [stdout] 824 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:815:51 [INFO] [stdout] | [INFO] [stdout] 815 | ) -> crate::Result> { [INFO] [stdout] | ___________________________________________________^ [INFO] [stdout] 816 | | Ok(sqlx::query!( [INFO] [stdout] 817 | | "SELECT notif_flags FROM notification_settings WHERE user_id = $1 AND target_id = $2", [INFO] [stdout] 818 | | user_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 823 | | .map(|r| NotificationFlags::from_bits_truncate(r.notif_flags))) [INFO] [stdout] 824 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:831:28 [INFO] [stdout] | [INFO] [stdout] 194 | pub trait UserDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 831 | ) -> crate::Result<()> { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 832 | | sqlx::query!( [INFO] [stdout] 833 | | r#"INSERT INTO [INFO] [stdout] 834 | | notification_settings [INFO] [stdout] ... | [INFO] [stdout] 849 | | Ok(()) [INFO] [stdout] 850 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:831:28 [INFO] [stdout] | [INFO] [stdout] 831 | ) -> crate::Result<()> { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 832 | | sqlx::query!( [INFO] [stdout] 833 | | r#"INSERT INTO [INFO] [stdout] 834 | | notification_settings [INFO] [stdout] ... | [INFO] [stdout] 849 | | Ok(()) [INFO] [stdout] 850 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:856:28 [INFO] [stdout] | [INFO] [stdout] 194 | pub trait UserDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 856 | ) -> crate::Result<()> { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 857 | | sqlx::query!( [INFO] [stdout] 858 | | "DELETE FROM notification_settings WHERE user_id = $1 AND target_id = $2", [INFO] [stdout] 859 | | user_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 865 | | Ok(()) [INFO] [stdout] 866 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:856:28 [INFO] [stdout] | [INFO] [stdout] 856 | ) -> crate::Result<()> { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 857 | | sqlx::query!( [INFO] [stdout] 858 | | "DELETE FROM notification_settings WHERE user_id = $1 AND target_id = $2", [INFO] [stdout] 859 | | user_id as i64, [INFO] [stdout] ... | [INFO] [stdout] 865 | | Ok(()) [INFO] [stdout] 866 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:893:29 [INFO] [stdout] | [INFO] [stdout] 194 | pub trait UserDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 893 | ) -> crate::Result { [INFO] [stdout] | _____________________________^ [INFO] [stdout] 894 | | let user = sqlx::query!( [INFO] [stdout] 895 | | r"INSERT INTO users (id, username, display_name, flags) [INFO] [stdout] 896 | | VALUES ($1, $2, $3, $4) [INFO] [stdout] ... | [INFO] [stdout] 920 | | }) [INFO] [stdout] 921 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:893:29 [INFO] [stdout] | [INFO] [stdout] 893 | ) -> crate::Result { [INFO] [stdout] | _____________________________^ [INFO] [stdout] 894 | | let user = sqlx::query!( [INFO] [stdout] 895 | | r"INSERT INTO users (id, username, display_name, flags) [INFO] [stdout] 896 | | VALUES ($1, $2, $3, $4) [INFO] [stdout] ... | [INFO] [stdout] 920 | | }) [INFO] [stdout] 921 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:924:70 [INFO] [stdout] | [INFO] [stdout] 194 | pub trait UserDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 924 | async fn fetch_bot(&self, id: u64) -> crate::Result> { [INFO] [stdout] | ______________________________________________________________________^ [INFO] [stdout] 925 | | let bot = query_bots!("u.id = $1", id as i64) [INFO] [stdout] 926 | | .fetch_optional(self.executor()) [INFO] [stdout] 927 | | .await? [INFO] [stdout] ... | [INFO] [stdout] 930 | | Ok(bot) [INFO] [stdout] 931 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:924:70 [INFO] [stdout] | [INFO] [stdout] 924 | async fn fetch_bot(&self, id: u64) -> crate::Result> { [INFO] [stdout] | ______________________________________________________________________^ [INFO] [stdout] 925 | | let bot = query_bots!("u.id = $1", id as i64) [INFO] [stdout] 926 | | .fetch_optional(self.executor()) [INFO] [stdout] 927 | | .await? [INFO] [stdout] ... | [INFO] [stdout] 930 | | Ok(bot) [INFO] [stdout] 931 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:934:85 [INFO] [stdout] | [INFO] [stdout] 194 | pub trait UserDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 934 | async fn fetch_all_bots_by_user(&self, user_id: u64) -> crate::Result> { [INFO] [stdout] | _____________________________________________________________________________________^ [INFO] [stdout] 935 | | let bots = query_bots!("b.owner_id = $1", user_id as i64) [INFO] [stdout] 936 | | .fetch_all(self.executor()) [INFO] [stdout] 937 | | .await? [INFO] [stdout] ... | [INFO] [stdout] 942 | | Ok(bots) [INFO] [stdout] 943 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:934:85 [INFO] [stdout] | [INFO] [stdout] 934 | async fn fetch_all_bots_by_user(&self, user_id: u64) -> crate::Result> { [INFO] [stdout] | _____________________________________________________________________________________^ [INFO] [stdout] 935 | | let bots = query_bots!("b.owner_id = $1", user_id as i64) [INFO] [stdout] 936 | | .fetch_all(self.executor()) [INFO] [stdout] 937 | | .await? [INFO] [stdout] ... | [INFO] [stdout] 942 | | Ok(bots) [INFO] [stdout] 943 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:951:93 [INFO] [stdout] | [INFO] [stdout] 194 | pub trait UserDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 951 | async fn edit_bot(&mut self, user: User, payload: EditBotPayload) -> crate::Result { [INFO] [stdout] | _____________________________________________________________________________________________^ [INFO] [stdout] 952 | | let bot = sqlx::query!("SELECT * FROM bots WHERE user_id = $1", user.id as i64) [INFO] [stdout] 953 | | .fetch_one(self.transaction()) [INFO] [stdout] 954 | | .await?; [INFO] [stdout] ... | [INFO] [stdout] 992 | | }) [INFO] [stdout] 993 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:951:93 [INFO] [stdout] | [INFO] [stdout] 951 | async fn edit_bot(&mut self, user: User, payload: EditBotPayload) -> crate::Result { [INFO] [stdout] | _____________________________________________________________________________________________^ [INFO] [stdout] 952 | | let bot = sqlx::query!("SELECT * FROM bots WHERE user_id = $1", user.id as i64) [INFO] [stdout] 953 | | .fetch_one(self.transaction()) [INFO] [stdout] 954 | | .await?; [INFO] [stdout] ... | [INFO] [stdout] 992 | | }) [INFO] [stdout] 993 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:1000:66 [INFO] [stdout] | [INFO] [stdout] 194 | pub trait UserDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 1000 | async fn delete_bot(&mut self, id: u64) -> crate::Result<()> { [INFO] [stdout] | __________________________________________________________________^ [INFO] [stdout] 1001 | | sqlx::query!("DELETE FROM bots WHERE user_id = $1", id as i64) [INFO] [stdout] 1002 | | .execute(self.transaction()) [INFO] [stdout] 1003 | | .await?; [INFO] [stdout] 1004 | | [INFO] [stdout] 1005 | | Ok(()) [INFO] [stdout] 1006 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:1000:66 [INFO] [stdout] | [INFO] [stdout] 1000 | async fn delete_bot(&mut self, id: u64) -> crate::Result<()> { [INFO] [stdout] | __________________________________________________________________^ [INFO] [stdout] 1001 | | sqlx::query!("DELETE FROM bots WHERE user_id = $1", id as i64) [INFO] [stdout] 1002 | | .execute(self.transaction()) [INFO] [stdout] 1003 | | .await?; [INFO] [stdout] 1004 | | [INFO] [stdout] 1005 | | Ok(()) [INFO] [stdout] 1006 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:1009:90 [INFO] [stdout] | [INFO] [stdout] 194 | pub trait UserDbExt<'t>: DbExt<'t> { [INFO] [stdout] | -- lifetime `'t` defined here [INFO] [stdout] ... [INFO] [stdout] 1009 | async fn assert_user_owns_bot(&self, user_id: u64, bot_id: u64) -> crate::Result<()> { [INFO] [stdout] | __________________________________________________________________________________________^ [INFO] [stdout] 1010 | | let owner_id = sqlx::query!( [INFO] [stdout] 1011 | | "SELECT owner_id FROM bots WHERE user_id = $1", [INFO] [stdout] 1012 | | bot_id as i64 [INFO] [stdout] ... | [INFO] [stdout] 1025 | | Ok(()) [INFO] [stdout] 1026 | | } [INFO] [stdout] | |_____^ coercion requires that `'t` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `DbExt` is not general enough [INFO] [stdout] --> /opt/rustwide/cargo-home/git/checkouts/essence-1ef0f0444b02011a/37f2897/src/db/user.rs:1009:90 [INFO] [stdout] | [INFO] [stdout] 1009 | async fn assert_user_owns_bot(&self, user_id: u64, bot_id: u64) -> crate::Result<()> { [INFO] [stdout] | __________________________________________________________________________________________^ [INFO] [stdout] 1010 | | let owner_id = sqlx::query!( [INFO] [stdout] 1011 | | "SELECT owner_id FROM bots WHERE user_id = $1", [INFO] [stdout] 1012 | | bot_id as i64 [INFO] [stdout] ... | [INFO] [stdout] 1025 | | Ok(()) [INFO] [stdout] 1026 | | } [INFO] [stdout] | |_____^ implementation of `DbExt` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `Self` must implement `DbExt<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `DbExt<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `essence` (lib) due to 244 previous errors [INFO] running `Command { std: "docker" "inspect" "9c47226fdfa0ab562d0b2a6cf5b55909271e8d6f1313780f11382336c87533c8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9c47226fdfa0ab562d0b2a6cf5b55909271e8d6f1313780f11382336c87533c8", kill_on_drop: false }` [INFO] [stdout] 9c47226fdfa0ab562d0b2a6cf5b55909271e8d6f1313780f11382336c87533c8