[INFO] fetching crate galvanic-assert 0.8.7... [INFO] checking galvanic-assert-0.8.7 against try#4d98531622e1718ae0bc3c7a1ab9cd8938428452+rustflags=-Dtail_expr_drop_order for pr-129604 [INFO] extracting crate galvanic-assert 0.8.7 into /workspace/builds/worker-6-tc2/source [INFO] validating manifest of crates.io crate galvanic-assert 0.8.7 on toolchain 4d98531622e1718ae0bc3c7a1ab9cd8938428452 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate galvanic-assert 0.8.7 [INFO] finished tweaking crates.io crate galvanic-assert 0.8.7 [INFO] tweaked toml for crates.io crate galvanic-assert 0.8.7 written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] Blocking waiting for file lock on package cache [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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] da62219e98ca0a1c633abd4d5f248c33c72aa642f0fb5fd8b00a656b2acf9281 [INFO] running `Command { std: "docker" "start" "-a" "da62219e98ca0a1c633abd4d5f248c33c72aa642f0fb5fd8b00a656b2acf9281", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "da62219e98ca0a1c633abd4d5f248c33c72aa642f0fb5fd8b00a656b2acf9281", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "da62219e98ca0a1c633abd4d5f248c33c72aa642f0fb5fd8b00a656b2acf9281", kill_on_drop: false }` [INFO] [stdout] da62219e98ca0a1c633abd4d5f248c33c72aa642f0fb5fd8b00a656b2acf9281 [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 -Dtail_expr_drop_order" "-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c7cb23fc564bb614edd061c4e33d6cc1d2641709785ffe0f75700243dfea434f [INFO] running `Command { std: "docker" "start" "-a" "c7cb23fc564bb614edd061c4e33d6cc1d2641709785ffe0f75700243dfea434f", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] Checking galvanic-assert v0.8.7 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/combinators.rs:49:22 [INFO] [stdout] | [INFO] [stdout] 49 | pub matcher: Box + 'a>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 49 | pub matcher: Box + 'a>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/combinators.rs:116:22 [INFO] [stdout] | [INFO] [stdout] 116 | pub matcher: Box + 'a>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 116 | pub matcher: Box + 'a>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:43:52 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn assertion_always_succeeds<'a,T:'a>() -> Box + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 43 | pub fn assertion_always_succeeds<'a,T:'a>() -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:55:36 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn any_value<'a,T:'a>() -> Box + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 55 | pub fn any_value<'a,T:'a>() -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:71:49 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn assertion_always_fails<'a,T:'a>() -> Box + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 71 | pub fn assertion_always_fails<'a,T:'a>() -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:88:35 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn no_value<'a,T:'a>() -> Box + 'a> { assertion_always_fails() } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 88 | pub fn no_value<'a,T:'a>() -> Box + 'a> { assertion_always_fails() } [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:101:34 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn is<'a, T:'a>(matcher: Box + 'a>) -> Box + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 101 | pub fn is<'a, T:'a>(matcher: Box + 'a>) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:101:62 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn is<'a, T:'a>(matcher: Box + 'a>) -> Box + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 101 | pub fn is<'a, T:'a>(matcher: Box + 'a>) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:117:35 [INFO] [stdout] | [INFO] [stdout] 117 | pub fn has<'a, T:'a>(matcher: Box + 'a>) -> Box + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 117 | pub fn has<'a, T:'a>(matcher: Box + 'a>) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:117:63 [INFO] [stdout] | [INFO] [stdout] 117 | pub fn has<'a, T:'a>(matcher: Box + 'a>) -> Box + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 117 | pub fn has<'a, T:'a>(matcher: Box + 'a>) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:130:36 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn not<'a, T: 'a>(matcher: Box + 'a>) -> Box + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 130 | pub fn not<'a, T: 'a>(matcher: Box + 'a>) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:130:64 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn not<'a, T: 'a>(matcher: Box + 'a>) -> Box + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 130 | pub fn not<'a, T: 'a>(matcher: Box + 'a>) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:154:44 [INFO] [stdout] | [INFO] [stdout] 154 | pub fn equal_to<'a, T>(expected: T) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 154 | pub fn equal_to<'a, T>(expected: T) -> Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:170:62 [INFO] [stdout] | [INFO] [stdout] 170 | pub fn eq<'a, T: PartialEq + Debug + 'a>(expected: T) -> Box + 'a> { equal_to(expected) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 170 | pub fn eq<'a, T: PartialEq + Debug + 'a>(expected: T) -> Box + 'a> { equal_to(expected) } [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:183:45 [INFO] [stdout] | [INFO] [stdout] 183 | pub fn less_than<'a, T>(expected: T) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 183 | pub fn less_than<'a, T>(expected: T) -> Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:198:63 [INFO] [stdout] | [INFO] [stdout] 198 | pub fn lt<'a, T: PartialOrd + Debug + 'a>(expected: T) -> Box + 'a> { less_than(expected) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 198 | pub fn lt<'a, T: PartialOrd + Debug + 'a>(expected: T) -> Box + 'a> { less_than(expected) } [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:211:48 [INFO] [stdout] | [INFO] [stdout] 211 | pub fn greater_than<'a, T>(expected: T) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 211 | pub fn greater_than<'a, T>(expected: T) -> Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:226:63 [INFO] [stdout] | [INFO] [stdout] 226 | pub fn gt<'a, T: PartialOrd + Debug + 'a>(expected: T) -> Box + 'a> { greater_than(expected) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 226 | pub fn gt<'a, T: PartialOrd + Debug + 'a>(expected: T) -> Box + 'a> { greater_than(expected) } [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:240:54 [INFO] [stdout] | [INFO] [stdout] 240 | pub fn less_than_or_equal<'a, T>(expected: T) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 240 | pub fn less_than_or_equal<'a, T>(expected: T) -> Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:256:64 [INFO] [stdout] | [INFO] [stdout] 256 | pub fn leq<'a, T: PartialOrd + Debug + 'a>(expected: T) -> Box + 'a> { less_than_or_equal(expected) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 256 | pub fn leq<'a, T: PartialOrd + Debug + 'a>(expected: T) -> Box + 'a> { less_than_or_equal(expected) } [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:270:57 [INFO] [stdout] | [INFO] [stdout] 270 | pub fn greater_than_or_equal<'a, T>(expected: T) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 270 | pub fn greater_than_or_equal<'a, T>(expected: T) -> Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:286:64 [INFO] [stdout] | [INFO] [stdout] 286 | pub fn geq<'a, T: PartialOrd + Debug + 'a>(expected: T) -> Box + 'a> { greater_than_or_equal(expected) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 286 | pub fn geq<'a, T: PartialOrd + Debug + 'a>(expected: T) -> Box + 'a> { greater_than_or_equal(expected) } [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:299:52 [INFO] [stdout] | [INFO] [stdout] 299 | pub fn close_to<'a, T>(expected: T, eps: T) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 299 | pub fn close_to<'a, T>(expected: T, eps: T) -> Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/combinators.rs:49:22 [INFO] [stdout] | [INFO] [stdout] 49 | pub matcher: Box + 'a>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 49 | pub matcher: Box + 'a>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:334:51 [INFO] [stdout] | [INFO] [stdout] 334 | pub fn same_object<'a, T>(expected: &'a T) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 334 | pub fn same_object<'a, T>(expected: &'a T) -> Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/combinators.rs:116:22 [INFO] [stdout] | [INFO] [stdout] 116 | pub matcher: Box + 'a>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 116 | pub matcher: Box + 'a>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/variant.rs:67:43 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn maybe_some<'a, T: 'a>(matcher: Box + 'a>) -> Box> + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 67 | pub fn maybe_some<'a, T: 'a>(matcher: Box + 'a>) -> Box> + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/variant.rs:67:71 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn maybe_some<'a, T: 'a>(matcher: Box + 'a>) -> Box> + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 67 | pub fn maybe_some<'a, T: 'a>(matcher: Box + 'a>) -> Box> + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/variant.rs:88:48 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn maybe_ok<'a, T: 'a, E: 'a>(matcher: Box + 'a>) -> Box> + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 88 | pub fn maybe_ok<'a, T: 'a, E: 'a>(matcher: Box + 'a>) -> Box> + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/variant.rs:88:76 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn maybe_ok<'a, T: 'a, E: 'a>(matcher: Box + 'a>) -> Box> + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 88 | pub fn maybe_ok<'a, T: 'a, E: 'a>(matcher: Box + 'a>) -> Box> + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/variant.rs:109:49 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn maybe_err<'a, T: 'a, E: 'a>(matcher: Box + 'a>) -> Box> + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 109 | pub fn maybe_err<'a, T: 'a, E: 'a>(matcher: Box + 'a>) -> Box> + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/variant.rs:109:77 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn maybe_err<'a, T: 'a, E: 'a>(matcher: Box + 'a>) -> Box> + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 109 | pub fn maybe_err<'a, T: 'a, E: 'a>(matcher: Box + 'a>) -> Box> + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/collection.rs:47:78 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn contains_in_any_order<'a,T:'a,I:'a,J:'a>(expected_elements: I) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 47 | pub fn contains_in_any_order<'a,T:'a,I:'a,J:'a>(expected_elements: I) -> Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/collection.rs:109:74 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn contains_in_order<'a,T:'a,I:'a,J:'a>(expected_elements: I) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 109 | pub fn contains_in_order<'a,T:'a,I:'a,J:'a>(expected_elements: I) -> Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/collection.rs:166:72 [INFO] [stdout] | [INFO] [stdout] 166 | pub fn contains_subset<'a,T:'a,I:'a,J:'a>(expected_elements: I) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 166 | pub fn contains_subset<'a,T:'a,I:'a,J:'a>(expected_elements: I) -> Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/collection.rs:214:63 [INFO] [stdout] | [INFO] [stdout] 214 | pub fn contained_in<'a,T:'a,I>(expected_to_contain: I) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 214 | pub fn contained_in<'a,T:'a,I>(expected_to_contain: I) -> Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/collection.rs:248:88 [INFO] [stdout] | [INFO] [stdout] 248 | pub fn sorted_by<'a,T,I,P>(predicate: P, expected_ordering: std::cmp::Ordering) -> Box MatchResult> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 248 | pub fn sorted_by<'a,T,I,P>(predicate: P, expected_ordering: std::cmp::Ordering) -> Box MatchResult> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/collection.rs:289:97 [INFO] [stdout] | [INFO] [stdout] 289 | pub fn sorted_strictly_by<'a,T,I,P>(predicate: P, expected_ordering: std::cmp::Ordering) -> Box MatchResult> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 289 | pub fn sorted_strictly_by<'a,T,I,P>(predicate: P, expected_ordering: std::cmp::Ordering) -> Box MatchResult> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:43:52 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn assertion_always_succeeds<'a,T:'a>() -> Box + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 43 | pub fn assertion_always_succeeds<'a,T:'a>() -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/collection.rs:329:62 [INFO] [stdout] | [INFO] [stdout] 329 | pub fn sorted_by_in_any_order<'a,T,I,P>(predicate: P) -> Box MatchResult> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 329 | pub fn sorted_by_in_any_order<'a,T,I,P>(predicate: P) -> Box MatchResult> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:55:36 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn any_value<'a,T:'a>() -> Box + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 55 | pub fn any_value<'a,T:'a>() -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/collection.rs:375:71 [INFO] [stdout] | [INFO] [stdout] 375 | pub fn sorted_strictly_by_in_any_order<'a,T,I,P>(predicate: P) -> Box MatchResult> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 375 | pub fn sorted_strictly_by_in_any_order<'a,T,I,P>(predicate: P) -> Box MatchResult> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:71:49 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn assertion_always_fails<'a,T:'a>() -> Box + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 71 | pub fn assertion_always_fails<'a,T:'a>() -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/collection.rs:422:42 [INFO] [stdout] | [INFO] [stdout] 422 | pub fn sorted_ascending<'a,T,I>() -> Box MatchResult> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 422 | pub fn sorted_ascending<'a,T,I>() -> Box MatchResult> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/collection.rs:439:51 [INFO] [stdout] | [INFO] [stdout] 439 | pub fn sorted_strictly_ascending<'a,T,I>() -> Box MatchResult> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 439 | pub fn sorted_strictly_ascending<'a,T,I>() -> Box MatchResult> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:88:35 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn no_value<'a,T:'a>() -> Box + 'a> { assertion_always_fails() } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 88 | pub fn no_value<'a,T:'a>() -> Box + 'a> { assertion_always_fails() } [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/collection.rs:456:43 [INFO] [stdout] | [INFO] [stdout] 456 | pub fn sorted_descending<'a,T,I>() -> Box MatchResult> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 456 | pub fn sorted_descending<'a,T,I>() -> Box MatchResult> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:101:34 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn is<'a, T:'a>(matcher: Box + 'a>) -> Box + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 101 | pub fn is<'a, T:'a>(matcher: Box + 'a>) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/collection.rs:473:52 [INFO] [stdout] | [INFO] [stdout] 473 | pub fn sorted_strictly_descending<'a,T,I>() -> Box MatchResult> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 473 | pub fn sorted_strictly_descending<'a,T,I>() -> Box MatchResult> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:101:62 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn is<'a, T:'a>(matcher: Box + 'a>) -> Box + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 101 | pub fn is<'a, T:'a>(matcher: Box + 'a>) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/collection.rs:490:60 [INFO] [stdout] | [INFO] [stdout] 490 | pub fn all_elements_satisfy<'a,T,I,P>(predicate: P) -> Box MatchResult> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 490 | pub fn all_elements_satisfy<'a,T,I,P>(predicate: P) -> Box MatchResult> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:117:35 [INFO] [stdout] | [INFO] [stdout] 117 | pub fn has<'a, T:'a>(matcher: Box + 'a>) -> Box + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 117 | pub fn has<'a, T:'a>(matcher: Box + 'a>) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/collection.rs:518:61 [INFO] [stdout] | [INFO] [stdout] 518 | pub fn some_elements_satisfy<'a,T,I,P>(predicate: P) -> Box MatchResult> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 518 | pub fn some_elements_satisfy<'a,T,I,P>(predicate: P) -> Box MatchResult> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:117:63 [INFO] [stdout] | [INFO] [stdout] 117 | pub fn has<'a, T:'a>(matcher: Box + 'a>) -> Box + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 117 | pub fn has<'a, T:'a>(matcher: Box + 'a>) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/collection.rs:566:62 [INFO] [stdout] | [INFO] [stdout] 566 | pub fn has_entry<'a,K:'a,V:'a,M:'a>(key: K, value: V) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 566 | pub fn has_entry<'a,K:'a,V:'a,M:'a>(key: K, value: V) -> Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/collection.rs:637:50 [INFO] [stdout] | [INFO] [stdout] 637 | pub fn has_key<'a,K:'a,V:'a,M:'a>(key: K) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 637 | pub fn has_key<'a,K:'a,V:'a,M:'a>(key: K) -> Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:130:36 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn not<'a, T: 'a>(matcher: Box + 'a>) -> Box + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 130 | pub fn not<'a, T: 'a>(matcher: Box + 'a>) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/collection.rs:690:52 [INFO] [stdout] | [INFO] [stdout] 690 | pub fn has_value<'a,K:'a,V:'a,M:'a>(key: K) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 690 | pub fn has_value<'a,K:'a,V:'a,M:'a>(key: K) -> Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:130:64 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn not<'a, T: 'a>(matcher: Box + 'a>) -> Box + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 130 | pub fn not<'a, T: 'a>(matcher: Box + 'a>) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/combinators.rs:55:28 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn of(matcher: Box + 'a>) -> All<'a,T> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 55 | pub fn of(matcher: Box + 'a>) -> All<'a,T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:154:44 [INFO] [stdout] | [INFO] [stdout] 154 | pub fn equal_to<'a, T>(expected: T) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 154 | pub fn equal_to<'a, T>(expected: T) -> Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/combinators.rs:63:35 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn and(self, matcher: Box + 'a>) -> All<'a,T> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 63 | pub fn and(self, matcher: Box + 'a>) -> All<'a,T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/combinators.rs:122:28 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn of(matcher: Box + 'a>) -> Any<'a,T> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 122 | pub fn of(matcher: Box + 'a>) -> Any<'a,T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:170:62 [INFO] [stdout] | [INFO] [stdout] 170 | pub fn eq<'a, T: PartialEq + Debug + 'a>(expected: T) -> Box + 'a> { equal_to(expected) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 170 | pub fn eq<'a, T: PartialEq + Debug + 'a>(expected: T) -> Box + 'a> { equal_to(expected) } [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/combinators.rs:130:34 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn or(self, matcher: Box + 'a>) -> Any<'a,T> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 130 | pub fn or(self, matcher: Box + 'a>) -> Any<'a,T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:183:45 [INFO] [stdout] | [INFO] [stdout] 183 | pub fn less_than<'a, T>(expected: T) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 183 | pub fn less_than<'a, T>(expected: T) -> Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:198:63 [INFO] [stdout] | [INFO] [stdout] 198 | pub fn lt<'a, T: PartialOrd + Debug + 'a>(expected: T) -> Box + 'a> { less_than(expected) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 198 | pub fn lt<'a, T: PartialOrd + Debug + 'a>(expected: T) -> Box + 'a> { less_than(expected) } [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:211:48 [INFO] [stdout] | [INFO] [stdout] 211 | pub fn greater_than<'a, T>(expected: T) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 211 | pub fn greater_than<'a, T>(expected: T) -> Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:226:63 [INFO] [stdout] | [INFO] [stdout] 226 | pub fn gt<'a, T: PartialOrd + Debug + 'a>(expected: T) -> Box + 'a> { greater_than(expected) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 226 | pub fn gt<'a, T: PartialOrd + Debug + 'a>(expected: T) -> Box + 'a> { greater_than(expected) } [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:240:54 [INFO] [stdout] | [INFO] [stdout] 240 | pub fn less_than_or_equal<'a, T>(expected: T) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 240 | pub fn less_than_or_equal<'a, T>(expected: T) -> Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:256:64 [INFO] [stdout] | [INFO] [stdout] 256 | pub fn leq<'a, T: PartialOrd + Debug + 'a>(expected: T) -> Box + 'a> { less_than_or_equal(expected) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 256 | pub fn leq<'a, T: PartialOrd + Debug + 'a>(expected: T) -> Box + 'a> { less_than_or_equal(expected) } [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:270:57 [INFO] [stdout] | [INFO] [stdout] 270 | pub fn greater_than_or_equal<'a, T>(expected: T) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 270 | pub fn greater_than_or_equal<'a, T>(expected: T) -> Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:286:64 [INFO] [stdout] | [INFO] [stdout] 286 | pub fn geq<'a, T: PartialOrd + Debug + 'a>(expected: T) -> Box + 'a> { greater_than_or_equal(expected) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 286 | pub fn geq<'a, T: PartialOrd + Debug + 'a>(expected: T) -> Box + 'a> { greater_than_or_equal(expected) } [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:299:52 [INFO] [stdout] | [INFO] [stdout] 299 | pub fn close_to<'a, T>(expected: T, eps: T) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 299 | pub fn close_to<'a, T>(expected: T, eps: T) -> Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/core.rs:334:51 [INFO] [stdout] | [INFO] [stdout] 334 | pub fn same_object<'a, T>(expected: &'a T) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 334 | pub fn same_object<'a, T>(expected: &'a T) -> Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/variant.rs:67:43 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn maybe_some<'a, T: 'a>(matcher: Box + 'a>) -> Box> + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 67 | pub fn maybe_some<'a, T: 'a>(matcher: Box + 'a>) -> Box> + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/variant.rs:67:71 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn maybe_some<'a, T: 'a>(matcher: Box + 'a>) -> Box> + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 67 | pub fn maybe_some<'a, T: 'a>(matcher: Box + 'a>) -> Box> + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/variant.rs:88:48 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn maybe_ok<'a, T: 'a, E: 'a>(matcher: Box + 'a>) -> Box> + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 88 | pub fn maybe_ok<'a, T: 'a, E: 'a>(matcher: Box + 'a>) -> Box> + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/variant.rs:88:76 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn maybe_ok<'a, T: 'a, E: 'a>(matcher: Box + 'a>) -> Box> + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 88 | pub fn maybe_ok<'a, T: 'a, E: 'a>(matcher: Box + 'a>) -> Box> + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/variant.rs:109:49 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn maybe_err<'a, T: 'a, E: 'a>(matcher: Box + 'a>) -> Box> + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 109 | pub fn maybe_err<'a, T: 'a, E: 'a>(matcher: Box + 'a>) -> Box> + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/variant.rs:109:77 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn maybe_err<'a, T: 'a, E: 'a>(matcher: Box + 'a>) -> Box> + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 109 | pub fn maybe_err<'a, T: 'a, E: 'a>(matcher: Box + 'a>) -> Box> + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/collection.rs:47:78 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn contains_in_any_order<'a,T:'a,I:'a,J:'a>(expected_elements: I) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 47 | pub fn contains_in_any_order<'a,T:'a,I:'a,J:'a>(expected_elements: I) -> Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/collection.rs:109:74 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn contains_in_order<'a,T:'a,I:'a,J:'a>(expected_elements: I) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 109 | pub fn contains_in_order<'a,T:'a,I:'a,J:'a>(expected_elements: I) -> Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/collection.rs:166:72 [INFO] [stdout] | [INFO] [stdout] 166 | pub fn contains_subset<'a,T:'a,I:'a,J:'a>(expected_elements: I) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 166 | pub fn contains_subset<'a,T:'a,I:'a,J:'a>(expected_elements: I) -> Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/collection.rs:214:63 [INFO] [stdout] | [INFO] [stdout] 214 | pub fn contained_in<'a,T:'a,I>(expected_to_contain: I) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 214 | pub fn contained_in<'a,T:'a,I>(expected_to_contain: I) -> Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/collection.rs:248:88 [INFO] [stdout] | [INFO] [stdout] 248 | pub fn sorted_by<'a,T,I,P>(predicate: P, expected_ordering: std::cmp::Ordering) -> Box MatchResult> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 248 | pub fn sorted_by<'a,T,I,P>(predicate: P, expected_ordering: std::cmp::Ordering) -> Box MatchResult> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/collection.rs:289:97 [INFO] [stdout] | [INFO] [stdout] 289 | pub fn sorted_strictly_by<'a,T,I,P>(predicate: P, expected_ordering: std::cmp::Ordering) -> Box MatchResult> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 289 | pub fn sorted_strictly_by<'a,T,I,P>(predicate: P, expected_ordering: std::cmp::Ordering) -> Box MatchResult> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/collection.rs:329:62 [INFO] [stdout] | [INFO] [stdout] 329 | pub fn sorted_by_in_any_order<'a,T,I,P>(predicate: P) -> Box MatchResult> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 329 | pub fn sorted_by_in_any_order<'a,T,I,P>(predicate: P) -> Box MatchResult> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/collection.rs:375:71 [INFO] [stdout] | [INFO] [stdout] 375 | pub fn sorted_strictly_by_in_any_order<'a,T,I,P>(predicate: P) -> Box MatchResult> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 375 | pub fn sorted_strictly_by_in_any_order<'a,T,I,P>(predicate: P) -> Box MatchResult> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/collection.rs:422:42 [INFO] [stdout] | [INFO] [stdout] 422 | pub fn sorted_ascending<'a,T,I>() -> Box MatchResult> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 422 | pub fn sorted_ascending<'a,T,I>() -> Box MatchResult> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/collection.rs:439:51 [INFO] [stdout] | [INFO] [stdout] 439 | pub fn sorted_strictly_ascending<'a,T,I>() -> Box MatchResult> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 439 | pub fn sorted_strictly_ascending<'a,T,I>() -> Box MatchResult> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/collection.rs:456:43 [INFO] [stdout] | [INFO] [stdout] 456 | pub fn sorted_descending<'a,T,I>() -> Box MatchResult> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 456 | pub fn sorted_descending<'a,T,I>() -> Box MatchResult> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/collection.rs:473:52 [INFO] [stdout] | [INFO] [stdout] 473 | pub fn sorted_strictly_descending<'a,T,I>() -> Box MatchResult> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 473 | pub fn sorted_strictly_descending<'a,T,I>() -> Box MatchResult> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/collection.rs:490:60 [INFO] [stdout] | [INFO] [stdout] 490 | pub fn all_elements_satisfy<'a,T,I,P>(predicate: P) -> Box MatchResult> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 490 | pub fn all_elements_satisfy<'a,T,I,P>(predicate: P) -> Box MatchResult> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/collection.rs:518:61 [INFO] [stdout] | [INFO] [stdout] 518 | pub fn some_elements_satisfy<'a,T,I,P>(predicate: P) -> Box MatchResult> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 518 | pub fn some_elements_satisfy<'a,T,I,P>(predicate: P) -> Box MatchResult> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/collection.rs:566:62 [INFO] [stdout] | [INFO] [stdout] 566 | pub fn has_entry<'a,K:'a,V:'a,M:'a>(key: K, value: V) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 566 | pub fn has_entry<'a,K:'a,V:'a,M:'a>(key: K, value: V) -> Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/collection.rs:637:50 [INFO] [stdout] | [INFO] [stdout] 637 | pub fn has_key<'a,K:'a,V:'a,M:'a>(key: K) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 637 | pub fn has_key<'a,K:'a,V:'a,M:'a>(key: K) -> Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/collection.rs:690:52 [INFO] [stdout] | [INFO] [stdout] 690 | pub fn has_value<'a,K:'a,V:'a,M:'a>(key: K) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 690 | pub fn has_value<'a,K:'a,V:'a,M:'a>(key: K) -> Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/combinators.rs:55:28 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn of(matcher: Box + 'a>) -> All<'a,T> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 55 | pub fn of(matcher: Box + 'a>) -> All<'a,T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/combinators.rs:63:35 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn and(self, matcher: Box + 'a>) -> All<'a,T> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 63 | pub fn and(self, matcher: Box + 'a>) -> All<'a,T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/combinators.rs:122:28 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn of(matcher: Box + 'a>) -> Any<'a,T> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 122 | pub fn of(matcher: Box + 'a>) -> Any<'a,T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/matchers/combinators.rs:130:34 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn or(self, matcher: Box + 'a>) -> Any<'a,T> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 130 | pub fn or(self, matcher: Box + 'a>) -> Any<'a,T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/core.rs:131:14 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn not<'a, T: 'a>(matcher: Box + 'a>) -> Box + 'a> { [INFO] [stdout] | -------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 131 | Box::new(move |actual: &'a T| { [INFO] [stdout] | ______________^ [INFO] [stdout] 132 | | match matcher.check(actual) { [INFO] [stdout] 133 | | MatchResult::Matched { name } => [INFO] [stdout] 134 | | MatchResultBuilder::for_(&format!("not({})", name)) [INFO] [stdout] ... | [INFO] [stdout] 138 | | } [INFO] [stdout] 139 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/core.rs:156:14 [INFO] [stdout] | [INFO] [stdout] 154 | pub fn equal_to<'a, T>(expected: T) -> Box + 'a> [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 155 | where T: PartialEq + Debug + 'a { [INFO] [stdout] 156 | Box::new(move |actual: &T| matchresult_from_comparison!(actual == expected, "equal")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/core.rs:185:14 [INFO] [stdout] | [INFO] [stdout] 183 | pub fn less_than<'a, T>(expected: T) -> Box + 'a> [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 184 | where T: PartialOrd + Debug + 'a { [INFO] [stdout] 185 | Box::new(move |actual: &T| matchresult_from_comparison!(actual < expected, "less_than")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/core.rs:213:14 [INFO] [stdout] | [INFO] [stdout] 211 | pub fn greater_than<'a, T>(expected: T) -> Box + 'a> [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 212 | where T: PartialOrd + Debug + 'a { [INFO] [stdout] 213 | Box::new(move |actual: &T| matchresult_from_comparison!(actual > expected, "greater_than")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/core.rs:242:14 [INFO] [stdout] | [INFO] [stdout] 240 | pub fn less_than_or_equal<'a, T>(expected: T) -> Box + 'a> [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 241 | where T: PartialOrd + Debug + 'a { [INFO] [stdout] 242 | Box::new(move |actual: &T| matchresult_from_comparison!(actual <= expected, "less_than_or_equal")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/core.rs:272:14 [INFO] [stdout] | [INFO] [stdout] 270 | pub fn greater_than_or_equal<'a, T>(expected: T) -> Box + 'a> [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 271 | where T: PartialOrd + Debug + 'a { [INFO] [stdout] 272 | Box::new(move |actual: &T| matchresult_from_comparison!(actual >= expected, "greater_than_or_equal")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/combinators.rs:58:19 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn of(matcher: Box + 'a>) -> All<'a,T> { [INFO] [stdout] | -------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 58 | next: None [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/combinators.rs:66:19 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn and(self, matcher: Box + 'a>) -> All<'a,T> { [INFO] [stdout] | ---- -------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 66 | next: Some(Box::new(self)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/combinators.rs:125:19 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn of(matcher: Box + 'a>) -> Any<'a,T> { [INFO] [stdout] | -------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 125 | next: None [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/combinators.rs:133:19 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn or(self, matcher: Box + 'a>) -> Any<'a,T> { [INFO] [stdout] | ---- -------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 133 | next: Some(Box::new(self)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/variant.rs:68:14 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn maybe_some<'a, T: 'a>(matcher: Box + 'a>) -> Box> + 'a> { [INFO] [stdout] | -------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 68 | Box::new(move |maybe_actual: &'a Option| { [INFO] [stdout] | ______________^ [INFO] [stdout] 69 | | maybe_actual.as_ref() [INFO] [stdout] 70 | | .map_or(MatchResultBuilder::for_("maybe_some") [INFO] [stdout] 71 | | .failed_because("passed Option is None; cannot evaluate nested matcher"), [INFO] [stdout] 72 | | |actual| matcher.check(actual) [INFO] [stdout] 73 | | ) [INFO] [stdout] 74 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/variant.rs:89:14 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn maybe_ok<'a, T: 'a, E: 'a>(matcher: Box + 'a>) -> Box> + 'a> { [INFO] [stdout] | -------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 89 | Box::new(move |maybe_actual: &'a Result| { [INFO] [stdout] | ______________^ [INFO] [stdout] 90 | | match maybe_actual.as_ref() { [INFO] [stdout] 91 | | Ok(actual) => matcher.check(actual), [INFO] [stdout] 92 | | Err(_) => MatchResultBuilder::for_("maybe_ok") [INFO] [stdout] 93 | | .failed_because("passed Result is Err; cannot evaluate nested matcher") [INFO] [stdout] 94 | | } [INFO] [stdout] 95 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/variant.rs:110:14 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn maybe_err<'a, T: 'a, E: 'a>(matcher: Box + 'a>) -> Box> + 'a> { [INFO] [stdout] | -------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 110 | Box::new(move |maybe_actual: &'a Result| { [INFO] [stdout] | ______________^ [INFO] [stdout] 111 | | match maybe_actual.as_ref() { [INFO] [stdout] 112 | | Err(actual) => matcher.check(actual), [INFO] [stdout] 113 | | Ok(_) => MatchResultBuilder::for_("maybe_err") [INFO] [stdout] 114 | | .failed_because("passed Result is Ok; cannot evaluate nested matcher") [INFO] [stdout] 115 | | } [INFO] [stdout] 116 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/collection.rs:52:14 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn contains_in_any_order<'a,T:'a,I:'a,J:'a>(expected_elements: I) -> Box + 'a> [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 52 | Box::new(ContainsInAnyOrder { [INFO] [stdout] | ______________^ [INFO] [stdout] 53 | | expected_elements: expected_elements.into_iter().collect() [INFO] [stdout] 54 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/collection.rs:114:14 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn contains_in_order<'a,T:'a,I:'a,J:'a>(expected_elements: I) -> Box + 'a> [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 114 | Box::new(ContainsInOrder { [INFO] [stdout] | ______________^ [INFO] [stdout] 115 | | expected_elements: expected_elements.into_iter().collect() [INFO] [stdout] 116 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/collection.rs:171:14 [INFO] [stdout] | [INFO] [stdout] 166 | pub fn contains_subset<'a,T:'a,I:'a,J:'a>(expected_elements: I) -> Box + 'a> [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 171 | Box::new(ContainsSubset { [INFO] [stdout] | ______________^ [INFO] [stdout] 172 | | expected_elements: expected_elements.into_iter().collect() [INFO] [stdout] 173 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/collection.rs:217:14 [INFO] [stdout] | [INFO] [stdout] 214 | pub fn contained_in<'a,T:'a,I>(expected_to_contain: I) -> Box + 'a> [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 217 | Box::new(ContainedIn { [INFO] [stdout] | ______________^ [INFO] [stdout] 218 | | expected_to_contain: expected_to_contain.into_iter().collect() [INFO] [stdout] 219 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/collection.rs:252:14 [INFO] [stdout] | [INFO] [stdout] 248 | pub fn sorted_by<'a,T,I,P>(predicate: P, expected_ordering: std::cmp::Ordering) -> Box MatchResult> [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 252 | Box::new(move |elements: &'a I| { [INFO] [stdout] | ______________^ [INFO] [stdout] 253 | | let builder = MatchResultBuilder::for_("sorted_by"); [INFO] [stdout] 254 | | let mut iter = elements.into_iter(); [INFO] [stdout] 255 | | let maybe_prev = iter.next(); [INFO] [stdout] ... | [INFO] [stdout] 271 | | builder.matched() [INFO] [stdout] 272 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/collection.rs:293:14 [INFO] [stdout] | [INFO] [stdout] 289 | pub fn sorted_strictly_by<'a,T,I,P>(predicate: P, expected_ordering: std::cmp::Ordering) -> Box MatchResult> [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 293 | Box::new(move |elements: &'a I| { [INFO] [stdout] | ______________^ [INFO] [stdout] 294 | | let builder = MatchResultBuilder::for_("sorted_strictly_by"); [INFO] [stdout] 295 | | let mut iter = elements.into_iter(); [INFO] [stdout] 296 | | let maybe_prev = iter.next(); [INFO] [stdout] ... | [INFO] [stdout] 310 | | builder.matched() [INFO] [stdout] 311 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/collection.rs:333:14 [INFO] [stdout] | [INFO] [stdout] 329 | pub fn sorted_by_in_any_order<'a,T,I,P>(predicate: P) -> Box MatchResult> [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 333 | Box::new(move |elements: &'a I| { [INFO] [stdout] | ______________^ [INFO] [stdout] 334 | | let builder = MatchResultBuilder::for_("sorted_by_in_any_order"); [INFO] [stdout] 335 | | let mut iter = elements.into_iter(); [INFO] [stdout] 336 | | let mut expected_ordering: Option = None; [INFO] [stdout] ... | [INFO] [stdout] 356 | | builder.matched() [INFO] [stdout] 357 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/collection.rs:379:14 [INFO] [stdout] | [INFO] [stdout] 375 | pub fn sorted_strictly_by_in_any_order<'a,T,I,P>(predicate: P) -> Box MatchResult> [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 379 | Box::new(move |elements: &'a I| { [INFO] [stdout] | ______________^ [INFO] [stdout] 380 | | let builder = MatchResultBuilder::for_("sorted_strictly_by_in_any_order"); [INFO] [stdout] 381 | | let mut iter = elements.into_iter(); [INFO] [stdout] 382 | | let mut expected_ordering: Option = None; [INFO] [stdout] ... | [INFO] [stdout] 407 | | builder.matched() [INFO] [stdout] 408 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/collection.rs:494:14 [INFO] [stdout] | [INFO] [stdout] 490 | pub fn all_elements_satisfy<'a,T,I,P>(predicate: P) -> Box MatchResult> [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 494 | Box::new(move |elements: &'a I| { [INFO] [stdout] | ______________^ [INFO] [stdout] 495 | | let builder = MatchResultBuilder::for_("all_elements_satisfy"); [INFO] [stdout] 496 | | let nonsatisfying_elements: Vec<_> = elements.into_iter().filter(|e| !predicate(e)).collect(); [INFO] [stdout] 497 | | if !nonsatisfying_elements.is_empty() { [INFO] [stdout] ... | [INFO] [stdout] 503 | | } [INFO] [stdout] 504 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/collection.rs:522:14 [INFO] [stdout] | [INFO] [stdout] 518 | pub fn some_elements_satisfy<'a,T,I,P>(predicate: P) -> Box MatchResult> [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 522 | Box::new(move |elements: &'a I| { [INFO] [stdout] | ______________^ [INFO] [stdout] 523 | | let builder = MatchResultBuilder::for_("some_elements_satisfy"); [INFO] [stdout] 524 | | if !elements.into_iter().any(|ref e| predicate(e)) { [INFO] [stdout] 525 | | builder.failed_because("no elements satisfy the predicate") [INFO] [stdout] ... | [INFO] [stdout] 528 | | } [INFO] [stdout] 529 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/collection.rs:569:14 [INFO] [stdout] | [INFO] [stdout] 566 | pub fn has_entry<'a,K:'a,V:'a,M:'a>(key: K, value: V) -> Box + 'a> [INFO] [stdout] | ------ -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 569 | Box::new(HasEntry { [INFO] [stdout] | ______________^ [INFO] [stdout] 570 | | key: key, [INFO] [stdout] 571 | | value: value [INFO] [stdout] 572 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/collection.rs:640:14 [INFO] [stdout] | [INFO] [stdout] 637 | pub fn has_key<'a,K:'a,V:'a,M:'a>(key: K) -> Box + 'a> [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 640 | Box::new(HasKey { [INFO] [stdout] | ______________^ [INFO] [stdout] 641 | | key: key [INFO] [stdout] 642 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/collection.rs:693:14 [INFO] [stdout] | [INFO] [stdout] 690 | pub fn has_value<'a,K:'a,V:'a,M:'a>(key: K) -> Box + 'a> [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 693 | Box::new(HasKey { [INFO] [stdout] | ______________^ [INFO] [stdout] 694 | | key: key [INFO] [stdout] 695 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 26 previous errors; 51 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `galvanic-assert` (lib test) due to 27 previous errors; 51 warnings emitted [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/core.rs:131:14 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn not<'a, T: 'a>(matcher: Box + 'a>) -> Box + 'a> { [INFO] [stdout] | -------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 131 | Box::new(move |actual: &'a T| { [INFO] [stdout] | ______________^ [INFO] [stdout] 132 | | match matcher.check(actual) { [INFO] [stdout] 133 | | MatchResult::Matched { name } => [INFO] [stdout] 134 | | MatchResultBuilder::for_(&format!("not({})", name)) [INFO] [stdout] ... | [INFO] [stdout] 138 | | } [INFO] [stdout] 139 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/core.rs:156:14 [INFO] [stdout] | [INFO] [stdout] 154 | pub fn equal_to<'a, T>(expected: T) -> Box + 'a> [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 155 | where T: PartialEq + Debug + 'a { [INFO] [stdout] 156 | Box::new(move |actual: &T| matchresult_from_comparison!(actual == expected, "equal")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/core.rs:185:14 [INFO] [stdout] | [INFO] [stdout] 183 | pub fn less_than<'a, T>(expected: T) -> Box + 'a> [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 184 | where T: PartialOrd + Debug + 'a { [INFO] [stdout] 185 | Box::new(move |actual: &T| matchresult_from_comparison!(actual < expected, "less_than")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/core.rs:213:14 [INFO] [stdout] | [INFO] [stdout] 211 | pub fn greater_than<'a, T>(expected: T) -> Box + 'a> [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 212 | where T: PartialOrd + Debug + 'a { [INFO] [stdout] 213 | Box::new(move |actual: &T| matchresult_from_comparison!(actual > expected, "greater_than")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/core.rs:242:14 [INFO] [stdout] | [INFO] [stdout] 240 | pub fn less_than_or_equal<'a, T>(expected: T) -> Box + 'a> [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 241 | where T: PartialOrd + Debug + 'a { [INFO] [stdout] 242 | Box::new(move |actual: &T| matchresult_from_comparison!(actual <= expected, "less_than_or_equal")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/core.rs:272:14 [INFO] [stdout] | [INFO] [stdout] 270 | pub fn greater_than_or_equal<'a, T>(expected: T) -> Box + 'a> [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 271 | where T: PartialOrd + Debug + 'a { [INFO] [stdout] 272 | Box::new(move |actual: &T| matchresult_from_comparison!(actual >= expected, "greater_than_or_equal")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/combinators.rs:58:19 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn of(matcher: Box + 'a>) -> All<'a,T> { [INFO] [stdout] | -------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 58 | next: None [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/combinators.rs:66:19 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn and(self, matcher: Box + 'a>) -> All<'a,T> { [INFO] [stdout] | ---- -------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 66 | next: Some(Box::new(self)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/combinators.rs:125:19 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn of(matcher: Box + 'a>) -> Any<'a,T> { [INFO] [stdout] | -------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 125 | next: None [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/combinators.rs:133:19 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn or(self, matcher: Box + 'a>) -> Any<'a,T> { [INFO] [stdout] | ---- -------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 133 | next: Some(Box::new(self)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/variant.rs:68:14 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn maybe_some<'a, T: 'a>(matcher: Box + 'a>) -> Box> + 'a> { [INFO] [stdout] | -------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 68 | Box::new(move |maybe_actual: &'a Option| { [INFO] [stdout] | ______________^ [INFO] [stdout] 69 | | maybe_actual.as_ref() [INFO] [stdout] 70 | | .map_or(MatchResultBuilder::for_("maybe_some") [INFO] [stdout] 71 | | .failed_because("passed Option is None; cannot evaluate nested matcher"), [INFO] [stdout] 72 | | |actual| matcher.check(actual) [INFO] [stdout] 73 | | ) [INFO] [stdout] 74 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/variant.rs:89:14 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn maybe_ok<'a, T: 'a, E: 'a>(matcher: Box + 'a>) -> Box> + 'a> { [INFO] [stdout] | -------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 89 | Box::new(move |maybe_actual: &'a Result| { [INFO] [stdout] | ______________^ [INFO] [stdout] 90 | | match maybe_actual.as_ref() { [INFO] [stdout] 91 | | Ok(actual) => matcher.check(actual), [INFO] [stdout] 92 | | Err(_) => MatchResultBuilder::for_("maybe_ok") [INFO] [stdout] 93 | | .failed_because("passed Result is Err; cannot evaluate nested matcher") [INFO] [stdout] 94 | | } [INFO] [stdout] 95 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/variant.rs:110:14 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn maybe_err<'a, T: 'a, E: 'a>(matcher: Box + 'a>) -> Box> + 'a> { [INFO] [stdout] | -------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 110 | Box::new(move |maybe_actual: &'a Result| { [INFO] [stdout] | ______________^ [INFO] [stdout] 111 | | match maybe_actual.as_ref() { [INFO] [stdout] 112 | | Err(actual) => matcher.check(actual), [INFO] [stdout] 113 | | Ok(_) => MatchResultBuilder::for_("maybe_err") [INFO] [stdout] 114 | | .failed_because("passed Result is Ok; cannot evaluate nested matcher") [INFO] [stdout] 115 | | } [INFO] [stdout] 116 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/collection.rs:52:14 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn contains_in_any_order<'a,T:'a,I:'a,J:'a>(expected_elements: I) -> Box + 'a> [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 52 | Box::new(ContainsInAnyOrder { [INFO] [stdout] | ______________^ [INFO] [stdout] 53 | | expected_elements: expected_elements.into_iter().collect() [INFO] [stdout] 54 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/collection.rs:114:14 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn contains_in_order<'a,T:'a,I:'a,J:'a>(expected_elements: I) -> Box + 'a> [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 114 | Box::new(ContainsInOrder { [INFO] [stdout] | ______________^ [INFO] [stdout] 115 | | expected_elements: expected_elements.into_iter().collect() [INFO] [stdout] 116 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/collection.rs:171:14 [INFO] [stdout] | [INFO] [stdout] 166 | pub fn contains_subset<'a,T:'a,I:'a,J:'a>(expected_elements: I) -> Box + 'a> [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 171 | Box::new(ContainsSubset { [INFO] [stdout] | ______________^ [INFO] [stdout] 172 | | expected_elements: expected_elements.into_iter().collect() [INFO] [stdout] 173 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/collection.rs:217:14 [INFO] [stdout] | [INFO] [stdout] 214 | pub fn contained_in<'a,T:'a,I>(expected_to_contain: I) -> Box + 'a> [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 217 | Box::new(ContainedIn { [INFO] [stdout] | ______________^ [INFO] [stdout] 218 | | expected_to_contain: expected_to_contain.into_iter().collect() [INFO] [stdout] 219 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/collection.rs:252:14 [INFO] [stdout] | [INFO] [stdout] 248 | pub fn sorted_by<'a,T,I,P>(predicate: P, expected_ordering: std::cmp::Ordering) -> Box MatchResult> [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 252 | Box::new(move |elements: &'a I| { [INFO] [stdout] | ______________^ [INFO] [stdout] 253 | | let builder = MatchResultBuilder::for_("sorted_by"); [INFO] [stdout] 254 | | let mut iter = elements.into_iter(); [INFO] [stdout] 255 | | let maybe_prev = iter.next(); [INFO] [stdout] ... | [INFO] [stdout] 271 | | builder.matched() [INFO] [stdout] 272 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/collection.rs:293:14 [INFO] [stdout] | [INFO] [stdout] 289 | pub fn sorted_strictly_by<'a,T,I,P>(predicate: P, expected_ordering: std::cmp::Ordering) -> Box MatchResult> [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 293 | Box::new(move |elements: &'a I| { [INFO] [stdout] | ______________^ [INFO] [stdout] 294 | | let builder = MatchResultBuilder::for_("sorted_strictly_by"); [INFO] [stdout] 295 | | let mut iter = elements.into_iter(); [INFO] [stdout] 296 | | let maybe_prev = iter.next(); [INFO] [stdout] ... | [INFO] [stdout] 310 | | builder.matched() [INFO] [stdout] 311 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/collection.rs:333:14 [INFO] [stdout] | [INFO] [stdout] 329 | pub fn sorted_by_in_any_order<'a,T,I,P>(predicate: P) -> Box MatchResult> [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 333 | Box::new(move |elements: &'a I| { [INFO] [stdout] | ______________^ [INFO] [stdout] 334 | | let builder = MatchResultBuilder::for_("sorted_by_in_any_order"); [INFO] [stdout] 335 | | let mut iter = elements.into_iter(); [INFO] [stdout] 336 | | let mut expected_ordering: Option = None; [INFO] [stdout] ... | [INFO] [stdout] 356 | | builder.matched() [INFO] [stdout] 357 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/collection.rs:379:14 [INFO] [stdout] | [INFO] [stdout] 375 | pub fn sorted_strictly_by_in_any_order<'a,T,I,P>(predicate: P) -> Box MatchResult> [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 379 | Box::new(move |elements: &'a I| { [INFO] [stdout] | ______________^ [INFO] [stdout] 380 | | let builder = MatchResultBuilder::for_("sorted_strictly_by_in_any_order"); [INFO] [stdout] 381 | | let mut iter = elements.into_iter(); [INFO] [stdout] 382 | | let mut expected_ordering: Option = None; [INFO] [stdout] ... | [INFO] [stdout] 407 | | builder.matched() [INFO] [stdout] 408 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/collection.rs:494:14 [INFO] [stdout] | [INFO] [stdout] 490 | pub fn all_elements_satisfy<'a,T,I,P>(predicate: P) -> Box MatchResult> [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 494 | Box::new(move |elements: &'a I| { [INFO] [stdout] | ______________^ [INFO] [stdout] 495 | | let builder = MatchResultBuilder::for_("all_elements_satisfy"); [INFO] [stdout] 496 | | let nonsatisfying_elements: Vec<_> = elements.into_iter().filter(|e| !predicate(e)).collect(); [INFO] [stdout] 497 | | if !nonsatisfying_elements.is_empty() { [INFO] [stdout] ... | [INFO] [stdout] 503 | | } [INFO] [stdout] 504 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/collection.rs:522:14 [INFO] [stdout] | [INFO] [stdout] 518 | pub fn some_elements_satisfy<'a,T,I,P>(predicate: P) -> Box MatchResult> [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 522 | Box::new(move |elements: &'a I| { [INFO] [stdout] | ______________^ [INFO] [stdout] 523 | | let builder = MatchResultBuilder::for_("some_elements_satisfy"); [INFO] [stdout] 524 | | if !elements.into_iter().any(|ref e| predicate(e)) { [INFO] [stdout] 525 | | builder.failed_because("no elements satisfy the predicate") [INFO] [stdout] ... | [INFO] [stdout] 528 | | } [INFO] [stdout] 529 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/collection.rs:569:14 [INFO] [stdout] | [INFO] [stdout] 566 | pub fn has_entry<'a,K:'a,V:'a,M:'a>(key: K, value: V) -> Box + 'a> [INFO] [stdout] | ------ -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 569 | Box::new(HasEntry { [INFO] [stdout] | ______________^ [INFO] [stdout] 570 | | key: key, [INFO] [stdout] 571 | | value: value [INFO] [stdout] 572 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/collection.rs:640:14 [INFO] [stdout] | [INFO] [stdout] 637 | pub fn has_key<'a,K:'a,V:'a,M:'a>(key: K) -> Box + 'a> [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 640 | Box::new(HasKey { [INFO] [stdout] | ______________^ [INFO] [stdout] 641 | | key: key [INFO] [stdout] 642 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/matchers/collection.rs:693:14 [INFO] [stdout] | [INFO] [stdout] 690 | pub fn has_value<'a,K:'a,V:'a,M:'a>(key: K) -> Box + 'a> [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 693 | Box::new(HasKey { [INFO] [stdout] | ______________^ [INFO] [stdout] 694 | | key: key [INFO] [stdout] 695 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 26 previous errors; 51 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `galvanic-assert` (lib) due to 27 previous errors; 51 warnings emitted [INFO] running `Command { std: "docker" "inspect" "c7cb23fc564bb614edd061c4e33d6cc1d2641709785ffe0f75700243dfea434f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c7cb23fc564bb614edd061c4e33d6cc1d2641709785ffe0f75700243dfea434f", kill_on_drop: false }` [INFO] [stdout] c7cb23fc564bb614edd061c4e33d6cc1d2641709785ffe0f75700243dfea434f