[INFO] fetching crate viz-core 0.8.8... [INFO] checking viz-core-0.8.8 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate viz-core 0.8.8 into /workspace/builds/worker-2-tc2/source [INFO] validating manifest of crates.io crate viz-core 0.8.8 on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate viz-core 0.8.8 [INFO] finished tweaking crates.io crate viz-core 0.8.8 [INFO] tweaked toml for crates.io crate viz-core 0.8.8 written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 140 packages to latest compatible versions [INFO] [stderr] Adding base64 v0.21.7 (available: v0.22.1) [INFO] [stderr] Adding generic-array v0.14.7 (available: v1.1.0) [INFO] [stderr] Adding hermit-abi v0.3.9 (available: v0.4.0) [INFO] [stderr] Adding idna v0.5.0 (available: v1.0.2) [INFO] [stderr] Adding opentelemetry v0.23.0 (available: v0.25.0) [INFO] [stderr] Adding opentelemetry-semantic-conventions v0.15.0 (available: v0.25.0) [INFO] [stderr] Adding tokio-tungstenite v0.21.0 (available: v0.24.0) [INFO] [stderr] Adding tungstenite v0.21.0 (available: v0.24.0) [INFO] [stderr] Adding wasi v0.11.0+wasi-snapshot-preview1 (available: v0.13.2+wasi-0.2.1) [INFO] [stderr] Adding windows-sys v0.52.0 (available: v0.59.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f379a23ff6070b7283b1b5225cb1b4fe0b0e188ee4380d2b4494975763b95d3d [INFO] running `Command { std: "docker" "start" "-a" "f379a23ff6070b7283b1b5225cb1b4fe0b0e188ee4380d2b4494975763b95d3d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f379a23ff6070b7283b1b5225cb1b4fe0b0e188ee4380d2b4494975763b95d3d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f379a23ff6070b7283b1b5225cb1b4fe0b0e188ee4380d2b4494975763b95d3d", kill_on_drop: false }` [INFO] [stdout] f379a23ff6070b7283b1b5225cb1b4fe0b0e188ee4380d2b4494975763b95d3d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1983eac138b5db07537e1e6587d5a94b50bc0452a84f6c1d688797b23d9db51d [INFO] running `Command { std: "docker" "start" "-a" "1983eac138b5db07537e1e6587d5a94b50bc0452a84f6c1d688797b23d9db51d", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Fixed Cargo.toml (7 fixes) [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling typenum v1.17.0 [INFO] [stderr] Checking bytes v1.7.2 [INFO] [stderr] Checking cpufeatures v0.2.14 [INFO] [stderr] Compiling serde v1.0.210 [INFO] [stderr] Checking subtle v2.6.1 [INFO] [stderr] Checking futures-core v0.3.30 [INFO] [stderr] Checking opaque-debug v0.3.1 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling num-conv v0.1.0 [INFO] [stderr] Compiling time-core v0.1.2 [INFO] [stderr] Checking powerfmt v0.2.0 [INFO] [stderr] Compiling thiserror v1.0.64 [INFO] [stderr] Checking tracing-core v0.1.32 [INFO] [stderr] Checking tokio v1.40.0 [INFO] [stderr] Compiling thiserror-impl v1.0.64 [INFO] [stderr] Checking base64 v0.21.7 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Compiling time-macros v0.2.18 [INFO] [stderr] Checking deranged v0.3.11 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling uncased v0.9.10 [INFO] [stderr] Compiling cookie v0.18.1 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking http v1.1.0 [INFO] [stderr] Checking rfc7239 v0.1.1 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking time v0.3.36 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Checking headers-core v0.3.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking inout v0.1.3 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking universal-hash v0.5.1 [INFO] [stderr] Checking aead v0.5.2 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking cipher v0.4.4 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking polyval v0.6.2 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking ctr v0.9.2 [INFO] [stderr] Checking aes v0.8.4 [INFO] [stderr] Checking ghash v0.5.1 [INFO] [stderr] Checking headers v0.4.0 [INFO] [stderr] Checking aes-gcm v0.10.3 [INFO] [stderr] Checking http-body-util v0.1.2 [INFO] [stderr] Checking serde_json v1.0.128 [INFO] [stderr] Checking form-data v0.5.5 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking hyper v1.4.1 [INFO] [stderr] Checking hyper-util v0.1.9 [INFO] [stderr] Checking sessions-core v0.6.0 [INFO] [stderr] Checking viz-core v0.8.8 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `viz_core` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/types/params/de.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/types/params/de.rs:7:23 [INFO] [stderr] | [INFO] [stderr] 7 | ($trait_fn:ident, $name:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/types/params/de.rs:534:38 [INFO] [stderr] | [INFO] [stderr] 534 | ($ty:ty, $value_str:literal, $value:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/types/params/de.rs:7:29 [INFO] [stdout] | [INFO] [stdout] 7 | ($trait_fn:ident, $name:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 7 | ($trait_fn:ident, $name:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/types/params/de.rs:534:45 [INFO] [stdout] | [INFO] [stdout] 534 | ($ty:ty, $value_str:literal, $value:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 534 | ($ty:ty, $value_str:literal, $value:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/cookie.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 54 | if let Ok(mut c) = self.jar().lock() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/cookie.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 54 ~ match self.jar().lock() { Ok(mut c) => { [INFO] [stdout] 55 | c.remove(Cookie::from(name.as_ref().to_string())); [INFO] [stdout] 56 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/cookie.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 69 | if let Ok(mut c) = self.jar().lock() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/cookie.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 69 ~ match self.jar().lock() { Ok(mut c) => { [INFO] [stdout] 70 | c.add(cookie.into_owned()); [INFO] [stdout] 71 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/cookie.rs:76:12 [INFO] [stdout] | [INFO] [stdout] 76 | if let Ok(mut c) = self.jar().lock() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/cookie.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 76 ~ match self.jar().lock() { Ok(mut c) => { [INFO] [stdout] 77 | c.add_original(cookie.into_owned()); [INFO] [stdout] 78 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/cookie.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 83 | if let Ok(mut c) = self.jar().lock() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/cookie.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 83 ~ match self.jar().lock() { Ok(mut c) => { [INFO] [stdout] 84 | c.reset_delta(); [INFO] [stdout] 85 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/cookie.rs:121:12 [INFO] [stdout] | [INFO] [stdout] 121 | if let Ok(mut c) = self.jar().lock() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/cookie.rs:123:9 [INFO] [stdout] | [INFO] [stdout] 123 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 121 ~ match self.jar().lock() { Ok(mut c) => { [INFO] [stdout] 122 | c.private_mut(self.key()).add(cookie.into_owned()); [INFO] [stdout] 123 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/cookie.rs:128:12 [INFO] [stdout] | [INFO] [stdout] 128 | if let Ok(mut c) = self.jar().lock() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/cookie.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 128 ~ match self.jar().lock() { Ok(mut c) => { [INFO] [stdout] 129 | c.private_mut(self.key()) [INFO] [stdout] 130 | .remove(Cookie::from(name.as_ref().to_string())); [INFO] [stdout] 131 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/cookie.rs:136:12 [INFO] [stdout] | [INFO] [stdout] 136 | if let Ok(mut c) = self.jar().lock() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/cookie.rs:138:9 [INFO] [stdout] | [INFO] [stdout] 138 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 136 ~ match self.jar().lock() { Ok(mut c) => { [INFO] [stdout] 137 | c.private_mut(self.key()).add_original(cookie.into_owned()); [INFO] [stdout] 138 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/limits.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 59 | if let Some(val) = self [INFO] [stdout] | _____________^ - [INFO] [stdout] | | ____________________________| [INFO] [stdout] 60 | || .inner [INFO] [stdout] | ||__________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 61 | | .binary_search_by_key(&name, |&(a, _)| a) [INFO] [stdout] 62 | | .ok() [INFO] [stdout] 63 | | .and_then(|i| Arc::make_mut(&mut self.inner).get_mut(i)) [INFO] [stdout] | |_____________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/limits.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 59 ~ match self [INFO] [stdout] 60 | .inner [INFO] [stdout] ... [INFO] [stdout] 63 | .and_then(|i| Arc::make_mut(&mut self.inner).get_mut(i)) [INFO] [stdout] 64 ~ { Some(val) => { [INFO] [stdout] 65 | val.1 = limit; [INFO] [stdout] 66 ~ } _ => { [INFO] [stdout] 67 | Arc::make_mut(&mut self.inner).push((name, limit)); [INFO] [stdout] 68 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/session.rs:79:16 [INFO] [stdout] | [INFO] [stdout] 79 | if let Ok(mut d) = self.lock_data().write() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/session.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 79 ~ match self.lock_data().write() { Ok(mut d) => { [INFO] [stdout] 80 | // not allowed `RENEWED & CHANGED` [INFO] [stdout] ... [INFO] [stdout] 84 | d.insert(key.into(), to_value(val).map_err(report_error)?); [INFO] [stdout] 85 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/session.rs:97:16 [INFO] [stdout] | [INFO] [stdout] 97 | if let Ok(mut d) = self.lock_data().write() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/session.rs:103:13 [INFO] [stdout] | [INFO] [stdout] 103 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 97 ~ match self.lock_data().write() { Ok(mut d) => { [INFO] [stdout] 98 | // not allowed `RENEWED & CHANGED` [INFO] [stdout] ... [INFO] [stdout] 102 | return d.remove(key); [INFO] [stdout] 103 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/session.rs:122:16 [INFO] [stdout] | [INFO] [stdout] 122 | if let Ok(mut d) = self.lock_data().write() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/session.rs:128:13 [INFO] [stdout] | [INFO] [stdout] 128 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 122 ~ match self.lock_data().write() { Ok(mut d) => { [INFO] [stdout] 123 | // not allowed `RENEWED & CHANGED` [INFO] [stdout] ... [INFO] [stdout] 127 | d.clear(); [INFO] [stdout] 128 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/session.rs:147:16 [INFO] [stdout] | [INFO] [stdout] 147 | if let Ok(mut d) = self.lock_data().write() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/session.rs:149:13 [INFO] [stdout] | [INFO] [stdout] 149 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 147 ~ match self.lock_data().write() { Ok(mut d) => { [INFO] [stdout] 148 | d.clear(); [INFO] [stdout] 149 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 14 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `viz_core` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/types/params/de.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/types/params/de.rs:7:23 [INFO] [stderr] | [INFO] [stderr] 7 | ($trait_fn:ident, $name:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/types/params/de.rs:7:29 [INFO] [stdout] | [INFO] [stdout] 7 | ($trait_fn:ident, $name:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 7 | ($trait_fn:ident, $name:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/cookie.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 54 | if let Ok(mut c) = self.jar().lock() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/cookie.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 54 ~ match self.jar().lock() { Ok(mut c) => { [INFO] [stdout] 55 | c.remove(Cookie::from(name.as_ref().to_string())); [INFO] [stdout] 56 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/cookie.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 69 | if let Ok(mut c) = self.jar().lock() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/cookie.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 69 ~ match self.jar().lock() { Ok(mut c) => { [INFO] [stdout] 70 | c.add(cookie.into_owned()); [INFO] [stdout] 71 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/cookie.rs:76:12 [INFO] [stdout] | [INFO] [stdout] 76 | if let Ok(mut c) = self.jar().lock() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/cookie.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 76 ~ match self.jar().lock() { Ok(mut c) => { [INFO] [stdout] 77 | c.add_original(cookie.into_owned()); [INFO] [stdout] 78 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/cookie.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 83 | if let Ok(mut c) = self.jar().lock() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/cookie.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 83 ~ match self.jar().lock() { Ok(mut c) => { [INFO] [stdout] 84 | c.reset_delta(); [INFO] [stdout] 85 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/cookie.rs:121:12 [INFO] [stdout] | [INFO] [stdout] 121 | if let Ok(mut c) = self.jar().lock() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/cookie.rs:123:9 [INFO] [stdout] | [INFO] [stdout] 123 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 121 ~ match self.jar().lock() { Ok(mut c) => { [INFO] [stdout] 122 | c.private_mut(self.key()).add(cookie.into_owned()); [INFO] [stdout] 123 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/cookie.rs:128:12 [INFO] [stdout] | [INFO] [stdout] 128 | if let Ok(mut c) = self.jar().lock() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/cookie.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 128 ~ match self.jar().lock() { Ok(mut c) => { [INFO] [stdout] 129 | c.private_mut(self.key()) [INFO] [stdout] 130 | .remove(Cookie::from(name.as_ref().to_string())); [INFO] [stdout] 131 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/cookie.rs:136:12 [INFO] [stdout] | [INFO] [stdout] 136 | if let Ok(mut c) = self.jar().lock() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/cookie.rs:138:9 [INFO] [stdout] | [INFO] [stdout] 138 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 136 ~ match self.jar().lock() { Ok(mut c) => { [INFO] [stdout] 137 | c.private_mut(self.key()).add_original(cookie.into_owned()); [INFO] [stdout] 138 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/limits.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 59 | if let Some(val) = self [INFO] [stdout] | _____________^ - [INFO] [stdout] | | ____________________________| [INFO] [stdout] 60 | || .inner [INFO] [stdout] | ||__________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 61 | | .binary_search_by_key(&name, |&(a, _)| a) [INFO] [stdout] 62 | | .ok() [INFO] [stdout] 63 | | .and_then(|i| Arc::make_mut(&mut self.inner).get_mut(i)) [INFO] [stdout] | |_____________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/limits.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 59 ~ match self [INFO] [stdout] 60 | .inner [INFO] [stdout] ... [INFO] [stdout] 63 | .and_then(|i| Arc::make_mut(&mut self.inner).get_mut(i)) [INFO] [stdout] 64 ~ { Some(val) => { [INFO] [stdout] 65 | val.1 = limit; [INFO] [stdout] 66 ~ } _ => { [INFO] [stdout] 67 | Arc::make_mut(&mut self.inner).push((name, limit)); [INFO] [stdout] 68 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/session.rs:79:16 [INFO] [stdout] | [INFO] [stdout] 79 | if let Ok(mut d) = self.lock_data().write() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/session.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 79 ~ match self.lock_data().write() { Ok(mut d) => { [INFO] [stdout] 80 | // not allowed `RENEWED & CHANGED` [INFO] [stdout] ... [INFO] [stdout] 84 | d.insert(key.into(), to_value(val).map_err(report_error)?); [INFO] [stdout] 85 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/session.rs:97:16 [INFO] [stdout] | [INFO] [stdout] 97 | if let Ok(mut d) = self.lock_data().write() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/session.rs:103:13 [INFO] [stdout] | [INFO] [stdout] 103 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 97 ~ match self.lock_data().write() { Ok(mut d) => { [INFO] [stdout] 98 | // not allowed `RENEWED & CHANGED` [INFO] [stdout] ... [INFO] [stdout] 102 | return d.remove(key); [INFO] [stdout] 103 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/session.rs:122:16 [INFO] [stdout] | [INFO] [stdout] 122 | if let Ok(mut d) = self.lock_data().write() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/session.rs:128:13 [INFO] [stdout] | [INFO] [stdout] 128 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 122 ~ match self.lock_data().write() { Ok(mut d) => { [INFO] [stdout] 123 | // not allowed `RENEWED & CHANGED` [INFO] [stdout] ... [INFO] [stdout] 127 | d.clear(); [INFO] [stdout] 128 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/types/session.rs:147:16 [INFO] [stdout] | [INFO] [stdout] 147 | if let Ok(mut d) = self.lock_data().write() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/types/session.rs:149:13 [INFO] [stdout] | [INFO] [stdout] 149 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 147 ~ match self.lock_data().write() { Ok(mut d) => { [INFO] [stdout] 148 | d.clear(); [INFO] [stdout] 149 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 13 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/type_json.rs from 2021 edition to 2024 [INFO] [stdout] warning: missing documentation for the crate [INFO] [stdout] --> tests/type_json.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / use viz_core::{types::Json, IntoResponse, ResponseExt}; [INFO] [stdout] 2 | | [INFO] [stdout] 3 | | #[test] [INFO] [stdout] 4 | | fn json() { [INFO] [stdout] ... | [INFO] [stdout] 11 | | assert_eq!(inner, "json"); [INFO] [stdout] 12 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-W missing-docs` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/type_realip.rs from 2021 edition to 2024 [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/response.rs from 2021 edition to 2024 [INFO] [stdout] warning: missing documentation for the crate [INFO] [stdout] --> tests/type_realip.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / use viz_core::{ [INFO] [stdout] 2 | | header::{HeaderValue, FORWARDED}, [INFO] [stdout] 3 | | types::RealIp, [INFO] [stdout] 4 | | Request, RequestExt, [INFO] [stdout] ... | [INFO] [stdout] 32 | | assert_eq!(req.realip(), Some(RealIp("1.1.1.1".parse().unwrap()))); [INFO] [stdout] 33 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-W missing-docs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Fixed tests/response.rs (3 fixes) [INFO] [stderr] Migrating tests/error.rs from 2021 edition to 2024 [INFO] [stdout] warning: missing documentation for the crate [INFO] [stdout] --> tests/response.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / use futures_util::{stream, Stream, StreamExt}; [INFO] [stdout] 2 | | use headers::{ContentDisposition, ContentType, HeaderMapExt}; [INFO] [stdout] 3 | | use http_body_util::{BodyExt, Full}; [INFO] [stdout] 4 | | use serde::{Deserialize, Serialize}; [INFO] [stdout] ... | [INFO] [stdout] 130 | | Response::redirect_with_status("/oauth", StatusCode::OK); [INFO] [stdout] 131 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-W missing-docs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/request.rs from 2021 edition to 2024 [INFO] [stdout] warning: missing documentation for the crate [INFO] [stdout] --> tests/error.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / use std::error::Error as StdError; [INFO] [stdout] 2 | | use viz_core::{Body, Error, Response, StatusCode}; [INFO] [stdout] 3 | | [INFO] [stdout] 4 | | #[test] [INFO] [stdout] ... | [INFO] [stdout] 45 | | let _: Error = http::Error::from(StatusCode::from_u16(1000).unwrap_err()).into(); [INFO] [stdout] 46 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-W missing-docs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/from_request.rs from 2021 edition to 2024 [INFO] [stdout] warning: missing documentation for the crate [INFO] [stdout] --> tests/request.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / use headers::{ContentType, HeaderValue}; [INFO] [stdout] 2 | | use http::uri::Scheme; [INFO] [stdout] 3 | | use serde::{Deserialize, Serialize}; [INFO] [stdout] 4 | | use viz_core::{ [INFO] [stdout] ... | [INFO] [stdout] 78 | | Ok(()) [INFO] [stdout] 79 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-W missing-docs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for the crate [INFO] [stdout] --> tests/from_request.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / use headers::HeaderValue; [INFO] [stdout] 2 | | use viz_core::{ [INFO] [stdout] 3 | | header::{CONTENT_LENGTH, CONTENT_TYPE}, [INFO] [stdout] 4 | | types::{Form, Json, Limits, PayloadError, State, StateError}, [INFO] [stdout] ... | [INFO] [stdout] 46 | | Ok(()) [INFO] [stdout] 47 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-W missing-docs` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/handler.rs from 2021 edition to 2024 [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function depends on never type fallback being `()` [INFO] [stdout] --> tests/handler.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | async fn it_works() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #123748 [INFO] [stdout] = help: specify the types explicitly [INFO] [stdout] note: in edition 2024, the requirement `!: viz_core::IntoResponse` will fail [INFO] [stdout] --> tests/handler.rs:241:36 [INFO] [stdout] | [INFO] [stdout] 241 | assert!(Handler::call(&aa, Request::new(Body::Empty)).await.is_ok()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/into_response.rs from 2021 edition to 2024 [INFO] [stdout] warning: missing documentation for the crate [INFO] [stdout] --> tests/handler.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / #![allow(dead_code)] [INFO] [stdout] 2 | | #![allow(non_local_definitions)] [INFO] [stdout] 3 | | #![allow(clippy::unused_async)] [INFO] [stdout] 4 | | #![allow(clippy::similar_names)] [INFO] [stdout] ... | [INFO] [stdout] 327 | | Ok(()) [INFO] [stdout] 328 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-W missing-docs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for the crate [INFO] [stdout] --> tests/into_response.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / use headers::{ContentLength, ContentType, HeaderMapExt}; [INFO] [stdout] 2 | | use viz_core::{Error, IntoResponse, Response, StatusCode}; [INFO] [stdout] 3 | | [INFO] [stdout] 4 | | #[test] [INFO] [stdout] ... | [INFO] [stdout] 60 | | assert_eq!(content_length.0, 4); [INFO] [stdout] 61 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-W missing-docs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.53s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking viz-core v0.8.8 (/tmp/fixit) [INFO] [stdout] warning: missing documentation for the crate [INFO] [stdout] --> tests/type_realip.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / use viz_core::{ [INFO] [stdout] 2 | | header::{HeaderValue, FORWARDED}, [INFO] [stdout] 3 | | types::RealIp, [INFO] [stdout] 4 | | Request, RequestExt, [INFO] [stdout] ... | [INFO] [stdout] 32 | | assert_eq!(req.realip(), Some(RealIp("1.1.1.1".parse().unwrap()))); [INFO] [stdout] 33 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-W missing-docs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for the crate [INFO] [stdout] --> tests/error.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / use std::error::Error as StdError; [INFO] [stdout] 2 | | use viz_core::{Body, Error, Response, StatusCode}; [INFO] [stdout] 3 | | [INFO] [stdout] 4 | | #[test] [INFO] [stdout] ... | [INFO] [stdout] 45 | | let _: Error = http::Error::from(StatusCode::from_u16(1000).unwrap_err()).into(); [INFO] [stdout] 46 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-W missing-docs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for the crate [INFO] [stdout] --> tests/type_json.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / use viz_core::{types::Json, IntoResponse, ResponseExt}; [INFO] [stdout] 2 | | [INFO] [stdout] 3 | | #[test] [INFO] [stdout] 4 | | fn json() { [INFO] [stdout] ... | [INFO] [stdout] 11 | | assert_eq!(inner, "json"); [INFO] [stdout] 12 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-W missing-docs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for the crate [INFO] [stdout] --> tests/into_response.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / use headers::{ContentLength, ContentType, HeaderMapExt}; [INFO] [stdout] 2 | | use viz_core::{Error, IntoResponse, Response, StatusCode}; [INFO] [stdout] 3 | | [INFO] [stdout] 4 | | #[test] [INFO] [stdout] ... | [INFO] [stdout] 60 | | assert_eq!(content_length.0, 4); [INFO] [stdout] 61 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-W missing-docs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for the crate [INFO] [stdout] --> tests/from_request.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / use headers::HeaderValue; [INFO] [stdout] 2 | | use viz_core::{ [INFO] [stdout] 3 | | header::{CONTENT_LENGTH, CONTENT_TYPE}, [INFO] [stdout] 4 | | types::{Form, Json, Limits, PayloadError, State, StateError}, [INFO] [stdout] ... | [INFO] [stdout] 46 | | Ok(()) [INFO] [stdout] 47 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-W missing-docs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for the crate [INFO] [stdout] --> tests/request.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / use headers::{ContentType, HeaderValue}; [INFO] [stdout] 2 | | use http::uri::Scheme; [INFO] [stdout] 3 | | use serde::{Deserialize, Serialize}; [INFO] [stdout] 4 | | use viz_core::{ [INFO] [stdout] ... | [INFO] [stdout] 78 | | Ok(()) [INFO] [stdout] 79 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-W missing-docs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for the crate [INFO] [stdout] --> tests/response.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / use futures_util::{stream, Stream, StreamExt}; [INFO] [stdout] 2 | | use headers::{ContentDisposition, ContentType, HeaderMapExt}; [INFO] [stdout] 3 | | use http_body_util::{BodyExt, Full}; [INFO] [stdout] 4 | | use serde::{Deserialize, Serialize}; [INFO] [stdout] ... | [INFO] [stdout] 130 | | Response::redirect_with_status("/oauth", StatusCode::OK); [INFO] [stdout] 131 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-W missing-docs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: viz_core::IntoResponse` is not satisfied [INFO] [stdout] --> tests/handler.rs:241:36 [INFO] [stdout] | [INFO] [stdout] 241 | assert!(Handler::call(&aa, Request::new(Body::Empty)).await.is_ok()); [INFO] [stdout] | ------------- ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `viz_core::IntoResponse` is not implemented for `!`, which is required by `viz_core::handler::CatchUnwind) -> impl viz_core::Future, viz_core::Error>> {a}, MyAround>, fn(http::Request) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::before}>, MyBefore>, fn(std::result::Result, viz_core::Error>) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::after}>, MyAfter>, MyAround>, fn(http::Response) -> http::Response {it_works::{closure#0}::map}>, {closure@tests/handler.rs:234:59: 234:76}, CustomError2, &str>, {closure@tests/handler.rs:238:17: 238:51}>: viz_core::Handler<_>` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `viz_core::IntoResponse`: [INFO] [stdout] &'static [u8] [INFO] [stdout] &'static str [INFO] [stdout] () [INFO] [stdout] (http::StatusCode, T) [INFO] [stdout] CookiesError [INFO] [stdout] CustomError [INFO] [stdout] CustomError2 [INFO] [stdout] HeaderError [INFO] [stdout] and 15 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] = note: required for `CatchUnwind, ...>, ...>, ...>, ...>, ..., ..., ...>, ...>` to implement `viz_core::Handler>` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/handler-dd7d9fb12aad6312.long-type-3188900862564860293.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: viz_core::IntoResponse` is not satisfied [INFO] [stdout] --> tests/handler.rs:248:14 [INFO] [stdout] | [INFO] [stdout] 248 | .map_into_response() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ the trait `viz_core::IntoResponse` is not implemented for `!`, which is required by `viz_core::handler::CatchUnwind) -> impl viz_core::Future, viz_core::Error>> {a}, MyAround>, fn(http::Request) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::before}>, MyBefore>, fn(std::result::Result, viz_core::Error>) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::after}>, MyAfter>, MyAround>, fn(http::Response) -> http::Response {it_works::{closure#0}::map}>, {closure@tests/handler.rs:234:59: 234:76}, CustomError2, &str>, {closure@tests/handler.rs:238:17: 238:51}>: viz_core::Handler<_>` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `viz_core::IntoResponse`: [INFO] [stdout] &'static [u8] [INFO] [stdout] &'static str [INFO] [stdout] () [INFO] [stdout] (http::StatusCode, T) [INFO] [stdout] CookiesError [INFO] [stdout] CustomError [INFO] [stdout] CustomError2 [INFO] [stdout] HeaderError [INFO] [stdout] and 15 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] = note: required for `CatchUnwind, ...>, ...>, ...>, ...>, ..., ..., ...>, ...>` to implement `viz_core::Handler>` [INFO] [stdout] note: required by a bound in `map_into_response` [INFO] [stdout] --> /tmp/fixit/src/handler.rs:88:26 [INFO] [stdout] | [INFO] [stdout] 88 | pub trait HandlerExt: Handler { [INFO] [stdout] | ^^^^^^^^^^ required by this bound in `HandlerExt::map_into_response` [INFO] [stdout] ... [INFO] [stdout] 139 | fn map_into_response(self) -> MapInToResponse [INFO] [stdout] | ----------------- required by a bound in this associated function [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/handler-dd7d9fb12aad6312.long-type-361904834439347065.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: viz_core::IntoResponse` is not satisfied [INFO] [stdout] --> tests/handler.rs:249:14 [INFO] [stdout] | [INFO] [stdout] 249 | .around(th.clone()) [INFO] [stdout] | ^^^^^^ the trait `viz_core::IntoResponse` is not implemented for `!`, which is required by `MapInToResponse) -> impl viz_core::Future, viz_core::Error>> {a}, MyAround>, fn(http::Request) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::before}>, MyBefore>, fn(std::result::Result, viz_core::Error>) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::after}>, MyAfter>, MyAround>, fn(http::Response) -> http::Response {it_works::{closure#0}::map}>, {closure@tests/handler.rs:234:59: 234:76}, CustomError2, &str>, {closure@tests/handler.rs:238:17: 238:51}>>: viz_core::Handler<_>` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `viz_core::IntoResponse`: [INFO] [stdout] &'static [u8] [INFO] [stdout] &'static str [INFO] [stdout] () [INFO] [stdout] (http::StatusCode, T) [INFO] [stdout] CookiesError [INFO] [stdout] CustomError [INFO] [stdout] CustomError2 [INFO] [stdout] HeaderError [INFO] [stdout] and 15 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] = note: required for `CatchUnwind, ...>, ...>, ...>, ...>, ..., ..., ...>, ...>` to implement `viz_core::Handler>` [INFO] [stdout] = note: 1 redundant requirement hidden [INFO] [stdout] = note: required for `MapInToResponse, ...>, ...>, ..., ..., ...>, ...>>` to implement `viz_core::Handler>` [INFO] [stdout] note: required by a bound in `around` [INFO] [stdout] --> /tmp/fixit/src/handler.rs:88:26 [INFO] [stdout] | [INFO] [stdout] 88 | pub trait HandlerExt: Handler { [INFO] [stdout] | ^^^^^^^^^^ required by this bound in `HandlerExt::around` [INFO] [stdout] ... [INFO] [stdout] 106 | fn around(self, f: F) -> Around [INFO] [stdout] | ------ required by a bound in this associated function [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/handler-dd7d9fb12aad6312.long-type-7360401022566882309.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: viz_core::IntoResponse` is not satisfied [INFO] [stdout] --> tests/handler.rs:250:14 [INFO] [stdout] | [INFO] [stdout] 250 | .around(th) [INFO] [stdout] | ^^^^^^ the trait `viz_core::IntoResponse` is not implemented for `!`, which is required by `Around) -> impl viz_core::Future, viz_core::Error>> {a}, MyAround>, fn(http::Request) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::before}>, MyBefore>, fn(std::result::Result, viz_core::Error>) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::after}>, MyAfter>, MyAround>, fn(http::Response) -> http::Response {it_works::{closure#0}::map}>, {closure@tests/handler.rs:234:59: 234:76}, CustomError2, &str>, {closure@tests/handler.rs:238:17: 238:51}>>, MyAround>: viz_core::Handler<_>` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `viz_core::IntoResponse`: [INFO] [stdout] &'static [u8] [INFO] [stdout] &'static str [INFO] [stdout] () [INFO] [stdout] (http::StatusCode, T) [INFO] [stdout] CookiesError [INFO] [stdout] CustomError [INFO] [stdout] CustomError2 [INFO] [stdout] HeaderError [INFO] [stdout] and 15 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] = note: required for `CatchUnwind, ...>, ...>, ...>, ...>, ..., ..., ...>, ...>` to implement `viz_core::Handler>` [INFO] [stdout] = note: 2 redundant requirements hidden [INFO] [stdout] = note: required for `Around, ...>, ..., ..., ...>, ...>>, ...>` to implement `viz_core::Handler>` [INFO] [stdout] note: required by a bound in `around` [INFO] [stdout] --> /tmp/fixit/src/handler.rs:88:26 [INFO] [stdout] | [INFO] [stdout] 88 | pub trait HandlerExt: Handler { [INFO] [stdout] | ^^^^^^^^^^ required by this bound in `HandlerExt::around` [INFO] [stdout] ... [INFO] [stdout] 106 | fn around(self, f: F) -> Around [INFO] [stdout] | ------ required by a bound in this associated function [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/handler-dd7d9fb12aad6312.long-type-8730950107858783182.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: viz_core::IntoResponse` is not satisfied [INFO] [stdout] --> tests/handler.rs:251:14 [INFO] [stdout] | [INFO] [stdout] 251 | .around(MyAround { [INFO] [stdout] | ^^^^^^ the trait `viz_core::IntoResponse` is not implemented for `!`, which is required by `Around) -> impl viz_core::Future, viz_core::Error>> {a}, MyAround>, fn(http::Request) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::before}>, MyBefore>, fn(std::result::Result, viz_core::Error>) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::after}>, MyAfter>, MyAround>, fn(http::Response) -> http::Response {it_works::{closure#0}::map}>, {closure@tests/handler.rs:234:59: 234:76}, CustomError2, &str>, {closure@tests/handler.rs:238:17: 238:51}>>, MyAround>, MyAround>: viz_core::Handler<_>` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `viz_core::IntoResponse`: [INFO] [stdout] &'static [u8] [INFO] [stdout] &'static str [INFO] [stdout] () [INFO] [stdout] (http::StatusCode, T) [INFO] [stdout] CookiesError [INFO] [stdout] CustomError [INFO] [stdout] CustomError2 [INFO] [stdout] HeaderError [INFO] [stdout] and 15 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] = note: required for `CatchUnwind, ...>, ...>, ...>, ...>, ..., ..., ...>, ...>` to implement `viz_core::Handler>` [INFO] [stdout] = note: 3 redundant requirements hidden [INFO] [stdout] = note: required for `Around, ..., ..., ...>, ...>>, ...>, ...>` to implement `viz_core::Handler>` [INFO] [stdout] note: required by a bound in `around` [INFO] [stdout] --> /tmp/fixit/src/handler.rs:88:26 [INFO] [stdout] | [INFO] [stdout] 88 | pub trait HandlerExt: Handler { [INFO] [stdout] | ^^^^^^^^^^ required by this bound in `HandlerExt::around` [INFO] [stdout] ... [INFO] [stdout] 106 | fn around(self, f: F) -> Around [INFO] [stdout] | ------ required by a bound in this associated function [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/handler-dd7d9fb12aad6312.long-type-1658953624019399389.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: viz_core::IntoResponse` is not satisfied [INFO] [stdout] --> tests/handler.rs:254:14 [INFO] [stdout] | [INFO] [stdout] 254 | .before(before) [INFO] [stdout] | ^^^^^^ the trait `viz_core::IntoResponse` is not implemented for `!`, which is required by `Around) -> impl viz_core::Future, viz_core::Error>> {a}, MyAround>, fn(http::Request) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::before}>, MyBefore>, fn(std::result::Result, viz_core::Error>) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::after}>, MyAfter>, MyAround>, fn(http::Response) -> http::Response {it_works::{closure#0}::map}>, {closure@tests/handler.rs:234:59: 234:76}, CustomError2, &str>, {closure@tests/handler.rs:238:17: 238:51}>>, MyAround>, MyAround>, MyAround>: viz_core::Handler<_>` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `viz_core::IntoResponse`: [INFO] [stdout] &'static [u8] [INFO] [stdout] &'static str [INFO] [stdout] () [INFO] [stdout] (http::StatusCode, T) [INFO] [stdout] CookiesError [INFO] [stdout] CustomError [INFO] [stdout] CustomError2 [INFO] [stdout] HeaderError [INFO] [stdout] and 15 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] = note: required for `CatchUnwind, ...>, ...>, ...>, ...>, ..., ..., ...>, ...>` to implement `viz_core::Handler>` [INFO] [stdout] = note: 4 redundant requirements hidden [INFO] [stdout] = note: required for `Around, ...>>, ...>, ...>, ...>` to implement `viz_core::Handler>` [INFO] [stdout] note: required by a bound in `viz_core::HandlerExt::before` [INFO] [stdout] --> /tmp/fixit/src/handler.rs:88:26 [INFO] [stdout] | [INFO] [stdout] 88 | pub trait HandlerExt: Handler { [INFO] [stdout] | ^^^^^^^^^^ required by this bound in `HandlerExt::before` [INFO] [stdout] 89 | /// Maps the input before the handler calls. [INFO] [stdout] 90 | fn before(self, f: F) -> Before [INFO] [stdout] | ------ required by a bound in this associated function [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/handler-dd7d9fb12aad6312.long-type-10611894824701361929.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: viz_core::IntoResponse` is not satisfied [INFO] [stdout] --> tests/handler.rs:255:14 [INFO] [stdout] | [INFO] [stdout] 255 | .map(map) [INFO] [stdout] | ^^^ the trait `viz_core::IntoResponse` is not implemented for `!`, which is required by `Before) -> impl viz_core::Future, viz_core::Error>> {a}, MyAround>, fn(http::Request) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::before}>, MyBefore>, fn(std::result::Result, viz_core::Error>) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::after}>, MyAfter>, MyAround>, fn(http::Response) -> http::Response {it_works::{closure#0}::map}>, {closure@tests/handler.rs:234:59: 234:76}, CustomError2, &str>, {closure@tests/handler.rs:238:17: 238:51}>>, MyAround>, MyAround>, MyAround>, fn(http::Request) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::before}>: viz_core::Handler<_>` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `viz_core::IntoResponse`: [INFO] [stdout] &'static [u8] [INFO] [stdout] &'static str [INFO] [stdout] () [INFO] [stdout] (http::StatusCode, T) [INFO] [stdout] CookiesError [INFO] [stdout] CustomError [INFO] [stdout] CustomError2 [INFO] [stdout] HeaderError [INFO] [stdout] and 15 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] = note: required for `CatchUnwind, ...>, ...>, ...>, ...>, ..., ..., ...>, ...>` to implement `viz_core::Handler>` [INFO] [stdout] = note: 5 redundant requirements hidden [INFO] [stdout] = note: required for `Before>, ...>, ...>, ...>, ...>` to implement `viz_core::Handler>` [INFO] [stdout] note: required by a bound in `viz_core::HandlerExt::map` [INFO] [stdout] --> /tmp/fixit/src/handler.rs:88:26 [INFO] [stdout] | [INFO] [stdout] 88 | pub trait HandlerExt: Handler { [INFO] [stdout] | ^^^^^^^^^^ required by this bound in `HandlerExt::map` [INFO] [stdout] ... [INFO] [stdout] 129 | fn map(self, f: F) -> Map [INFO] [stdout] | --- required by a bound in this associated function [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/handler-dd7d9fb12aad6312.long-type-4084114343759580435.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: viz_core::IntoResponse` is not satisfied [INFO] [stdout] --> tests/handler.rs:256:14 [INFO] [stdout] | [INFO] [stdout] 256 | .map_err(map_err) [INFO] [stdout] | ^^^^^^^ the trait `viz_core::IntoResponse` is not implemented for `!`, which is required by `viz_core::handler::Map) -> impl viz_core::Future, viz_core::Error>> {a}, MyAround>, fn(http::Request) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::before}>, MyBefore>, fn(std::result::Result, viz_core::Error>) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::after}>, MyAfter>, MyAround>, fn(http::Response) -> http::Response {it_works::{closure#0}::map}>, {closure@tests/handler.rs:234:59: 234:76}, CustomError2, &str>, {closure@tests/handler.rs:238:17: 238:51}>>, MyAround>, MyAround>, MyAround>, fn(http::Request) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::before}>, fn(http::Response) -> http::Response {it_works::{closure#0}::map}>: viz_core::Handler<_>` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `viz_core::IntoResponse`: [INFO] [stdout] &'static [u8] [INFO] [stdout] &'static str [INFO] [stdout] () [INFO] [stdout] (http::StatusCode, T) [INFO] [stdout] CookiesError [INFO] [stdout] CustomError [INFO] [stdout] CustomError2 [INFO] [stdout] HeaderError [INFO] [stdout] and 15 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] = note: required for `CatchUnwind, ...>, ...>, ...>, ...>, ..., ..., ...>, ...>` to implement `viz_core::Handler>` [INFO] [stdout] = note: 5 redundant requirements hidden [INFO] [stdout] = note: required for `Map>, ...>, ...>, ...>, ...>, ...>` to implement `viz_core::Handler>` [INFO] [stdout] note: required by a bound in `viz_core::HandlerExt::map_err` [INFO] [stdout] --> /tmp/fixit/src/handler.rs:88:26 [INFO] [stdout] | [INFO] [stdout] 88 | pub trait HandlerExt: Handler { [INFO] [stdout] | ^^^^^^^^^^ required by this bound in `HandlerExt::map_err` [INFO] [stdout] ... [INFO] [stdout] 155 | fn map_err(self, f: F) -> MapErr [INFO] [stdout] | ------- required by a bound in this associated function [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/handler-dd7d9fb12aad6312.long-type-14819677893264250497.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: viz_core::IntoResponse` is not satisfied [INFO] [stdout] --> tests/handler.rs:257:14 [INFO] [stdout] | [INFO] [stdout] 257 | .or_else(or_else); [INFO] [stdout] | ^^^^^^^ the trait `viz_core::IntoResponse` is not implemented for `!`, which is required by `viz_core::handler::MapErr) -> impl viz_core::Future, viz_core::Error>> {a}, MyAround>, fn(http::Request) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::before}>, MyBefore>, fn(std::result::Result, viz_core::Error>) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::after}>, MyAfter>, MyAround>, fn(http::Response) -> http::Response {it_works::{closure#0}::map}>, {closure@tests/handler.rs:234:59: 234:76}, CustomError2, &str>, {closure@tests/handler.rs:238:17: 238:51}>>, MyAround>, MyAround>, MyAround>, fn(http::Request) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::before}>, fn(http::Response) -> http::Response {it_works::{closure#0}::map}>, fn(viz_core::Error) -> viz_core::Error {it_works::{closure#0}::map_err}>: viz_core::Handler<_>` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `viz_core::IntoResponse`: [INFO] [stdout] &'static [u8] [INFO] [stdout] &'static str [INFO] [stdout] () [INFO] [stdout] (http::StatusCode, T) [INFO] [stdout] CookiesError [INFO] [stdout] CustomError [INFO] [stdout] CustomError2 [INFO] [stdout] HeaderError [INFO] [stdout] and 15 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] = note: required for `CatchUnwind, ...>, ...>, ...>, ...>, ..., ..., ...>, ...>` to implement `viz_core::Handler>` [INFO] [stdout] = note: 6 redundant requirements hidden [INFO] [stdout] = note: required for `MapErr, ...>, ...>, ...>, ...>, ...>, ...>` to implement `viz_core::Handler>` [INFO] [stdout] note: required by a bound in `viz_core::HandlerExt::or_else` [INFO] [stdout] --> /tmp/fixit/src/handler.rs:88:26 [INFO] [stdout] | [INFO] [stdout] 88 | pub trait HandlerExt: Handler { [INFO] [stdout] | ^^^^^^^^^^ required by this bound in `HandlerExt::or_else` [INFO] [stdout] ... [INFO] [stdout] 163 | fn or_else(self, f: F) -> OrElse [INFO] [stdout] | ------- required by a bound in this associated function [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/handler-dd7d9fb12aad6312.long-type-10411022611116148058.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: viz_core::IntoResponse` is not satisfied [INFO] [stdout] --> tests/handler.rs:289:26 [INFO] [stdout] | [INFO] [stdout] 289 | assert!(rha.call(Request::default()).await.is_ok()); [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^ the trait `viz_core::IntoResponse` is not implemented for `!`, which is required by `viz_core::handler::OrElse) -> impl viz_core::Future, viz_core::Error>> {a}, MyAround>, fn(http::Request) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::before}>, MyBefore>, fn(std::result::Result, viz_core::Error>) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::after}>, MyAfter>, MyAround>, fn(http::Response) -> http::Response {it_works::{closure#0}::map}>, {closure@tests/handler.rs:234:59: 234:76}, CustomError2, &str>, {closure@tests/handler.rs:238:17: 238:51}>>, MyAround>, MyAround>, MyAround>, fn(http::Request) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::before}>, fn(http::Response) -> http::Response {it_works::{closure#0}::map}>, fn(viz_core::Error) -> viz_core::Error {it_works::{closure#0}::map_err}>, fn(viz_core::Error) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::or_else}>: viz_core::Handler<_>` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `viz_core::IntoResponse`: [INFO] [stdout] &'static [u8] [INFO] [stdout] &'static str [INFO] [stdout] () [INFO] [stdout] (http::StatusCode, T) [INFO] [stdout] CookiesError [INFO] [stdout] CustomError [INFO] [stdout] CustomError2 [INFO] [stdout] HeaderError [INFO] [stdout] and 15 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] = note: required for `CatchUnwind, ...>, ...>, ...>, ...>, ..., ..., ...>, ...>` to implement `viz_core::Handler>` [INFO] [stdout] = note: 7 redundant requirements hidden [INFO] [stdout] = note: required for `OrElse, ...>, ...>, ...>, ...>, ...>, ...>, ...>` to implement `viz_core::Handler>` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/handler-dd7d9fb12aad6312.long-type-7397091742944568041.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: viz_core::IntoResponse` is not satisfied [INFO] [stdout] --> tests/handler.rs:291:37 [INFO] [stdout] | [INFO] [stdout] 291 | assert!(Handler::call(&rha, Request::new(Body::Empty)).await.is_ok()); [INFO] [stdout] | ------------- ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `viz_core::IntoResponse` is not implemented for `!`, which is required by `viz_core::handler::OrElse) -> impl viz_core::Future, viz_core::Error>> {a}, MyAround>, fn(http::Request) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::before}>, MyBefore>, fn(std::result::Result, viz_core::Error>) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::after}>, MyAfter>, MyAround>, fn(http::Response) -> http::Response {it_works::{closure#0}::map}>, {closure@tests/handler.rs:234:59: 234:76}, CustomError2, &str>, {closure@tests/handler.rs:238:17: 238:51}>>, MyAround>, MyAround>, MyAround>, fn(http::Request) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::before}>, fn(http::Response) -> http::Response {it_works::{closure#0}::map}>, fn(viz_core::Error) -> viz_core::Error {it_works::{closure#0}::map_err}>, fn(viz_core::Error) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::or_else}>: viz_core::Handler<_>` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `viz_core::IntoResponse`: [INFO] [stdout] &'static [u8] [INFO] [stdout] &'static str [INFO] [stdout] () [INFO] [stdout] (http::StatusCode, T) [INFO] [stdout] CookiesError [INFO] [stdout] CustomError [INFO] [stdout] CustomError2 [INFO] [stdout] HeaderError [INFO] [stdout] and 15 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] = note: required for `CatchUnwind, ...>, ...>, ...>, ...>, ..., ..., ...>, ...>` to implement `viz_core::Handler>` [INFO] [stdout] = note: 7 redundant requirements hidden [INFO] [stdout] = note: required for `OrElse, ...>, ...>, ...>, ...>, ...>, ...>, ...>` to implement `viz_core::Handler>` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/handler-dd7d9fb12aad6312.long-type-8350796968932602617.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `!: viz_core::IntoResponse` is not satisfied [INFO] [stdout] --> tests/handler.rs:295:42 [INFO] [stdout] | [INFO] [stdout] 295 | let brha: BoxHandler<_, _> = rha.boxed(); [INFO] [stdout] | ^^^^^ the trait `viz_core::IntoResponse` is not implemented for `!`, which is required by `viz_core::handler::OrElse) -> impl viz_core::Future, viz_core::Error>> {a}, MyAround>, fn(http::Request) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::before}>, MyBefore>, fn(std::result::Result, viz_core::Error>) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::after}>, MyAfter>, MyAround>, fn(http::Response) -> http::Response {it_works::{closure#0}::map}>, {closure@tests/handler.rs:234:59: 234:76}, CustomError2, &str>, {closure@tests/handler.rs:238:17: 238:51}>>, MyAround>, MyAround>, MyAround>, fn(http::Request) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::before}>, fn(http::Response) -> http::Response {it_works::{closure#0}::map}>, fn(viz_core::Error) -> viz_core::Error {it_works::{closure#0}::map_err}>, fn(viz_core::Error) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::or_else}>: viz_core::Handler<_>` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `viz_core::IntoResponse`: [INFO] [stdout] &'static [u8] [INFO] [stdout] &'static str [INFO] [stdout] () [INFO] [stdout] (http::StatusCode, T) [INFO] [stdout] CookiesError [INFO] [stdout] CustomError [INFO] [stdout] CustomError2 [INFO] [stdout] HeaderError [INFO] [stdout] and 15 others [INFO] [stdout] = note: this error might have been caused by changes to Rust's type-inference algorithm (see issue #48950 for more information) [INFO] [stdout] = help: did you intend to use the type `()` here instead? [INFO] [stdout] = note: required for `CatchUnwind, ...>, ...>, ...>, ...>, ..., ..., ...>, ...>` to implement `viz_core::Handler>` [INFO] [stdout] = note: 7 redundant requirements hidden [INFO] [stdout] = note: required for `OrElse, ...>, ...>, ...>, ...>, ...>, ...>, ...>` to implement `viz_core::Handler>` [INFO] [stdout] note: required by a bound in `viz_core::HandlerExt::boxed` [INFO] [stdout] --> /tmp/fixit/src/handler.rs:88:26 [INFO] [stdout] | [INFO] [stdout] 88 | pub trait HandlerExt: Handler { [INFO] [stdout] | ^^^^^^^^^^ required by this bound in `HandlerExt::boxed` [INFO] [stdout] ... [INFO] [stdout] 187 | fn boxed(self) -> BoxHandler [INFO] [stdout] | ----- required by a bound in this associated function [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/handler-dd7d9fb12aad6312.long-type-8058476993955505001.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `viz_core::handler::CatchUnwind) -> impl viz_core::Future, viz_core::Error>> {a}, MyAround>, fn(http::Request) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::before}>, MyBefore>, fn(std::result::Result, viz_core::Error>) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::after}>, MyAfter>, MyAround>, fn(http::Response) -> http::Response {it_works::{closure#0}::map}>, {closure@tests/handler.rs:234:59: 234:76}, CustomError2, &str>, {closure@tests/handler.rs:238:17: 238:51}>: viz_core::Handler>` is not satisfied [INFO] [stdout] --> tests/handler.rs:241:17 [INFO] [stdout] | [INFO] [stdout] 241 | assert!(Handler::call(&aa, Request::new(Body::Empty)).await.is_ok()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `viz_core::Handler>` is not implemented for `CatchUnwind, ...>, ...>, ...>, ...>, ..., ..., ...>, ...>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `viz_core::Handler` is implemented for `viz_core::handler::CatchUnwind` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `viz_core::handler::OrElse) -> impl viz_core::Future, viz_core::Error>> {a}, MyAround>, fn(http::Request) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::before}>, MyBefore>, fn(std::result::Result, viz_core::Error>) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::after}>, MyAfter>, MyAround>, fn(http::Response) -> http::Response {it_works::{closure#0}::map}>, {closure@tests/handler.rs:234:59: 234:76}, CustomError2, &str>, {closure@tests/handler.rs:238:17: 238:51}>>, MyAround>, MyAround>, MyAround>, fn(http::Request) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::before}>, fn(http::Response) -> http::Response {it_works::{closure#0}::map}>, fn(viz_core::Error) -> viz_core::Error {it_works::{closure#0}::map_err}>, fn(viz_core::Error) -> impl viz_core::Future, viz_core::Error>> {it_works::{closure#0}::or_else}>: viz_core::Handler>` is not satisfied [INFO] [stdout] --> tests/handler.rs:291:17 [INFO] [stdout] | [INFO] [stdout] 291 | assert!(Handler::call(&rha, Request::new(Body::Empty)).await.is_ok()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `viz_core::Handler>` is not implemented for `OrElse, ...>, ...>, ...>, ...>, ...>, ...>, ...>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `viz_core::Handler` is implemented for `viz_core::handler::OrElse` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 14 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `viz-core` (test "handler") due to 15 previous errors [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "1983eac138b5db07537e1e6587d5a94b50bc0452a84f6c1d688797b23d9db51d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1983eac138b5db07537e1e6587d5a94b50bc0452a84f6c1d688797b23d9db51d", kill_on_drop: false }` [INFO] [stdout] 1983eac138b5db07537e1e6587d5a94b50bc0452a84f6c1d688797b23d9db51d