[INFO] fetching crate eclectic 0.11.0... [INFO] testing eclectic-0.11.0 against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] extracting crate eclectic 0.11.0 into /workspace/builds/worker-6-tc1/source [INFO] started tweaking crates.io crate eclectic 0.11.0 [INFO] finished tweaking crates.io crate eclectic 0.11.0 [INFO] tweaked toml for crates.io crate eclectic 0.11.0 written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate eclectic 0.11.0 on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f88b06b5a94fcbf564e381841ca2923737f8d4d7800f43831c2d01d298fac280 [INFO] running `Command { std: "docker" "start" "-a" "f88b06b5a94fcbf564e381841ca2923737f8d4d7800f43831c2d01d298fac280", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f88b06b5a94fcbf564e381841ca2923737f8d4d7800f43831c2d01d298fac280", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f88b06b5a94fcbf564e381841ca2923737f8d4d7800f43831c2d01d298fac280", kill_on_drop: false }` [INFO] [stdout] f88b06b5a94fcbf564e381841ca2923737f8d4d7800f43831c2d01d298fac280 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 5d8e1c68ca4f21348133cd6641e3d570ecc8c536d8dc0fb90c07b4ea131b6669 [INFO] running `Command { std: "docker" "start" "-a" "5d8e1c68ca4f21348133cd6641e3d570ecc8c536d8dc0fb90c07b4ea131b6669", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling eclectic v0.11.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:21:46 [INFO] [stdout] | [INFO] [stdout] 21 | fn extend_object(&mut self, _items: &mut Iterator) where Self: AddRemove { [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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 | fn extend_object(&mut self, _items: &mut dyn Iterator) where Self: AddRemove { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:148:45 [INFO] [stdout] | [INFO] [stdout] 148 | fn extend_object(&mut self, items: &mut Iterator) where Self: AddRemove; [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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 148 | fn extend_object(&mut self, items: &mut dyn Iterator) where Self: AddRemove; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:25:39 [INFO] [stdout] | [INFO] [stdout] 25 | fn drain<'a>(&'a mut self) -> Box + 'a> where Self: AddRemove { [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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 25 | fn drain<'a>(&'a mut self) -> Box + 'a> where Self: AddRemove { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:165:39 [INFO] [stdout] | [INFO] [stdout] 165 | fn drain<'a>(&'a mut self) -> Box + 'a> where Self: AddRemove; [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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 165 | fn drain<'a>(&'a mut self) -> Box + 'a> where Self: AddRemove; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:39:34 [INFO] [stdout] | [INFO] [stdout] 39 | fn iter<'a>(&'a self) -> 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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 39 | fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:202:34 [INFO] [stdout] | [INFO] [stdout] 202 | fn iter<'a>(&'a self) -> 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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 202 | fn iter<'a>(&'a self) -> Box + 'a>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:43:42 [INFO] [stdout] | [INFO] [stdout] 43 | fn iter_mut<'a>(&'a mut self) -> 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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 43 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:207:42 [INFO] [stdout] | [INFO] [stdout] 207 | fn iter_mut<'a>(&'a mut self) -> 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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 207 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:50:16 [INFO] [stdout] | [INFO] [stdout] 50 | -> Box + 'a> where Self: AddRemove [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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 50 | -> Box + 'a> where Self: AddRemove [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:223:55 [INFO] [stdout] | [INFO] [stdout] 223 | fn drain_range<'a>(&'a mut self, range: R) -> 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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 223 | fn drain_range<'a>(&'a mut self, range: R) -> Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:105:45 [INFO] [stdout] | [INFO] [stdout] 105 | fn extend_object(&mut self, items: &mut Iterator) { [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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 105 | fn extend_object(&mut self, items: &mut dyn Iterator) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:113:39 [INFO] [stdout] | [INFO] [stdout] 113 | fn drain<'a>(&'a mut self) -> 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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 113 | fn drain<'a>(&'a mut self) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:134:34 [INFO] [stdout] | [INFO] [stdout] 134 | fn iter<'a>(&'a self) -> 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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 134 | fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:409:38 [INFO] [stdout] | [INFO] [stdout] 409 | fn iter<'a>(&'a self) -> 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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 409 | fn iter<'a>(&'a self) -> Box + 'a>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:138:42 [INFO] [stdout] | [INFO] [stdout] 138 | fn iter_mut<'a>(&'a mut self) -> 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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 138 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:416:20 [INFO] [stdout] | [INFO] [stdout] 416 | -> Box + 'a> where Self: Mutate; [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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 416 | -> Box + 'a> where Self: Mutate; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:466:22 [INFO] [stdout] | [INFO] [stdout] 466 | Occupied(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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 466 | Occupied(Box + 'a>), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:468:20 [INFO] [stdout] | [INFO] [stdout] 468 | Vacant(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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 468 | Vacant(Box + 'a>), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:203:45 [INFO] [stdout] | [INFO] [stdout] 203 | fn extend_object(&mut self, items: &mut Iterator) { [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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 203 | fn extend_object(&mut self, items: &mut dyn Iterator) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:211:39 [INFO] [stdout] | [INFO] [stdout] 211 | fn drain<'a>(&'a mut self) -> 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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 211 | fn drain<'a>(&'a mut self) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:229:34 [INFO] [stdout] | [INFO] [stdout] 229 | fn iter<'a>(&'a self) -> 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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 229 | fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:233:42 [INFO] [stdout] | [INFO] [stdout] 233 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> where Self: Mutate { [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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 233 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> where Self: Mutate { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:291:45 [INFO] [stdout] | [INFO] [stdout] 291 | fn extend_object(&mut self, items: &mut Iterator) { [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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 291 | fn extend_object(&mut self, items: &mut dyn Iterator) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:299:39 [INFO] [stdout] | [INFO] [stdout] 299 | fn drain<'a>(&'a mut self) -> 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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 299 | fn drain<'a>(&'a mut self) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:321:34 [INFO] [stdout] | [INFO] [stdout] 321 | fn iter<'a>(&'a self) -> 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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 321 | fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:325:42 [INFO] [stdout] | [INFO] [stdout] 325 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> where Self: Mutate { [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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 325 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> where Self: Mutate { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:381:45 [INFO] [stdout] | [INFO] [stdout] 381 | fn extend_object(&mut self, items: &mut Iterator) { [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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 381 | fn extend_object(&mut self, items: &mut dyn Iterator) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:389:39 [INFO] [stdout] | [INFO] [stdout] 389 | fn drain<'a>(&'a mut self) -> 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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 389 | fn drain<'a>(&'a mut self) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:414:34 [INFO] [stdout] | [INFO] [stdout] 414 | fn iter<'a>(&'a self) -> 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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 414 | fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:418:42 [INFO] [stdout] | [INFO] [stdout] 418 | fn iter_mut<'a>(&'a mut self) -> 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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 418 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:483:45 [INFO] [stdout] | [INFO] [stdout] 483 | fn extend_object(&mut self, items: &mut Iterator) { [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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 483 | fn extend_object(&mut self, items: &mut dyn Iterator) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:491:39 [INFO] [stdout] | [INFO] [stdout] 491 | fn drain<'a>(&'a mut self) -> 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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 491 | fn drain<'a>(&'a mut self) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:513:34 [INFO] [stdout] | [INFO] [stdout] 513 | fn iter<'a>(&'a self) -> 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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 513 | fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:517:42 [INFO] [stdout] | [INFO] [stdout] 517 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> where Self: Mutate { [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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 517 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> where Self: Mutate { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:577:45 [INFO] [stdout] | [INFO] [stdout] 577 | fn extend_object(&mut self, items: &mut Iterator) { [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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 577 | fn extend_object(&mut self, items: &mut dyn Iterator) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:585:39 [INFO] [stdout] | [INFO] [stdout] 585 | fn drain<'a>(&'a mut self) -> 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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 585 | fn drain<'a>(&'a mut self) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:603:34 [INFO] [stdout] | [INFO] [stdout] 603 | fn iter<'a>(&'a self) -> 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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 603 | fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:607:42 [INFO] [stdout] | [INFO] [stdout] 607 | fn iter_mut<'a>(&'a mut self) -> 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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 607 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:671:45 [INFO] [stdout] | [INFO] [stdout] 671 | fn extend_object(&mut self, items: &mut Iterator) { [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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 671 | fn extend_object(&mut self, items: &mut dyn Iterator) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:679:39 [INFO] [stdout] | [INFO] [stdout] 679 | fn drain<'a>(&'a mut self) -> 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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 679 | fn drain<'a>(&'a mut self) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:701:34 [INFO] [stdout] | [INFO] [stdout] 701 | fn iter<'a>(&'a self) -> 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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 701 | fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:705:42 [INFO] [stdout] | [INFO] [stdout] 705 | fn iter_mut<'a>(&'a mut self) -> 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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 705 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:711:66 [INFO] [stdout] | [INFO] [stdout] 711 | fn drain_range<'a>(&'a mut self, range: Range) -> 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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 711 | fn drain_range<'a>(&'a mut self, range: Range) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:794:45 [INFO] [stdout] | [INFO] [stdout] 794 | fn extend_object(&mut self, items: &mut Iterator) { [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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 794 | fn extend_object(&mut self, items: &mut dyn Iterator) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:798:39 [INFO] [stdout] | [INFO] [stdout] 798 | fn drain<'a>(&'a mut self) -> 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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 798 | fn drain<'a>(&'a mut self) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:820:34 [INFO] [stdout] | [INFO] [stdout] 820 | fn iter<'a>(&'a self) -> 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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 820 | fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:824:42 [INFO] [stdout] | [INFO] [stdout] 824 | fn iter_mut<'a>(&'a mut self) -> 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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 824 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:830:66 [INFO] [stdout] | [INFO] [stdout] 830 | fn drain_range<'a>(&'a mut self, range: Range) -> 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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 830 | fn drain_range<'a>(&'a mut self, range: Range) -> Box + 'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:360:70 [INFO] [stdout] | [INFO] [stdout] 360 | fn drain_range<'a>(&'a mut self, range: RangeFrom) -> 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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 360 | fn drain_range<'a>(&'a mut self, range: RangeFrom) -> Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:369:68 [INFO] [stdout] | [INFO] [stdout] 369 | fn drain_range<'a>(&'a mut self, range: RangeTo) -> 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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 369 | fn drain_range<'a>(&'a mut self, range: RangeTo) -> Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:377:64 [INFO] [stdout] | [INFO] [stdout] 377 | fn drain_range<'a>(&'a mut self, _range: RangeFull) -> 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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 377 | fn drain_range<'a>(&'a mut self, _range: RangeFull) -> Box + 'a> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:720:13 [INFO] [stdout] | [INFO] [stdout] 720 | let _: &Mutate; [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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 720 | let _: &dyn Mutate; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:721:13 [INFO] [stdout] | [INFO] [stdout] 721 | let _: &AddRemove; [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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 721 | let _: &dyn AddRemove; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:723:13 [INFO] [stdout] | [INFO] [stdout] 723 | let _: &Collection; [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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 723 | let _: &dyn Collection; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `Collection` is not dyn compatible [INFO] [stdout] --> src/lib.rs:723:13 [INFO] [stdout] | [INFO] [stdout] 723 | let _: &Collection; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ `Collection` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/lib.rs:148:8 [INFO] [stdout] | [INFO] [stdout] 111 | pub trait Collection { [INFO] [stdout] | ---------- this trait is not dyn compatible... [INFO] [stdout] ... [INFO] [stdout] 148 | fn extend_object(&mut self, items: &mut Iterator) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^^^^^ ...because method `extend_object` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 151 | fn clear(&mut self) where Self: AddRemove { [INFO] [stdout] | ^^^^^ ...because method `clear` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 165 | fn drain<'a>(&'a mut self) -> Box + 'a> where Self: AddRemove; [INFO] [stdout] | ^^^^^ ...because method `drain` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 171 | fn reserve(&mut self, additional: usize) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^ ...because method `reserve` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 176 | fn shrink_to_fit(&mut self) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^^^^^ ...because method `shrink_to_fit` references the `Self` type in its `where` clause [INFO] [stdout] = help: consider moving `extend_object` to another trait [INFO] [stdout] = help: consider moving `drain` to another trait [INFO] [stdout] = help: consider moving `clear` to another trait [INFO] [stdout] = help: consider moving `reserve` to another trait [INFO] [stdout] = help: consider moving `shrink_to_fit` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:725:13 [INFO] [stdout] | [INFO] [stdout] 725 | let _: &List; [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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 725 | let _: &dyn List; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `List` is not dyn compatible [INFO] [stdout] --> src/lib.rs:725:13 [INFO] [stdout] | [INFO] [stdout] 725 | let _: &List; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ `List` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/lib.rs:148:8 [INFO] [stdout] | [INFO] [stdout] 148 | fn extend_object(&mut self, items: &mut Iterator) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^^^^^ ...because method `extend_object` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 151 | fn clear(&mut self) where Self: AddRemove { [INFO] [stdout] | ^^^^^ ...because method `clear` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 165 | fn drain<'a>(&'a mut self) -> Box + 'a> where Self: AddRemove; [INFO] [stdout] | ^^^^^ ...because method `drain` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 171 | fn reserve(&mut self, additional: usize) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^ ...because method `reserve` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 176 | fn shrink_to_fit(&mut self) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^^^^^ ...because method `shrink_to_fit` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 207 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^ ...because method `iter_mut` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 223 | fn drain_range<'a>(&'a mut self, range: R) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^ ...because method `drain_range` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 231 | pub trait List: [INFO] [stdout] | ---- this trait is not dyn compatible... [INFO] [stdout] ... [INFO] [stdout] 247 | fn get_mut(&mut self, index: usize) -> Option<&mut Self::Item> where Self: Mutate; [INFO] [stdout] | ^^^^^^^ ...because method `get_mut` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 254 | fn swap(&mut self, i: usize, j: usize) where Self: Mutate; [INFO] [stdout] | ^^^^ ...because method `swap` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 257 | fn reverse(&mut self) where Self: Mutate { [INFO] [stdout] | ^^^^^^^ ...because method `reverse` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 275 | fn first_mut(&mut self) -> Option<&mut Self::Item> where Self: Mutate { [INFO] [stdout] | ^^^^^^^^^ ...because method `first_mut` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 289 | fn last_mut(&mut self) -> Option<&mut Self::Item> where Self: Mutate { [INFO] [stdout] | ^^^^^^^^ ...because method `last_mut` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 295 | fn push(&mut self, item: Self::Item) where Self: AddRemove { [INFO] [stdout] | ^^^^ ...because method `push` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 307 | fn insert(&mut self, index: usize, item: Self::Item) where Self: AddRemove; [INFO] [stdout] | ^^^^^^ ...because method `insert` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 312 | fn pop(&mut self) -> Option where Self: AddRemove { [INFO] [stdout] | ^^^ ...because method `pop` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 322 | fn remove(&mut self, index: usize) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^^^ ...because method `remove` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 328 | fn swap_remove(&mut self, index: usize) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^^^ ...because method `swap_remove` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 334 | fn truncate(&mut self, len: usize) where Self: AddRemove { [INFO] [stdout] | ^^^^^^^^ ...because method `truncate` references the `Self` type in its `where` clause [INFO] [stdout] = help: consider moving `iter_mut` to another trait [INFO] [stdout] = help: consider moving `extend_object` to another trait [INFO] [stdout] = help: consider moving `drain` to another trait [INFO] [stdout] = help: consider moving `clear` to another trait [INFO] [stdout] = help: consider moving `reserve` to another trait [INFO] [stdout] = help: consider moving `shrink_to_fit` to another trait [INFO] [stdout] = help: consider moving `drain_range` to another trait [INFO] [stdout] = help: consider moving `get_mut` to another trait [INFO] [stdout] = help: consider moving `swap` to another trait [INFO] [stdout] = help: consider moving `reverse` to another trait [INFO] [stdout] = help: consider moving `first_mut` to another trait [INFO] [stdout] = help: consider moving `last_mut` to another trait [INFO] [stdout] = help: consider moving `push` to another trait [INFO] [stdout] = help: consider moving `insert` to another trait [INFO] [stdout] = help: consider moving `pop` to another trait [INFO] [stdout] = help: consider moving `remove` to another trait [INFO] [stdout] = help: consider moving `swap_remove` to another trait [INFO] [stdout] = help: consider moving `truncate` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:727:13 [INFO] [stdout] | [INFO] [stdout] 727 | let _: &Map; [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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 727 | let _: &dyn Map; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `map::Map` is not dyn compatible [INFO] [stdout] --> src/lib.rs:727:13 [INFO] [stdout] | [INFO] [stdout] 727 | let _: &Map; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `map::Map` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/lib.rs:148:8 [INFO] [stdout] | [INFO] [stdout] 148 | fn extend_object(&mut self, items: &mut Iterator) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^^^^^ ...because method `extend_object` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 151 | fn clear(&mut self) where Self: AddRemove { [INFO] [stdout] | ^^^^^ ...because method `clear` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 165 | fn drain<'a>(&'a mut self) -> Box + 'a> where Self: AddRemove; [INFO] [stdout] | ^^^^^ ...because method `drain` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 171 | fn reserve(&mut self, additional: usize) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^ ...because method `reserve` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 176 | fn shrink_to_fit(&mut self) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^^^^^ ...because method `shrink_to_fit` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 415 | fn iter_mut<'a>(&'a mut self) [INFO] [stdout] | ^^^^^^^^ ...because method `iter_mut` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 424 | fn insert(&mut self, key: Self::Key, value: Self::Value) -> Option [INFO] [stdout] | ^^^^^^ ...because method `insert` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 428 | fn entry<'a>(&'a mut self, key: Self::Key) -> Entry<'a, Self::Key, Self::Value> [INFO] [stdout] | ^^^^^ ...because method `entry` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 439 | pub trait Map::Key>: Base { [INFO] [stdout] | --- this trait is not dyn compatible... [INFO] [stdout] ... [INFO] [stdout] 455 | fn get_mut(&mut self, key: &Q) -> Option<&mut Self::Value> where Self: Mutate; [INFO] [stdout] | ^^^^^^^ ...because method `get_mut` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 460 | fn remove(&mut self, key: &Q) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^^^ ...because method `remove` references the `Self` type in its `where` clause [INFO] [stdout] = help: consider moving `iter_mut` to another trait [INFO] [stdout] = help: consider moving `extend_object` to another trait [INFO] [stdout] = help: consider moving `drain` to another trait [INFO] [stdout] = help: consider moving `clear` to another trait [INFO] [stdout] = help: consider moving `reserve` to another trait [INFO] [stdout] = help: consider moving `shrink_to_fit` to another trait [INFO] [stdout] = help: consider moving `get_mut` to another trait [INFO] [stdout] = help: consider moving `insert` to another trait [INFO] [stdout] = help: consider moving `remove` to another trait [INFO] [stdout] = help: consider moving `entry` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:728:13 [INFO] [stdout] | [INFO] [stdout] 728 | let _: &map::OccupiedEntry; [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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 728 | let _: &dyn map::OccupiedEntry; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:729:13 [INFO] [stdout] | [INFO] [stdout] 729 | let _: &map::VacantEntry; [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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 729 | let _: &dyn map::VacantEntry; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:731:13 [INFO] [stdout] | [INFO] [stdout] 731 | let _: &Set; [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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 731 | let _: &dyn Set; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `set::Set` is not dyn compatible [INFO] [stdout] --> src/lib.rs:731:13 [INFO] [stdout] | [INFO] [stdout] 731 | let _: &Set; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ `set::Set` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/lib.rs:148:8 [INFO] [stdout] | [INFO] [stdout] 148 | fn extend_object(&mut self, items: &mut Iterator) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^^^^^ ...because method `extend_object` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 151 | fn clear(&mut self) where Self: AddRemove { [INFO] [stdout] | ^^^^^ ...because method `clear` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 165 | fn drain<'a>(&'a mut self) -> Box + 'a> where Self: AddRemove; [INFO] [stdout] | ^^^^^ ...because method `drain` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 171 | fn reserve(&mut self, additional: usize) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^ ...because method `reserve` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 176 | fn shrink_to_fit(&mut self) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^^^^^ ...because method `shrink_to_fit` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 207 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^ ...because method `iter_mut` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 577 | fn insert(&mut self, item: Self::Item) -> bool where Self: AddRemove; [INFO] [stdout] | ^^^^^^ ...because method `insert` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 586 | fn replace(&mut self, item: Self::Item) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^^^^ ...because method `replace` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 596 | pub trait Set::Item>: Base { [INFO] [stdout] | --- this trait is not dyn compatible... [INFO] [stdout] ... [INFO] [stdout] 610 | fn remove(&mut self, item: &Q) -> bool where Self: AddRemove { [INFO] [stdout] | ^^^^^^ ...because method `remove` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 617 | fn take(&mut self, item: &Q) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^ ...because method `take` references the `Self` type in its `where` clause [INFO] [stdout] = help: consider moving `iter_mut` to another trait [INFO] [stdout] = help: consider moving `extend_object` to another trait [INFO] [stdout] = help: consider moving `drain` to another trait [INFO] [stdout] = help: consider moving `clear` to another trait [INFO] [stdout] = help: consider moving `reserve` to another trait [INFO] [stdout] = help: consider moving `shrink_to_fit` to another trait [INFO] [stdout] = help: consider moving `insert` to another trait [INFO] [stdout] = help: consider moving `remove` to another trait [INFO] [stdout] = help: consider moving `replace` to another trait [INFO] [stdout] = help: consider moving `take` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:733:13 [INFO] [stdout] | [INFO] [stdout] 733 | let _: &Queue; [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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 733 | let _: &dyn Queue; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `Queue` is not dyn compatible [INFO] [stdout] --> src/lib.rs:733:13 [INFO] [stdout] | [INFO] [stdout] 733 | let _: &Queue; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ `Queue` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/lib.rs:148:8 [INFO] [stdout] | [INFO] [stdout] 148 | fn extend_object(&mut self, items: &mut Iterator) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^^^^^ ...because method `extend_object` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 151 | fn clear(&mut self) where Self: AddRemove { [INFO] [stdout] | ^^^^^ ...because method `clear` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 165 | fn drain<'a>(&'a mut self) -> Box + 'a> where Self: AddRemove; [INFO] [stdout] | ^^^^^ ...because method `drain` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 171 | fn reserve(&mut self, additional: usize) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^ ...because method `reserve` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 176 | fn shrink_to_fit(&mut self) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^^^^^ ...because method `shrink_to_fit` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 207 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^ ...because method `iter_mut` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 622 | pub trait Queue: Collection + Iter { [INFO] [stdout] | ----- this trait is not dyn compatible... [INFO] [stdout] ... [INFO] [stdout] 627 | fn push(&mut self, item: Self::Item) where Self: AddRemove; [INFO] [stdout] | ^^^^ ...because method `push` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 637 | fn pop_front(&mut self) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^ ...because method `pop_front` references the `Self` type in its `where` clause [INFO] [stdout] = help: consider moving `iter_mut` to another trait [INFO] [stdout] = help: consider moving `extend_object` to another trait [INFO] [stdout] = help: consider moving `drain` to another trait [INFO] [stdout] = help: consider moving `clear` to another trait [INFO] [stdout] = help: consider moving `reserve` to another trait [INFO] [stdout] = help: consider moving `shrink_to_fit` to another trait [INFO] [stdout] = help: consider moving `push` to another trait [INFO] [stdout] = help: consider moving `pop_front` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:734:13 [INFO] [stdout] | [INFO] [stdout] 734 | let _: &Deque; [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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 734 | let _: &dyn Deque; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `Deque` is not dyn compatible [INFO] [stdout] --> src/lib.rs:734:13 [INFO] [stdout] | [INFO] [stdout] 734 | let _: &Deque; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ `Deque` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/lib.rs:148:8 [INFO] [stdout] | [INFO] [stdout] 148 | fn extend_object(&mut self, items: &mut Iterator) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^^^^^ ...because method `extend_object` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 151 | fn clear(&mut self) where Self: AddRemove { [INFO] [stdout] | ^^^^^ ...because method `clear` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 165 | fn drain<'a>(&'a mut self) -> Box + 'a> where Self: AddRemove; [INFO] [stdout] | ^^^^^ ...because method `drain` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 171 | fn reserve(&mut self, additional: usize) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^ ...because method `reserve` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 176 | fn shrink_to_fit(&mut self) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^^^^^ ...because method `shrink_to_fit` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 207 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^ ...because method `iter_mut` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 627 | fn push(&mut self, item: Self::Item) where Self: AddRemove; [INFO] [stdout] | ^^^^ ...because method `push` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 637 | fn pop_front(&mut self) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^ ...because method `pop_front` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 672 | pub trait Deque: Queue { [INFO] [stdout] | ----- this trait is not dyn compatible... [INFO] [stdout] ... [INFO] [stdout] 681 | fn pop_back(&mut self) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^ ...because method `pop_back` references the `Self` type in its `where` clause [INFO] [stdout] = help: consider moving `iter_mut` to another trait [INFO] [stdout] = help: consider moving `extend_object` to another trait [INFO] [stdout] = help: consider moving `drain` to another trait [INFO] [stdout] = help: consider moving `clear` to another trait [INFO] [stdout] = help: consider moving `reserve` to another trait [INFO] [stdout] = help: consider moving `shrink_to_fit` to another trait [INFO] [stdout] = help: consider moving `push` to another trait [INFO] [stdout] = help: consider moving `pop_front` to another trait [INFO] [stdout] = help: consider moving `pop_back` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:736:13 [INFO] [stdout] | [INFO] [stdout] 736 | let _: &FifoQueue; [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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 736 | let _: &dyn FifoQueue; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `FifoQueue` is not dyn compatible [INFO] [stdout] --> src/lib.rs:736:13 [INFO] [stdout] | [INFO] [stdout] 736 | let _: &FifoQueue; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ `FifoQueue` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/lib.rs:148:8 [INFO] [stdout] | [INFO] [stdout] 148 | fn extend_object(&mut self, items: &mut Iterator) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^^^^^ ...because method `extend_object` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 151 | fn clear(&mut self) where Self: AddRemove { [INFO] [stdout] | ^^^^^ ...because method `clear` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 165 | fn drain<'a>(&'a mut self) -> Box + 'a> where Self: AddRemove; [INFO] [stdout] | ^^^^^ ...because method `drain` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 171 | fn reserve(&mut self, additional: usize) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^ ...because method `reserve` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 176 | fn shrink_to_fit(&mut self) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^^^^^ ...because method `shrink_to_fit` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 207 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^ ...because method `iter_mut` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 627 | fn push(&mut self, item: Self::Item) where Self: AddRemove; [INFO] [stdout] | ^^^^ ...because method `push` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 637 | fn pop_front(&mut self) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^ ...because method `pop_front` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 641 | pub trait FifoQueue: Queue { [INFO] [stdout] | --------- this trait is not dyn compatible... [INFO] [stdout] ... [INFO] [stdout] 645 | fn front_mut(&mut self) -> Option<&mut Self::Item> where Self: Mutate; [INFO] [stdout] | ^^^^^^^^^ ...because method `front_mut` references the `Self` type in its `where` clause [INFO] [stdout] = help: consider moving `iter_mut` to another trait [INFO] [stdout] = help: consider moving `extend_object` to another trait [INFO] [stdout] = help: consider moving `drain` to another trait [INFO] [stdout] = help: consider moving `clear` to another trait [INFO] [stdout] = help: consider moving `reserve` to another trait [INFO] [stdout] = help: consider moving `shrink_to_fit` to another trait [INFO] [stdout] = help: consider moving `push` to another trait [INFO] [stdout] = help: consider moving `pop_front` to another trait [INFO] [stdout] = help: consider moving `front_mut` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:737:13 [INFO] [stdout] | [INFO] [stdout] 737 | let _: &FifoDeque; [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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 737 | let _: &dyn FifoDeque; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `FifoDeque` is not dyn compatible [INFO] [stdout] --> src/lib.rs:737:13 [INFO] [stdout] | [INFO] [stdout] 737 | let _: &FifoDeque; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ `FifoDeque` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/lib.rs:148:8 [INFO] [stdout] | [INFO] [stdout] 148 | fn extend_object(&mut self, items: &mut Iterator) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^^^^^ ...because method `extend_object` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 151 | fn clear(&mut self) where Self: AddRemove { [INFO] [stdout] | ^^^^^ ...because method `clear` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 165 | fn drain<'a>(&'a mut self) -> Box + 'a> where Self: AddRemove; [INFO] [stdout] | ^^^^^ ...because method `drain` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 171 | fn reserve(&mut self, additional: usize) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^ ...because method `reserve` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 176 | fn shrink_to_fit(&mut self) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^^^^^ ...because method `shrink_to_fit` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 207 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^ ...because method `iter_mut` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 627 | fn push(&mut self, item: Self::Item) where Self: AddRemove; [INFO] [stdout] | ^^^^ ...because method `push` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 637 | fn pop_front(&mut self) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^ ...because method `pop_front` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 645 | fn front_mut(&mut self) -> Option<&mut Self::Item> where Self: Mutate; [INFO] [stdout] | ^^^^^^^^^ ...because method `front_mut` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 681 | fn pop_back(&mut self) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^ ...because method `pop_back` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 685 | pub trait FifoDeque: FifoQueue + Deque { [INFO] [stdout] | --------- this trait is not dyn compatible... [INFO] [stdout] 686 | /// Pushes the given item onto the front of the deque. [INFO] [stdout] 687 | fn push_front(&mut self, item: Self::Item) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^^ ...because method `push_front` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 692 | fn back_mut(&mut self) -> Option<&mut Self::Item> where Self: Mutate; [INFO] [stdout] | ^^^^^^^^ ...because method `back_mut` references the `Self` type in its `where` clause [INFO] [stdout] = help: consider moving `iter_mut` to another trait [INFO] [stdout] = help: consider moving `extend_object` to another trait [INFO] [stdout] = help: consider moving `drain` to another trait [INFO] [stdout] = help: consider moving `clear` to another trait [INFO] [stdout] = help: consider moving `reserve` to another trait [INFO] [stdout] = help: consider moving `shrink_to_fit` to another trait [INFO] [stdout] = help: consider moving `push` to another trait [INFO] [stdout] = help: consider moving `pop_front` to another trait [INFO] [stdout] = help: consider moving `front_mut` to another trait [INFO] [stdout] = help: consider moving `pop_back` to another trait [INFO] [stdout] = help: consider moving `push_front` to another trait [INFO] [stdout] = help: consider moving `back_mut` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:739:13 [INFO] [stdout] | [INFO] [stdout] 739 | let _: &PrioQueue; [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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 739 | let _: &dyn PrioQueue; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `PrioQueue` is not dyn compatible [INFO] [stdout] --> src/lib.rs:739:13 [INFO] [stdout] | [INFO] [stdout] 739 | let _: &PrioQueue; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ `PrioQueue` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/lib.rs:148:8 [INFO] [stdout] | [INFO] [stdout] 148 | fn extend_object(&mut self, items: &mut Iterator) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^^^^^ ...because method `extend_object` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 151 | fn clear(&mut self) where Self: AddRemove { [INFO] [stdout] | ^^^^^ ...because method `clear` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 165 | fn drain<'a>(&'a mut self) -> Box + 'a> where Self: AddRemove; [INFO] [stdout] | ^^^^^ ...because method `drain` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 171 | fn reserve(&mut self, additional: usize) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^ ...because method `reserve` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 176 | fn shrink_to_fit(&mut self) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^^^^^ ...because method `shrink_to_fit` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 207 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^ ...because method `iter_mut` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 627 | fn push(&mut self, item: Self::Item) where Self: AddRemove; [INFO] [stdout] | ^^^^ ...because method `push` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 637 | fn pop_front(&mut self) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^ ...because method `pop_front` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 649 | pub trait PrioQueue: Queue { [INFO] [stdout] | --------- this trait is not dyn compatible... [INFO] [stdout] ... [INFO] [stdout] 654 | fn push_pop_front(&mut self, item: Self::Item) -> Self::Item where Self: AddRemove { [INFO] [stdout] | ^^^^^^^^^^^^^^ ...because method `push_pop_front` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 664 | fn replace_front(&mut self, item: Self::Item) -> Option where Self: AddRemove { [INFO] [stdout] | ^^^^^^^^^^^^^ ...because method `replace_front` references the `Self` type in its `where` clause [INFO] [stdout] = help: consider moving `iter_mut` to another trait [INFO] [stdout] = help: consider moving `extend_object` to another trait [INFO] [stdout] = help: consider moving `drain` to another trait [INFO] [stdout] = help: consider moving `clear` to another trait [INFO] [stdout] = help: consider moving `reserve` to another trait [INFO] [stdout] = help: consider moving `shrink_to_fit` to another trait [INFO] [stdout] = help: consider moving `push` to another trait [INFO] [stdout] = help: consider moving `pop_front` to another trait [INFO] [stdout] = help: consider moving `push_pop_front` to another trait [INFO] [stdout] = help: consider moving `replace_front` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:740:13 [INFO] [stdout] | [INFO] [stdout] 740 | let _: &PrioDeque; [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 a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 740 | let _: &dyn PrioDeque; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `PrioDeque` is not dyn compatible [INFO] [stdout] --> src/lib.rs:740:13 [INFO] [stdout] | [INFO] [stdout] 740 | let _: &PrioDeque; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ `PrioDeque` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/lib.rs:148:8 [INFO] [stdout] | [INFO] [stdout] 148 | fn extend_object(&mut self, items: &mut Iterator) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^^^^^ ...because method `extend_object` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 151 | fn clear(&mut self) where Self: AddRemove { [INFO] [stdout] | ^^^^^ ...because method `clear` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 165 | fn drain<'a>(&'a mut self) -> Box + 'a> where Self: AddRemove; [INFO] [stdout] | ^^^^^ ...because method `drain` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 171 | fn reserve(&mut self, additional: usize) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^ ...because method `reserve` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 176 | fn shrink_to_fit(&mut self) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^^^^^ ...because method `shrink_to_fit` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 207 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^ ...because method `iter_mut` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 627 | fn push(&mut self, item: Self::Item) where Self: AddRemove; [INFO] [stdout] | ^^^^ ...because method `push` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 637 | fn pop_front(&mut self) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^ ...because method `pop_front` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 654 | fn push_pop_front(&mut self, item: Self::Item) -> Self::Item where Self: AddRemove { [INFO] [stdout] | ^^^^^^^^^^^^^^ ...because method `push_pop_front` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 664 | fn replace_front(&mut self, item: Self::Item) -> Option where Self: AddRemove { [INFO] [stdout] | ^^^^^^^^^^^^^ ...because method `replace_front` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 681 | fn pop_back(&mut self) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^ ...because method `pop_back` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 696 | pub trait PrioDeque: PrioQueue + Deque { [INFO] [stdout] | --------- this trait is not dyn compatible... [INFO] [stdout] ... [INFO] [stdout] 701 | fn push_pop_back(&mut self, item: Self::Item) -> Self::Item where Self: AddRemove { [INFO] [stdout] | ^^^^^^^^^^^^^ ...because method `push_pop_back` references the `Self` type in its `where` clause [INFO] [stdout] ... [INFO] [stdout] 711 | fn replace_back(&mut self, item: Self::Item) -> Option where Self: AddRemove { [INFO] [stdout] | ^^^^^^^^^^^^ ...because method `replace_back` references the `Self` type in its `where` clause [INFO] [stdout] = help: consider moving `iter_mut` to another trait [INFO] [stdout] = help: consider moving `extend_object` to another trait [INFO] [stdout] = help: consider moving `drain` to another trait [INFO] [stdout] = help: consider moving `clear` to another trait [INFO] [stdout] = help: consider moving `reserve` to another trait [INFO] [stdout] = help: consider moving `shrink_to_fit` to another trait [INFO] [stdout] = help: consider moving `push` to another trait [INFO] [stdout] = help: consider moving `pop_front` to another trait [INFO] [stdout] = help: consider moving `push_pop_front` to another trait [INFO] [stdout] = help: consider moving `replace_front` to another trait [INFO] [stdout] = help: consider moving `pop_back` to another trait [INFO] [stdout] = help: consider moving `push_pop_back` to another trait [INFO] [stdout] = help: consider moving `replace_back` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0038`. [INFO] [stdout] [INFO] [stderr] error: could not compile `eclectic` (lib) due to 10 previous errors; 65 warnings emitted [INFO] running `Command { std: "docker" "inspect" "5d8e1c68ca4f21348133cd6641e3d570ecc8c536d8dc0fb90c07b4ea131b6669", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5d8e1c68ca4f21348133cd6641e3d570ecc8c536d8dc0fb90c07b4ea131b6669", kill_on_drop: false }` [INFO] [stdout] 5d8e1c68ca4f21348133cd6641e3d570ecc8c536d8dc0fb90c07b4ea131b6669