[INFO] fetching crate eclectic 0.11.0... [INFO] testing eclectic-0.11.0 against beta-2022-04-10 for beta-1.61-1 [INFO] extracting crate eclectic 0.11.0 into /workspace/builds/worker-10/source [INFO] validating manifest of crates.io crate eclectic 0.11.0 on toolchain beta-2022-04-10 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [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-10/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d3b10acb720e6f4280072d6b7155493b10ac155beef19e1215b8a150edbe0c3a [INFO] running `Command { std: "docker" "start" "-a" "d3b10acb720e6f4280072d6b7155493b10ac155beef19e1215b8a150edbe0c3a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d3b10acb720e6f4280072d6b7155493b10ac155beef19e1215b8a150edbe0c3a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d3b10acb720e6f4280072d6b7155493b10ac155beef19e1215b8a150edbe0c3a", kill_on_drop: false }` [INFO] [stdout] d3b10acb720e6f4280072d6b7155493b10ac155beef19e1215b8a150edbe0c3a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b88754e782ec70acc4b55d556a83cfbf3ceb88b240742d35a2a81ea43dfb97cc [INFO] running `Command { std: "docker" "start" "-a" "b88754e782ec70acc4b55d556a83cfbf3ceb88b240742d35a2a81ea43dfb97cc", kill_on_drop: false }` [INFO] [stderr] Compiling eclectic v0.11.0 (/opt/rustwide/workdir) [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] = note: `#[warn(bare_trait_objects)]` on by default [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 148 - fn extend_object(&mut self, items: &mut Iterator) where Self: AddRemove; [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 165 - fn drain<'a>(&'a mut self) -> Box + 'a> where Self: AddRemove; [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 202 - fn iter<'a>(&'a self) -> Box + 'a>; [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 207 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 223 - fn drain_range<'a>(&'a mut self, range: R) -> Box + 'a> [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 360 - fn drain_range<'a>(&'a mut self, range: RangeFrom) -> Box + 'a> [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 369 - fn drain_range<'a>(&'a mut self, range: RangeTo) -> Box + 'a> [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 377 - fn drain_range<'a>(&'a mut self, _range: RangeFull) -> Box + 'a> [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/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] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 - fn extend_object(&mut self, _items: &mut Iterator) where Self: AddRemove { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 25 - fn drain<'a>(&'a mut self) -> Box + 'a> where Self: AddRemove { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 39 - fn iter<'a>(&'a self) -> Box + 'a> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 43 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 50 - -> Box + 'a> where Self: AddRemove [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 105 - fn extend_object(&mut self, items: &mut Iterator) { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 113 - fn drain<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 134 - fn iter<'a>(&'a self) -> Box + 'a> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 138 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 203 - fn extend_object(&mut self, items: &mut Iterator) { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 211 - fn drain<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 229 - fn iter<'a>(&'a self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 233 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> where Self: Mutate { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 291 - fn extend_object(&mut self, items: &mut Iterator) { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 299 - fn drain<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 321 - fn iter<'a>(&'a self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 325 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> where Self: Mutate { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 381 - fn extend_object(&mut self, items: &mut Iterator) { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 389 - fn drain<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 414 - fn iter<'a>(&'a self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 418 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 483 - fn extend_object(&mut self, items: &mut Iterator) { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 491 - fn drain<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 513 - fn iter<'a>(&'a self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 517 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> where Self: Mutate { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 577 - fn extend_object(&mut self, items: &mut Iterator) { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 585 - fn drain<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 603 - fn iter<'a>(&'a self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 607 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 671 - fn extend_object(&mut self, items: &mut Iterator) { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 679 - fn drain<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 701 - fn iter<'a>(&'a self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 705 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 711 - fn drain_range<'a>(&'a mut self, range: Range) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 794 - fn extend_object(&mut self, items: &mut Iterator) { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 798 - fn drain<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 820 - fn iter<'a>(&'a self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 824 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 830 - fn drain_range<'a>(&'a mut self, range: Range) -> Box + 'a> { [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 466 - Occupied(Box + 'a>), [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 468 - Vacant(Box + 'a>), [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 409 - fn iter<'a>(&'a self) -> Box + 'a>; [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 416 - -> Box + 'a> where Self: Mutate; [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 720 - let _: &Mutate; [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 721 - let _: &AddRemove; [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 723 - let _: &Collection; [INFO] [stdout] 723 + let _: &dyn Collection; [INFO] [stdout] | [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 725 - let _: &List; [INFO] [stdout] 725 + let _: &dyn List; [INFO] [stdout] | [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 727 - let _: &Map; [INFO] [stdout] 727 + let _: &dyn Map; [INFO] [stdout] | [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 728 - let _: &map::OccupiedEntry; [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 729 - let _: &map::VacantEntry; [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 731 - let _: &Set; [INFO] [stdout] 731 + let _: &dyn Set; [INFO] [stdout] | [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 733 - let _: &Queue; [INFO] [stdout] 733 + let _: &dyn Queue; [INFO] [stdout] | [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 734 - let _: &Deque; [INFO] [stdout] 734 + let _: &dyn Deque; [INFO] [stdout] | [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 736 - let _: &FifoQueue; [INFO] [stdout] 736 + let _: &dyn FifoQueue; [INFO] [stdout] | [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 737 - let _: &FifoDeque; [INFO] [stdout] 737 + let _: &dyn FifoDeque; [INFO] [stdout] | [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 739 - let _: &PrioQueue; [INFO] [stdout] 739 + let _: &dyn PrioQueue; [INFO] [stdout] | [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 740 - let _: &PrioDeque; [INFO] [stdout] 740 + let _: &dyn PrioDeque; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `Collection` cannot be made into an object [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] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(where_clauses_object_safety)]` on by default [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:148:8 [INFO] [stdout] | [INFO] [stdout] 111 | pub trait Collection { [INFO] [stdout] | ---------- this trait cannot be made into an object... [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] = help: consider moving `extend_object` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `Collection` cannot be made into an object [INFO] [stdout] --> src/lib.rs:151:8 [INFO] [stdout] | [INFO] [stdout] 151 | fn clear(&mut self) where Self: AddRemove { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:151:8 [INFO] [stdout] | [INFO] [stdout] 111 | pub trait Collection { [INFO] [stdout] | ---------- this trait cannot be made into an object... [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] = help: consider moving `clear` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `Collection` cannot be made into an object [INFO] [stdout] --> src/lib.rs:165:8 [INFO] [stdout] | [INFO] [stdout] 165 | fn drain<'a>(&'a mut self) -> Box + 'a> where Self: AddRemove; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:165:8 [INFO] [stdout] | [INFO] [stdout] 111 | pub trait Collection { [INFO] [stdout] | ---------- this trait cannot be made into an object... [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] = help: consider moving `drain` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `Collection` cannot be made into an object [INFO] [stdout] --> src/lib.rs:171:8 [INFO] [stdout] | [INFO] [stdout] 171 | fn reserve(&mut self, additional: usize) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:171:8 [INFO] [stdout] | [INFO] [stdout] 111 | pub trait Collection { [INFO] [stdout] | ---------- this trait cannot be made into an object... [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] = help: consider moving `reserve` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `Collection` cannot be made into an object [INFO] [stdout] --> src/lib.rs:176:8 [INFO] [stdout] | [INFO] [stdout] 176 | fn shrink_to_fit(&mut self) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:176:8 [INFO] [stdout] | [INFO] [stdout] 111 | pub trait Collection { [INFO] [stdout] | ---------- this trait cannot be made into an object... [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 `shrink_to_fit` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `List` cannot be made into an object [INFO] [stdout] --> src/lib.rs:247:8 [INFO] [stdout] | [INFO] [stdout] 247 | fn get_mut(&mut self, index: usize) -> Option<&mut Self::Item> where Self: Mutate; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:247:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait List: [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `get_mut` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `List` cannot be made into an object [INFO] [stdout] --> src/lib.rs:254:8 [INFO] [stdout] | [INFO] [stdout] 254 | fn swap(&mut self, i: usize, j: usize) where Self: Mutate; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:254:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait List: [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `swap` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `List` cannot be made into an object [INFO] [stdout] --> src/lib.rs:257:8 [INFO] [stdout] | [INFO] [stdout] 257 | fn reverse(&mut self) where Self: Mutate { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:257:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait List: [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `reverse` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `List` cannot be made into an object [INFO] [stdout] --> src/lib.rs:275:8 [INFO] [stdout] | [INFO] [stdout] 275 | fn first_mut(&mut self) -> Option<&mut Self::Item> where Self: Mutate { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:275:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait List: [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `first_mut` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `List` cannot be made into an object [INFO] [stdout] --> src/lib.rs:289:8 [INFO] [stdout] | [INFO] [stdout] 289 | fn last_mut(&mut self) -> Option<&mut Self::Item> where Self: Mutate { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:289:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait List: [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `last_mut` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `List` cannot be made into an object [INFO] [stdout] --> src/lib.rs:295:8 [INFO] [stdout] | [INFO] [stdout] 295 | fn push(&mut self, item: Self::Item) where Self: AddRemove { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:295:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait List: [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `push` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `List` cannot be made into an object [INFO] [stdout] --> src/lib.rs:307:8 [INFO] [stdout] | [INFO] [stdout] 307 | fn insert(&mut self, index: usize, item: Self::Item) where Self: AddRemove; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:307:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait List: [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `insert` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `List` cannot be made into an object [INFO] [stdout] --> src/lib.rs:312:8 [INFO] [stdout] | [INFO] [stdout] 312 | fn pop(&mut self) -> Option where Self: AddRemove { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:312:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait List: [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `pop` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `List` cannot be made into an object [INFO] [stdout] --> src/lib.rs:322:8 [INFO] [stdout] | [INFO] [stdout] 322 | fn remove(&mut self, index: usize) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:322:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait List: [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `remove` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `List` cannot be made into an object [INFO] [stdout] --> src/lib.rs:328:8 [INFO] [stdout] | [INFO] [stdout] 328 | fn swap_remove(&mut self, index: usize) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:328:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait List: [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `swap_remove` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `List` cannot be made into an object [INFO] [stdout] --> src/lib.rs:334:8 [INFO] [stdout] | [INFO] [stdout] 334 | fn truncate(&mut self, len: usize) where Self: AddRemove { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:334:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait List: [INFO] [stdout] | ---- this trait cannot be made into an object... [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 `truncate` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `DrainRange` cannot be made into an object [INFO] [stdout] --> src/lib.rs:223:8 [INFO] [stdout] | [INFO] [stdout] 223 | fn drain_range<'a>(&'a mut self, range: R) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:223:8 [INFO] [stdout] | [INFO] [stdout] 212 | pub trait DrainRange: Collection { [INFO] [stdout] | ---------- this trait cannot be made into an object... [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] = help: consider moving `drain_range` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `Iter` cannot be made into an object [INFO] [stdout] --> src/lib.rs:207:8 [INFO] [stdout] | [INFO] [stdout] 207 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:207:8 [INFO] [stdout] | [INFO] [stdout] 198 | pub trait Iter: Collection { [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `iter_mut` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `map::Map` cannot be made into an object [INFO] [stdout] --> src/lib.rs:455:12 [INFO] [stdout] | [INFO] [stdout] 455 | fn get_mut(&mut self, key: &Q) -> Option<&mut Self::Value> where Self: Mutate; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:455:12 [INFO] [stdout] | [INFO] [stdout] 439 | pub trait Map::Key>: Base { [INFO] [stdout] | --- this trait cannot be made into an object... [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] = help: consider moving `get_mut` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `map::Map` cannot be made into an object [INFO] [stdout] --> src/lib.rs:460:12 [INFO] [stdout] | [INFO] [stdout] 460 | fn remove(&mut self, key: &Q) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:460:12 [INFO] [stdout] | [INFO] [stdout] 439 | pub trait Map::Key>: Base { [INFO] [stdout] | --- this trait cannot be made into an object... [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 `remove` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `map::Base` cannot be made into an object [INFO] [stdout] --> src/lib.rs:415:12 [INFO] [stdout] | [INFO] [stdout] 415 | fn iter_mut<'a>(&'a mut self) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:415:12 [INFO] [stdout] | [INFO] [stdout] 398 | pub trait Base: Collection::Key, ::Value)> { [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `iter_mut` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `map::Base` cannot be made into an object [INFO] [stdout] --> src/lib.rs:424:12 [INFO] [stdout] | [INFO] [stdout] 424 | fn insert(&mut self, key: Self::Key, value: Self::Value) -> Option [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:424:12 [INFO] [stdout] | [INFO] [stdout] 398 | pub trait Base: Collection::Key, ::Value)> { [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `insert` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `map::Base` cannot be made into an object [INFO] [stdout] --> src/lib.rs:428:12 [INFO] [stdout] | [INFO] [stdout] 428 | fn entry<'a>(&'a mut self, key: Self::Key) -> Entry<'a, Self::Key, Self::Value> [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:428:12 [INFO] [stdout] | [INFO] [stdout] 398 | pub trait Base: Collection::Key, ::Value)> { [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `entry` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `set::Set` cannot be made into an object [INFO] [stdout] --> src/lib.rs:610:12 [INFO] [stdout] | [INFO] [stdout] 610 | fn remove(&mut self, item: &Q) -> bool where Self: AddRemove { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:610:12 [INFO] [stdout] | [INFO] [stdout] 596 | pub trait Set::Item>: Base { [INFO] [stdout] | --- this trait cannot be made into an object... [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] = help: consider moving `remove` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `set::Set` cannot be made into an object [INFO] [stdout] --> src/lib.rs:617:12 [INFO] [stdout] | [INFO] [stdout] 617 | fn take(&mut self, item: &Q) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:617:12 [INFO] [stdout] | [INFO] [stdout] 596 | pub trait Set::Item>: Base { [INFO] [stdout] | --- this trait cannot be made into an object... [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 `take` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `set::Base` cannot be made into an object [INFO] [stdout] --> src/lib.rs:577:12 [INFO] [stdout] | [INFO] [stdout] 577 | fn insert(&mut self, item: Self::Item) -> bool where Self: AddRemove; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:577:12 [INFO] [stdout] | [INFO] [stdout] 553 | pub trait Base: Collection + Iter { [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `insert` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `set::Base` cannot be made into an object [INFO] [stdout] --> src/lib.rs:586:12 [INFO] [stdout] | [INFO] [stdout] 586 | fn replace(&mut self, item: Self::Item) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:586:12 [INFO] [stdout] | [INFO] [stdout] 553 | pub trait Base: Collection + Iter { [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `replace` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `Queue` cannot be made into an object [INFO] [stdout] --> src/lib.rs:627:8 [INFO] [stdout] | [INFO] [stdout] 627 | fn push(&mut self, item: Self::Item) where Self: AddRemove; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:627:8 [INFO] [stdout] | [INFO] [stdout] 622 | pub trait Queue: Collection + Iter { [INFO] [stdout] | ----- this trait cannot be made into an object... [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] = help: consider moving `push` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `Queue` cannot be made into an object [INFO] [stdout] --> src/lib.rs:637:8 [INFO] [stdout] | [INFO] [stdout] 637 | fn pop_front(&mut self) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:637:8 [INFO] [stdout] | [INFO] [stdout] 622 | pub trait Queue: Collection + Iter { [INFO] [stdout] | ----- this trait cannot be made into an object... [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 `pop_front` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `Deque` cannot be made into an object [INFO] [stdout] --> src/lib.rs:681:8 [INFO] [stdout] | [INFO] [stdout] 681 | fn pop_back(&mut self) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:681:8 [INFO] [stdout] | [INFO] [stdout] 672 | pub trait Deque: Queue { [INFO] [stdout] | ----- this trait cannot be made into an object... [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 `pop_back` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `FifoQueue` cannot be made into an object [INFO] [stdout] --> src/lib.rs:645:8 [INFO] [stdout] | [INFO] [stdout] 645 | fn front_mut(&mut self) -> Option<&mut Self::Item> where Self: Mutate; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:645:8 [INFO] [stdout] | [INFO] [stdout] 641 | pub trait FifoQueue: Queue { [INFO] [stdout] | --------- this trait cannot be made into an object... [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 `front_mut` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `FifoDeque` cannot be made into an object [INFO] [stdout] --> src/lib.rs:687:8 [INFO] [stdout] | [INFO] [stdout] 687 | fn push_front(&mut self, item: Self::Item) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:687:8 [INFO] [stdout] | [INFO] [stdout] 685 | pub trait FifoDeque: FifoQueue + Deque { [INFO] [stdout] | --------- this trait cannot be made into an object... [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] = help: consider moving `push_front` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `FifoDeque` cannot be made into an object [INFO] [stdout] --> src/lib.rs:692:8 [INFO] [stdout] | [INFO] [stdout] 692 | fn back_mut(&mut self) -> Option<&mut Self::Item> where Self: Mutate; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:692:8 [INFO] [stdout] | [INFO] [stdout] 685 | pub trait FifoDeque: FifoQueue + Deque { [INFO] [stdout] | --------- this trait cannot be made into an object... [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 `back_mut` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `PrioQueue` cannot be made into an object [INFO] [stdout] --> src/lib.rs:654:8 [INFO] [stdout] | [INFO] [stdout] 654 | fn push_pop_front(&mut self, item: Self::Item) -> Self::Item where Self: AddRemove { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:654:8 [INFO] [stdout] | [INFO] [stdout] 649 | pub trait PrioQueue: Queue { [INFO] [stdout] | --------- this trait cannot be made into an object... [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] = help: consider moving `push_pop_front` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `PrioQueue` cannot be made into an object [INFO] [stdout] --> src/lib.rs:664:8 [INFO] [stdout] | [INFO] [stdout] 664 | fn replace_front(&mut self, item: Self::Item) -> Option where Self: AddRemove { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:664:8 [INFO] [stdout] | [INFO] [stdout] 649 | pub trait PrioQueue: Queue { [INFO] [stdout] | --------- this trait cannot be made into an object... [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 `replace_front` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `PrioDeque` cannot be made into an object [INFO] [stdout] --> src/lib.rs:701:8 [INFO] [stdout] | [INFO] [stdout] 701 | fn push_pop_back(&mut self, item: Self::Item) -> Self::Item where Self: AddRemove { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:701:8 [INFO] [stdout] | [INFO] [stdout] 696 | pub trait PrioDeque: PrioQueue + Deque { [INFO] [stdout] | --------- this trait cannot be made into an object... [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] = help: consider moving `push_pop_back` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `PrioDeque` cannot be made into an object [INFO] [stdout] --> src/lib.rs:711:8 [INFO] [stdout] | [INFO] [stdout] 711 | fn replace_back(&mut self, item: Self::Item) -> Option where Self: AddRemove { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:711:8 [INFO] [stdout] | [INFO] [stdout] 696 | pub trait PrioDeque: PrioQueue + Deque { [INFO] [stdout] | --------- this trait cannot be made into an object... [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 `replace_back` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused boxed `Iterator` trait object that must be used [INFO] [stdout] --> src/lib.rs:152:9 [INFO] [stdout] | [INFO] [stdout] 152 | self.drain(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: iterators are lazy and do nothing unless consumed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused boxed `Iterator` trait object that must be used [INFO] [stdout] --> src/lib.rs:338:13 [INFO] [stdout] | [INFO] [stdout] 338 | self.drain_range(len..); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: iterators are lazy and do nothing unless consumed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 104 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.94s [INFO] running `Command { std: "docker" "inspect" "b88754e782ec70acc4b55d556a83cfbf3ceb88b240742d35a2a81ea43dfb97cc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b88754e782ec70acc4b55d556a83cfbf3ceb88b240742d35a2a81ea43dfb97cc", kill_on_drop: false }` [INFO] [stdout] b88754e782ec70acc4b55d556a83cfbf3ceb88b240742d35a2a81ea43dfb97cc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 089e894525323b2c2c32cc271a27b9041fe7b05a8d313f8ea8d47c150b68ee91 [INFO] running `Command { std: "docker" "start" "-a" "089e894525323b2c2c32cc271a27b9041fe7b05a8d313f8ea8d47c150b68ee91", kill_on_drop: false }` [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] = note: `#[warn(bare_trait_objects)]` on by default [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 148 - fn extend_object(&mut self, items: &mut Iterator) where Self: AddRemove; [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 165 - fn drain<'a>(&'a mut self) -> Box + 'a> where Self: AddRemove; [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 202 - fn iter<'a>(&'a self) -> Box + 'a>; [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 207 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 223 - fn drain_range<'a>(&'a mut self, range: R) -> Box + 'a> [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 360 - fn drain_range<'a>(&'a mut self, range: RangeFrom) -> Box + 'a> [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 369 - fn drain_range<'a>(&'a mut self, range: RangeTo) -> Box + 'a> [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 377 - fn drain_range<'a>(&'a mut self, _range: RangeFull) -> Box + 'a> [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/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] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 - fn extend_object(&mut self, _items: &mut Iterator) where Self: AddRemove { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 25 - fn drain<'a>(&'a mut self) -> Box + 'a> where Self: AddRemove { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 39 - fn iter<'a>(&'a self) -> Box + 'a> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 43 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 50 - -> Box + 'a> where Self: AddRemove [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 105 - fn extend_object(&mut self, items: &mut Iterator) { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 113 - fn drain<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 134 - fn iter<'a>(&'a self) -> Box + 'a> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 138 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 203 - fn extend_object(&mut self, items: &mut Iterator) { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 211 - fn drain<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 229 - fn iter<'a>(&'a self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 233 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> where Self: Mutate { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 291 - fn extend_object(&mut self, items: &mut Iterator) { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 299 - fn drain<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 321 - fn iter<'a>(&'a self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 325 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> where Self: Mutate { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 381 - fn extend_object(&mut self, items: &mut Iterator) { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 389 - fn drain<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 414 - fn iter<'a>(&'a self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 418 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 483 - fn extend_object(&mut self, items: &mut Iterator) { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 491 - fn drain<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 513 - fn iter<'a>(&'a self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 517 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> where Self: Mutate { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 577 - fn extend_object(&mut self, items: &mut Iterator) { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 585 - fn drain<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 603 - fn iter<'a>(&'a self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 607 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 671 - fn extend_object(&mut self, items: &mut Iterator) { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 679 - fn drain<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 701 - fn iter<'a>(&'a self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 705 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 711 - fn drain_range<'a>(&'a mut self, range: Range) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 794 - fn extend_object(&mut self, items: &mut Iterator) { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 798 - fn drain<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 820 - fn iter<'a>(&'a self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 824 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 830 - fn drain_range<'a>(&'a mut self, range: Range) -> Box + 'a> { [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 466 - Occupied(Box + 'a>), [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 468 - Vacant(Box + 'a>), [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 409 - fn iter<'a>(&'a self) -> Box + 'a>; [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 416 - -> Box + 'a> where Self: Mutate; [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 720 - let _: &Mutate; [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 721 - let _: &AddRemove; [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 723 - let _: &Collection; [INFO] [stdout] 723 + let _: &dyn Collection; [INFO] [stdout] | [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 725 - let _: &List; [INFO] [stdout] 725 + let _: &dyn List; [INFO] [stdout] | [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 727 - let _: &Map; [INFO] [stdout] 727 + let _: &dyn Map; [INFO] [stdout] | [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 728 - let _: &map::OccupiedEntry; [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 729 - let _: &map::VacantEntry; [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 731 - let _: &Set; [INFO] [stdout] 731 + let _: &dyn Set; [INFO] [stdout] | [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 733 - let _: &Queue; [INFO] [stdout] 733 + let _: &dyn Queue; [INFO] [stdout] | [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 734 - let _: &Deque; [INFO] [stdout] 734 + let _: &dyn Deque; [INFO] [stdout] | [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 736 - let _: &FifoQueue; [INFO] [stdout] 736 + let _: &dyn FifoQueue; [INFO] [stdout] | [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 737 - let _: &FifoDeque; [INFO] [stdout] 737 + let _: &dyn FifoDeque; [INFO] [stdout] | [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 739 - let _: &PrioQueue; [INFO] [stdout] 739 + let _: &dyn PrioQueue; [INFO] [stdout] | [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 740 - let _: &PrioDeque; [INFO] [stdout] 740 + let _: &dyn PrioDeque; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `Collection` cannot be made into an object [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] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(where_clauses_object_safety)]` on by default [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:148:8 [INFO] [stdout] | [INFO] [stdout] 111 | pub trait Collection { [INFO] [stdout] | ---------- this trait cannot be made into an object... [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] = help: consider moving `extend_object` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `Collection` cannot be made into an object [INFO] [stdout] --> src/lib.rs:151:8 [INFO] [stdout] | [INFO] [stdout] 151 | fn clear(&mut self) where Self: AddRemove { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:151:8 [INFO] [stdout] | [INFO] [stdout] 111 | pub trait Collection { [INFO] [stdout] | ---------- this trait cannot be made into an object... [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] = help: consider moving `clear` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `Collection` cannot be made into an object [INFO] [stdout] --> src/lib.rs:165:8 [INFO] [stdout] | [INFO] [stdout] 165 | fn drain<'a>(&'a mut self) -> Box + 'a> where Self: AddRemove; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:165:8 [INFO] [stdout] | [INFO] [stdout] 111 | pub trait Collection { [INFO] [stdout] | ---------- this trait cannot be made into an object... [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] = help: consider moving `drain` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `Collection` cannot be made into an object [INFO] [stdout] --> src/lib.rs:171:8 [INFO] [stdout] | [INFO] [stdout] 171 | fn reserve(&mut self, additional: usize) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:171:8 [INFO] [stdout] | [INFO] [stdout] 111 | pub trait Collection { [INFO] [stdout] | ---------- this trait cannot be made into an object... [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] = help: consider moving `reserve` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `Collection` cannot be made into an object [INFO] [stdout] --> src/lib.rs:176:8 [INFO] [stdout] | [INFO] [stdout] 176 | fn shrink_to_fit(&mut self) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:176:8 [INFO] [stdout] | [INFO] [stdout] 111 | pub trait Collection { [INFO] [stdout] | ---------- this trait cannot be made into an object... [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 `shrink_to_fit` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `List` cannot be made into an object [INFO] [stdout] --> src/lib.rs:247:8 [INFO] [stdout] | [INFO] [stdout] 247 | fn get_mut(&mut self, index: usize) -> Option<&mut Self::Item> where Self: Mutate; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:247:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait List: [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `get_mut` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `List` cannot be made into an object [INFO] [stdout] --> src/lib.rs:254:8 [INFO] [stdout] | [INFO] [stdout] 254 | fn swap(&mut self, i: usize, j: usize) where Self: Mutate; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:254:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait List: [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `swap` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `List` cannot be made into an object [INFO] [stdout] --> src/lib.rs:257:8 [INFO] [stdout] | [INFO] [stdout] 257 | fn reverse(&mut self) where Self: Mutate { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:257:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait List: [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `reverse` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `List` cannot be made into an object [INFO] [stdout] --> src/lib.rs:275:8 [INFO] [stdout] | [INFO] [stdout] 275 | fn first_mut(&mut self) -> Option<&mut Self::Item> where Self: Mutate { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:275:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait List: [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `first_mut` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `List` cannot be made into an object [INFO] [stdout] --> src/lib.rs:289:8 [INFO] [stdout] | [INFO] [stdout] 289 | fn last_mut(&mut self) -> Option<&mut Self::Item> where Self: Mutate { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:289:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait List: [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `last_mut` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `List` cannot be made into an object [INFO] [stdout] --> src/lib.rs:295:8 [INFO] [stdout] | [INFO] [stdout] 295 | fn push(&mut self, item: Self::Item) where Self: AddRemove { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:295:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait List: [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `push` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `List` cannot be made into an object [INFO] [stdout] --> src/lib.rs:307:8 [INFO] [stdout] | [INFO] [stdout] 307 | fn insert(&mut self, index: usize, item: Self::Item) where Self: AddRemove; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:307:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait List: [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `insert` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `List` cannot be made into an object [INFO] [stdout] --> src/lib.rs:312:8 [INFO] [stdout] | [INFO] [stdout] 312 | fn pop(&mut self) -> Option where Self: AddRemove { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:312:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait List: [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `pop` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `List` cannot be made into an object [INFO] [stdout] --> src/lib.rs:322:8 [INFO] [stdout] | [INFO] [stdout] 322 | fn remove(&mut self, index: usize) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:322:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait List: [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `remove` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `List` cannot be made into an object [INFO] [stdout] --> src/lib.rs:328:8 [INFO] [stdout] | [INFO] [stdout] 328 | fn swap_remove(&mut self, index: usize) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:328:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait List: [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `swap_remove` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `List` cannot be made into an object [INFO] [stdout] --> src/lib.rs:334:8 [INFO] [stdout] | [INFO] [stdout] 334 | fn truncate(&mut self, len: usize) where Self: AddRemove { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:334:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait List: [INFO] [stdout] | ---- this trait cannot be made into an object... [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 `truncate` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `DrainRange` cannot be made into an object [INFO] [stdout] --> src/lib.rs:223:8 [INFO] [stdout] | [INFO] [stdout] 223 | fn drain_range<'a>(&'a mut self, range: R) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:223:8 [INFO] [stdout] | [INFO] [stdout] 212 | pub trait DrainRange: Collection { [INFO] [stdout] | ---------- this trait cannot be made into an object... [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] = help: consider moving `drain_range` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `Iter` cannot be made into an object [INFO] [stdout] --> src/lib.rs:207:8 [INFO] [stdout] | [INFO] [stdout] 207 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:207:8 [INFO] [stdout] | [INFO] [stdout] 198 | pub trait Iter: Collection { [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `iter_mut` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `map::Map` cannot be made into an object [INFO] [stdout] --> src/lib.rs:455:12 [INFO] [stdout] | [INFO] [stdout] 455 | fn get_mut(&mut self, key: &Q) -> Option<&mut Self::Value> where Self: Mutate; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:455:12 [INFO] [stdout] | [INFO] [stdout] 439 | pub trait Map::Key>: Base { [INFO] [stdout] | --- this trait cannot be made into an object... [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] = help: consider moving `get_mut` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `map::Map` cannot be made into an object [INFO] [stdout] --> src/lib.rs:460:12 [INFO] [stdout] | [INFO] [stdout] 460 | fn remove(&mut self, key: &Q) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:460:12 [INFO] [stdout] | [INFO] [stdout] 439 | pub trait Map::Key>: Base { [INFO] [stdout] | --- this trait cannot be made into an object... [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 `remove` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `map::Base` cannot be made into an object [INFO] [stdout] --> src/lib.rs:415:12 [INFO] [stdout] | [INFO] [stdout] 415 | fn iter_mut<'a>(&'a mut self) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:415:12 [INFO] [stdout] | [INFO] [stdout] 398 | pub trait Base: Collection::Key, ::Value)> { [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `iter_mut` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `map::Base` cannot be made into an object [INFO] [stdout] --> src/lib.rs:424:12 [INFO] [stdout] | [INFO] [stdout] 424 | fn insert(&mut self, key: Self::Key, value: Self::Value) -> Option [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:424:12 [INFO] [stdout] | [INFO] [stdout] 398 | pub trait Base: Collection::Key, ::Value)> { [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `insert` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `map::Base` cannot be made into an object [INFO] [stdout] --> src/lib.rs:428:12 [INFO] [stdout] | [INFO] [stdout] 428 | fn entry<'a>(&'a mut self, key: Self::Key) -> Entry<'a, Self::Key, Self::Value> [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:428:12 [INFO] [stdout] | [INFO] [stdout] 398 | pub trait Base: Collection::Key, ::Value)> { [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `entry` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `set::Set` cannot be made into an object [INFO] [stdout] --> src/lib.rs:610:12 [INFO] [stdout] | [INFO] [stdout] 610 | fn remove(&mut self, item: &Q) -> bool where Self: AddRemove { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:610:12 [INFO] [stdout] | [INFO] [stdout] 596 | pub trait Set::Item>: Base { [INFO] [stdout] | --- this trait cannot be made into an object... [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] = help: consider moving `remove` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `set::Set` cannot be made into an object [INFO] [stdout] --> src/lib.rs:617:12 [INFO] [stdout] | [INFO] [stdout] 617 | fn take(&mut self, item: &Q) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:617:12 [INFO] [stdout] | [INFO] [stdout] 596 | pub trait Set::Item>: Base { [INFO] [stdout] | --- this trait cannot be made into an object... [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 `take` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `set::Base` cannot be made into an object [INFO] [stdout] --> src/lib.rs:577:12 [INFO] [stdout] | [INFO] [stdout] 577 | fn insert(&mut self, item: Self::Item) -> bool where Self: AddRemove; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:577:12 [INFO] [stdout] | [INFO] [stdout] 553 | pub trait Base: Collection + Iter { [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `insert` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `set::Base` cannot be made into an object [INFO] [stdout] --> src/lib.rs:586:12 [INFO] [stdout] | [INFO] [stdout] 586 | fn replace(&mut self, item: Self::Item) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:586:12 [INFO] [stdout] | [INFO] [stdout] 553 | pub trait Base: Collection + Iter { [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `replace` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `Queue` cannot be made into an object [INFO] [stdout] --> src/lib.rs:627:8 [INFO] [stdout] | [INFO] [stdout] 627 | fn push(&mut self, item: Self::Item) where Self: AddRemove; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:627:8 [INFO] [stdout] | [INFO] [stdout] 622 | pub trait Queue: Collection + Iter { [INFO] [stdout] | ----- this trait cannot be made into an object... [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] = help: consider moving `push` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `Queue` cannot be made into an object [INFO] [stdout] --> src/lib.rs:637:8 [INFO] [stdout] | [INFO] [stdout] 637 | fn pop_front(&mut self) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:637:8 [INFO] [stdout] | [INFO] [stdout] 622 | pub trait Queue: Collection + Iter { [INFO] [stdout] | ----- this trait cannot be made into an object... [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 `pop_front` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `Deque` cannot be made into an object [INFO] [stdout] --> src/lib.rs:681:8 [INFO] [stdout] | [INFO] [stdout] 681 | fn pop_back(&mut self) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:681:8 [INFO] [stdout] | [INFO] [stdout] 672 | pub trait Deque: Queue { [INFO] [stdout] | ----- this trait cannot be made into an object... [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 `pop_back` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `FifoQueue` cannot be made into an object [INFO] [stdout] --> src/lib.rs:645:8 [INFO] [stdout] | [INFO] [stdout] 645 | fn front_mut(&mut self) -> Option<&mut Self::Item> where Self: Mutate; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:645:8 [INFO] [stdout] | [INFO] [stdout] 641 | pub trait FifoQueue: Queue { [INFO] [stdout] | --------- this trait cannot be made into an object... [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 `front_mut` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `FifoDeque` cannot be made into an object [INFO] [stdout] --> src/lib.rs:687:8 [INFO] [stdout] | [INFO] [stdout] 687 | fn push_front(&mut self, item: Self::Item) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:687:8 [INFO] [stdout] | [INFO] [stdout] 685 | pub trait FifoDeque: FifoQueue + Deque { [INFO] [stdout] | --------- this trait cannot be made into an object... [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] = help: consider moving `push_front` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling eclectic v0.11.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: the trait `FifoDeque` cannot be made into an object [INFO] [stdout] --> src/lib.rs:692:8 [INFO] [stdout] | [INFO] [stdout] 692 | fn back_mut(&mut self) -> Option<&mut Self::Item> where Self: Mutate; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:692:8 [INFO] [stdout] | [INFO] [stdout] 685 | pub trait FifoDeque: FifoQueue + Deque { [INFO] [stdout] | --------- this trait cannot be made into an object... [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 `back_mut` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `PrioQueue` cannot be made into an object [INFO] [stdout] --> src/lib.rs:654:8 [INFO] [stdout] | [INFO] [stdout] 654 | fn push_pop_front(&mut self, item: Self::Item) -> Self::Item where Self: AddRemove { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:654:8 [INFO] [stdout] | [INFO] [stdout] 649 | pub trait PrioQueue: Queue { [INFO] [stdout] | --------- this trait cannot be made into an object... [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] = help: consider moving `push_pop_front` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `PrioQueue` cannot be made into an object [INFO] [stdout] --> src/lib.rs:664:8 [INFO] [stdout] | [INFO] [stdout] 664 | fn replace_front(&mut self, item: Self::Item) -> Option where Self: AddRemove { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:664:8 [INFO] [stdout] | [INFO] [stdout] 649 | pub trait PrioQueue: Queue { [INFO] [stdout] | --------- this trait cannot be made into an object... [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 `replace_front` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `PrioDeque` cannot be made into an object [INFO] [stdout] --> src/lib.rs:701:8 [INFO] [stdout] | [INFO] [stdout] 701 | fn push_pop_back(&mut self, item: Self::Item) -> Self::Item where Self: AddRemove { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:701:8 [INFO] [stdout] | [INFO] [stdout] 696 | pub trait PrioDeque: PrioQueue + Deque { [INFO] [stdout] | --------- this trait cannot be made into an object... [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] = help: consider moving `push_pop_back` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `PrioDeque` cannot be made into an object [INFO] [stdout] --> src/lib.rs:711:8 [INFO] [stdout] | [INFO] [stdout] 711 | fn replace_back(&mut self, item: Self::Item) -> Option where Self: AddRemove { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:711:8 [INFO] [stdout] | [INFO] [stdout] 696 | pub trait PrioDeque: PrioQueue + Deque { [INFO] [stdout] | --------- this trait cannot be made into an object... [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 `replace_back` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused boxed `Iterator` trait object that must be used [INFO] [stdout] --> src/lib.rs:152:9 [INFO] [stdout] | [INFO] [stdout] 152 | self.drain(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: iterators are lazy and do nothing unless consumed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused boxed `Iterator` trait object that must be used [INFO] [stdout] --> src/lib.rs:338:13 [INFO] [stdout] | [INFO] [stdout] 338 | self.drain_range(len..); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: iterators are lazy and do nothing unless consumed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 104 warnings emitted [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] = note: `#[warn(bare_trait_objects)]` on by default [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 148 - fn extend_object(&mut self, items: &mut Iterator) where Self: AddRemove; [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 165 - fn drain<'a>(&'a mut self) -> Box + 'a> where Self: AddRemove; [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 202 - fn iter<'a>(&'a self) -> Box + 'a>; [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 207 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 223 - fn drain_range<'a>(&'a mut self, range: R) -> Box + 'a> [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 360 - fn drain_range<'a>(&'a mut self, range: RangeFrom) -> Box + 'a> [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 369 - fn drain_range<'a>(&'a mut self, range: RangeTo) -> Box + 'a> [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 377 - fn drain_range<'a>(&'a mut self, _range: RangeFull) -> Box + 'a> [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/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] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 - fn extend_object(&mut self, _items: &mut Iterator) where Self: AddRemove { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 25 - fn drain<'a>(&'a mut self) -> Box + 'a> where Self: AddRemove { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 39 - fn iter<'a>(&'a self) -> Box + 'a> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 43 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 50 - -> Box + 'a> where Self: AddRemove [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 105 - fn extend_object(&mut self, items: &mut Iterator) { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 113 - fn drain<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 134 - fn iter<'a>(&'a self) -> Box + 'a> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 138 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 203 - fn extend_object(&mut self, items: &mut Iterator) { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 211 - fn drain<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 229 - fn iter<'a>(&'a self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 233 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> where Self: Mutate { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 291 - fn extend_object(&mut self, items: &mut Iterator) { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 299 - fn drain<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 321 - fn iter<'a>(&'a self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 325 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> where Self: Mutate { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 381 - fn extend_object(&mut self, items: &mut Iterator) { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 389 - fn drain<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 414 - fn iter<'a>(&'a self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 418 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 483 - fn extend_object(&mut self, items: &mut Iterator) { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 491 - fn drain<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 513 - fn iter<'a>(&'a self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 517 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> where Self: Mutate { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 577 - fn extend_object(&mut self, items: &mut Iterator) { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 585 - fn drain<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 603 - fn iter<'a>(&'a self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 607 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 671 - fn extend_object(&mut self, items: &mut Iterator) { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 679 - fn drain<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 701 - fn iter<'a>(&'a self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 705 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 711 - fn drain_range<'a>(&'a mut self, range: Range) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 794 - fn extend_object(&mut self, items: &mut Iterator) { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 798 - fn drain<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 820 - fn iter<'a>(&'a self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 824 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 830 - fn drain_range<'a>(&'a mut self, range: Range) -> Box + 'a> { [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 466 - Occupied(Box + 'a>), [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 468 - Vacant(Box + 'a>), [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 409 - fn iter<'a>(&'a self) -> Box + 'a>; [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 416 - -> Box + 'a> where Self: Mutate; [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 720 - let _: &Mutate; [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 721 - let _: &AddRemove; [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 723 - let _: &Collection; [INFO] [stdout] 723 + let _: &dyn Collection; [INFO] [stdout] | [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 725 - let _: &List; [INFO] [stdout] 725 + let _: &dyn List; [INFO] [stdout] | [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 727 - let _: &Map; [INFO] [stdout] 727 + let _: &dyn Map; [INFO] [stdout] | [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 728 - let _: &map::OccupiedEntry; [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 729 - let _: &map::VacantEntry; [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 731 - let _: &Set; [INFO] [stdout] 731 + let _: &dyn Set; [INFO] [stdout] | [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 733 - let _: &Queue; [INFO] [stdout] 733 + let _: &dyn Queue; [INFO] [stdout] | [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 734 - let _: &Deque; [INFO] [stdout] 734 + let _: &dyn Deque; [INFO] [stdout] | [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 736 - let _: &FifoQueue; [INFO] [stdout] 736 + let _: &dyn FifoQueue; [INFO] [stdout] | [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 737 - let _: &FifoDeque; [INFO] [stdout] 737 + let _: &dyn FifoDeque; [INFO] [stdout] | [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 739 - let _: &PrioQueue; [INFO] [stdout] 739 + let _: &dyn PrioQueue; [INFO] [stdout] | [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 740 - let _: &PrioDeque; [INFO] [stdout] 740 + let _: &dyn PrioDeque; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `Collection` cannot be made into an object [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] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(where_clauses_object_safety)]` on by default [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:148:8 [INFO] [stdout] | [INFO] [stdout] 111 | pub trait Collection { [INFO] [stdout] | ---------- this trait cannot be made into an object... [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] = help: consider moving `extend_object` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `Collection` cannot be made into an object [INFO] [stdout] --> src/lib.rs:151:8 [INFO] [stdout] | [INFO] [stdout] 151 | fn clear(&mut self) where Self: AddRemove { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:151:8 [INFO] [stdout] | [INFO] [stdout] 111 | pub trait Collection { [INFO] [stdout] | ---------- this trait cannot be made into an object... [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] = help: consider moving `clear` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `Collection` cannot be made into an object [INFO] [stdout] --> src/lib.rs:165:8 [INFO] [stdout] | [INFO] [stdout] 165 | fn drain<'a>(&'a mut self) -> Box + 'a> where Self: AddRemove; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:165:8 [INFO] [stdout] | [INFO] [stdout] 111 | pub trait Collection { [INFO] [stdout] | ---------- this trait cannot be made into an object... [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] = help: consider moving `drain` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `Collection` cannot be made into an object [INFO] [stdout] --> src/lib.rs:171:8 [INFO] [stdout] | [INFO] [stdout] 171 | fn reserve(&mut self, additional: usize) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:171:8 [INFO] [stdout] | [INFO] [stdout] 111 | pub trait Collection { [INFO] [stdout] | ---------- this trait cannot be made into an object... [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] = help: consider moving `reserve` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `Collection` cannot be made into an object [INFO] [stdout] --> src/lib.rs:176:8 [INFO] [stdout] | [INFO] [stdout] 176 | fn shrink_to_fit(&mut self) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:176:8 [INFO] [stdout] | [INFO] [stdout] 111 | pub trait Collection { [INFO] [stdout] | ---------- this trait cannot be made into an object... [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 `shrink_to_fit` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `List` cannot be made into an object [INFO] [stdout] --> src/lib.rs:247:8 [INFO] [stdout] | [INFO] [stdout] 247 | fn get_mut(&mut self, index: usize) -> Option<&mut Self::Item> where Self: Mutate; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:247:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait List: [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `get_mut` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `List` cannot be made into an object [INFO] [stdout] --> src/lib.rs:254:8 [INFO] [stdout] | [INFO] [stdout] 254 | fn swap(&mut self, i: usize, j: usize) where Self: Mutate; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:254:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait List: [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `swap` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `List` cannot be made into an object [INFO] [stdout] --> src/lib.rs:257:8 [INFO] [stdout] | [INFO] [stdout] 257 | fn reverse(&mut self) where Self: Mutate { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:257:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait List: [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `reverse` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `List` cannot be made into an object [INFO] [stdout] --> src/lib.rs:275:8 [INFO] [stdout] | [INFO] [stdout] 275 | fn first_mut(&mut self) -> Option<&mut Self::Item> where Self: Mutate { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:275:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait List: [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `first_mut` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `List` cannot be made into an object [INFO] [stdout] --> src/lib.rs:289:8 [INFO] [stdout] | [INFO] [stdout] 289 | fn last_mut(&mut self) -> Option<&mut Self::Item> where Self: Mutate { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:289:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait List: [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `last_mut` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `List` cannot be made into an object [INFO] [stdout] --> src/lib.rs:295:8 [INFO] [stdout] | [INFO] [stdout] 295 | fn push(&mut self, item: Self::Item) where Self: AddRemove { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:295:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait List: [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `push` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `List` cannot be made into an object [INFO] [stdout] --> src/lib.rs:307:8 [INFO] [stdout] | [INFO] [stdout] 307 | fn insert(&mut self, index: usize, item: Self::Item) where Self: AddRemove; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:307:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait List: [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `insert` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `List` cannot be made into an object [INFO] [stdout] --> src/lib.rs:312:8 [INFO] [stdout] | [INFO] [stdout] 312 | fn pop(&mut self) -> Option where Self: AddRemove { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:312:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait List: [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `pop` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `List` cannot be made into an object [INFO] [stdout] --> src/lib.rs:322:8 [INFO] [stdout] | [INFO] [stdout] 322 | fn remove(&mut self, index: usize) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:322:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait List: [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `remove` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `List` cannot be made into an object [INFO] [stdout] --> src/lib.rs:328:8 [INFO] [stdout] | [INFO] [stdout] 328 | fn swap_remove(&mut self, index: usize) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:328:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait List: [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `swap_remove` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `List` cannot be made into an object [INFO] [stdout] --> src/lib.rs:334:8 [INFO] [stdout] | [INFO] [stdout] 334 | fn truncate(&mut self, len: usize) where Self: AddRemove { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:334:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait List: [INFO] [stdout] | ---- this trait cannot be made into an object... [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 `truncate` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `DrainRange` cannot be made into an object [INFO] [stdout] --> src/lib.rs:223:8 [INFO] [stdout] | [INFO] [stdout] 223 | fn drain_range<'a>(&'a mut self, range: R) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:223:8 [INFO] [stdout] | [INFO] [stdout] 212 | pub trait DrainRange: Collection { [INFO] [stdout] | ---------- this trait cannot be made into an object... [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] = help: consider moving `drain_range` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `Iter` cannot be made into an object [INFO] [stdout] --> src/lib.rs:207:8 [INFO] [stdout] | [INFO] [stdout] 207 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:207:8 [INFO] [stdout] | [INFO] [stdout] 198 | pub trait Iter: Collection { [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `iter_mut` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `map::Map` cannot be made into an object [INFO] [stdout] --> src/lib.rs:455:12 [INFO] [stdout] | [INFO] [stdout] 455 | fn get_mut(&mut self, key: &Q) -> Option<&mut Self::Value> where Self: Mutate; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:455:12 [INFO] [stdout] | [INFO] [stdout] 439 | pub trait Map::Key>: Base { [INFO] [stdout] | --- this trait cannot be made into an object... [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] = help: consider moving `get_mut` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `map::Map` cannot be made into an object [INFO] [stdout] --> src/lib.rs:460:12 [INFO] [stdout] | [INFO] [stdout] 460 | fn remove(&mut self, key: &Q) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:460:12 [INFO] [stdout] | [INFO] [stdout] 439 | pub trait Map::Key>: Base { [INFO] [stdout] | --- this trait cannot be made into an object... [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 `remove` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `map::Base` cannot be made into an object [INFO] [stdout] --> src/lib.rs:415:12 [INFO] [stdout] | [INFO] [stdout] 415 | fn iter_mut<'a>(&'a mut self) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:415:12 [INFO] [stdout] | [INFO] [stdout] 398 | pub trait Base: Collection::Key, ::Value)> { [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `iter_mut` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `map::Base` cannot be made into an object [INFO] [stdout] --> src/lib.rs:424:12 [INFO] [stdout] | [INFO] [stdout] 424 | fn insert(&mut self, key: Self::Key, value: Self::Value) -> Option [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:424:12 [INFO] [stdout] | [INFO] [stdout] 398 | pub trait Base: Collection::Key, ::Value)> { [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `insert` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `map::Base` cannot be made into an object [INFO] [stdout] --> src/lib.rs:428:12 [INFO] [stdout] | [INFO] [stdout] 428 | fn entry<'a>(&'a mut self, key: Self::Key) -> Entry<'a, Self::Key, Self::Value> [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:428:12 [INFO] [stdout] | [INFO] [stdout] 398 | pub trait Base: Collection::Key, ::Value)> { [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `entry` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `set::Set` cannot be made into an object [INFO] [stdout] --> src/lib.rs:610:12 [INFO] [stdout] | [INFO] [stdout] 610 | fn remove(&mut self, item: &Q) -> bool where Self: AddRemove { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:610:12 [INFO] [stdout] | [INFO] [stdout] 596 | pub trait Set::Item>: Base { [INFO] [stdout] | --- this trait cannot be made into an object... [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] = help: consider moving `remove` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `set::Set` cannot be made into an object [INFO] [stdout] --> src/lib.rs:617:12 [INFO] [stdout] | [INFO] [stdout] 617 | fn take(&mut self, item: &Q) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:617:12 [INFO] [stdout] | [INFO] [stdout] 596 | pub trait Set::Item>: Base { [INFO] [stdout] | --- this trait cannot be made into an object... [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 `take` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `set::Base` cannot be made into an object [INFO] [stdout] --> src/lib.rs:577:12 [INFO] [stdout] | [INFO] [stdout] 577 | fn insert(&mut self, item: Self::Item) -> bool where Self: AddRemove; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:577:12 [INFO] [stdout] | [INFO] [stdout] 553 | pub trait Base: Collection + Iter { [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `insert` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `set::Base` cannot be made into an object [INFO] [stdout] --> src/lib.rs:586:12 [INFO] [stdout] | [INFO] [stdout] 586 | fn replace(&mut self, item: Self::Item) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:586:12 [INFO] [stdout] | [INFO] [stdout] 553 | pub trait Base: Collection + Iter { [INFO] [stdout] | ---- this trait cannot be made into an object... [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] = help: consider moving `replace` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `Queue` cannot be made into an object [INFO] [stdout] --> src/lib.rs:627:8 [INFO] [stdout] | [INFO] [stdout] 627 | fn push(&mut self, item: Self::Item) where Self: AddRemove; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:627:8 [INFO] [stdout] | [INFO] [stdout] 622 | pub trait Queue: Collection + Iter { [INFO] [stdout] | ----- this trait cannot be made into an object... [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] = help: consider moving `push` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `Queue` cannot be made into an object [INFO] [stdout] --> src/lib.rs:637:8 [INFO] [stdout] | [INFO] [stdout] 637 | fn pop_front(&mut self) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:637:8 [INFO] [stdout] | [INFO] [stdout] 622 | pub trait Queue: Collection + Iter { [INFO] [stdout] | ----- this trait cannot be made into an object... [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 `pop_front` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `Deque` cannot be made into an object [INFO] [stdout] --> src/lib.rs:681:8 [INFO] [stdout] | [INFO] [stdout] 681 | fn pop_back(&mut self) -> Option where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:681:8 [INFO] [stdout] | [INFO] [stdout] 672 | pub trait Deque: Queue { [INFO] [stdout] | ----- this trait cannot be made into an object... [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 `pop_back` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `FifoQueue` cannot be made into an object [INFO] [stdout] --> src/lib.rs:645:8 [INFO] [stdout] | [INFO] [stdout] 645 | fn front_mut(&mut self) -> Option<&mut Self::Item> where Self: Mutate; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:645:8 [INFO] [stdout] | [INFO] [stdout] 641 | pub trait FifoQueue: Queue { [INFO] [stdout] | --------- this trait cannot be made into an object... [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 `front_mut` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `FifoDeque` cannot be made into an object [INFO] [stdout] --> src/lib.rs:687:8 [INFO] [stdout] | [INFO] [stdout] 687 | fn push_front(&mut self, item: Self::Item) where Self: AddRemove; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:687:8 [INFO] [stdout] | [INFO] [stdout] 685 | pub trait FifoDeque: FifoQueue + Deque { [INFO] [stdout] | --------- this trait cannot be made into an object... [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] = help: consider moving `push_front` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `FifoDeque` cannot be made into an object [INFO] [stdout] --> src/lib.rs:692:8 [INFO] [stdout] | [INFO] [stdout] 692 | fn back_mut(&mut self) -> Option<&mut Self::Item> where Self: Mutate; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:692:8 [INFO] [stdout] | [INFO] [stdout] 685 | pub trait FifoDeque: FifoQueue + Deque { [INFO] [stdout] | --------- this trait cannot be made into an object... [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 `back_mut` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `PrioQueue` cannot be made into an object [INFO] [stdout] --> src/lib.rs:654:8 [INFO] [stdout] | [INFO] [stdout] 654 | fn push_pop_front(&mut self, item: Self::Item) -> Self::Item where Self: AddRemove { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:654:8 [INFO] [stdout] | [INFO] [stdout] 649 | pub trait PrioQueue: Queue { [INFO] [stdout] | --------- this trait cannot be made into an object... [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] = help: consider moving `push_pop_front` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `PrioQueue` cannot be made into an object [INFO] [stdout] --> src/lib.rs:664:8 [INFO] [stdout] | [INFO] [stdout] 664 | fn replace_front(&mut self, item: Self::Item) -> Option where Self: AddRemove { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:664:8 [INFO] [stdout] | [INFO] [stdout] 649 | pub trait PrioQueue: Queue { [INFO] [stdout] | --------- this trait cannot be made into an object... [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 `replace_front` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `PrioDeque` cannot be made into an object [INFO] [stdout] --> src/lib.rs:701:8 [INFO] [stdout] | [INFO] [stdout] 701 | fn push_pop_back(&mut self, item: Self::Item) -> Self::Item where Self: AddRemove { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:701:8 [INFO] [stdout] | [INFO] [stdout] 696 | pub trait PrioDeque: PrioQueue + Deque { [INFO] [stdout] | --------- this trait cannot be made into an object... [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] = help: consider moving `push_pop_back` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the trait `PrioDeque` cannot be made into an object [INFO] [stdout] --> src/lib.rs:711:8 [INFO] [stdout] | [INFO] [stdout] 711 | fn replace_back(&mut self, item: Self::Item) -> Option where Self: AddRemove { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #51443 [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/lib.rs:711:8 [INFO] [stdout] | [INFO] [stdout] 696 | pub trait PrioDeque: PrioQueue + Deque { [INFO] [stdout] | --------- this trait cannot be made into an object... [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 `replace_back` to another trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused boxed `Iterator` trait object that must be used [INFO] [stdout] --> src/lib.rs:152:9 [INFO] [stdout] | [INFO] [stdout] 152 | self.drain(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: iterators are lazy and do nothing unless consumed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused boxed `Iterator` trait object that must be used [INFO] [stdout] --> src/lib.rs:338:13 [INFO] [stdout] | [INFO] [stdout] 338 | self.drain_range(len..); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: iterators are lazy and do nothing unless consumed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 104 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.56s [INFO] [stderr] Executable unittests src/lib.rs (/opt/rustwide/target/debug/deps/eclectic-7bf6a562fd11435a) [INFO] running `Command { std: "docker" "inspect" "089e894525323b2c2c32cc271a27b9041fe7b05a8d313f8ea8d47c150b68ee91", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "089e894525323b2c2c32cc271a27b9041fe7b05a8d313f8ea8d47c150b68ee91", kill_on_drop: false }` [INFO] [stdout] 089e894525323b2c2c32cc271a27b9041fe7b05a8d313f8ea8d47c150b68ee91 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 60bb3367d0418d81d82cce067030f7569f3350d9046767ba4a7614bff61f8337 [INFO] running `Command { std: "docker" "start" "-a" "60bb3367d0418d81d82cce067030f7569f3350d9046767ba4a7614bff61f8337", kill_on_drop: false }` [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:148:45 [INFO] [stderr] | [INFO] [stderr] 148 | fn extend_object(&mut self, items: &mut Iterator) where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 148 - fn extend_object(&mut self, items: &mut Iterator) where Self: AddRemove; [INFO] [stderr] 148 + fn extend_object(&mut self, items: &mut dyn Iterator) where Self: AddRemove; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:165:39 [INFO] [stderr] | [INFO] [stderr] 165 | fn drain<'a>(&'a mut self) -> Box + 'a> where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 165 - fn drain<'a>(&'a mut self) -> Box + 'a> where Self: AddRemove; [INFO] [stderr] 165 + fn drain<'a>(&'a mut self) -> Box + 'a> where Self: AddRemove; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:202:34 [INFO] [stderr] | [INFO] [stderr] 202 | fn iter<'a>(&'a self) -> Box + 'a>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 202 - fn iter<'a>(&'a self) -> Box + 'a>; [INFO] [stderr] 202 + fn iter<'a>(&'a self) -> Box + 'a>; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:207:42 [INFO] [stderr] | [INFO] [stderr] 207 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 207 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> [INFO] [stderr] 207 + fn iter_mut<'a>(&'a mut self) -> Box + 'a> [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:223:55 [INFO] [stderr] | [INFO] [stderr] 223 | fn drain_range<'a>(&'a mut self, range: R) -> Box + 'a> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 223 - fn drain_range<'a>(&'a mut self, range: R) -> Box + 'a> [INFO] [stderr] 223 + fn drain_range<'a>(&'a mut self, range: R) -> Box + 'a> [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:360:70 [INFO] [stderr] | [INFO] [stderr] 360 | fn drain_range<'a>(&'a mut self, range: RangeFrom) -> Box + 'a> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 360 - fn drain_range<'a>(&'a mut self, range: RangeFrom) -> Box + 'a> [INFO] [stderr] 360 + fn drain_range<'a>(&'a mut self, range: RangeFrom) -> Box + 'a> [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:369:68 [INFO] [stderr] | [INFO] [stderr] 369 | fn drain_range<'a>(&'a mut self, range: RangeTo) -> Box + 'a> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 369 - fn drain_range<'a>(&'a mut self, range: RangeTo) -> Box + 'a> [INFO] [stderr] 369 + fn drain_range<'a>(&'a mut self, range: RangeTo) -> Box + 'a> [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:377:64 [INFO] [stderr] | [INFO] [stderr] 377 | fn drain_range<'a>(&'a mut self, _range: RangeFull) -> Box + 'a> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 377 - fn drain_range<'a>(&'a mut self, _range: RangeFull) -> Box + 'a> [INFO] [stderr] 377 + fn drain_range<'a>(&'a mut self, _range: RangeFull) -> Box + 'a> [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:21:46 [INFO] [stderr] | [INFO] [stderr] 21 | fn extend_object(&mut self, _items: &mut Iterator) where Self: AddRemove { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 21 - fn extend_object(&mut self, _items: &mut Iterator) where Self: AddRemove { [INFO] [stderr] 21 + fn extend_object(&mut self, _items: &mut dyn Iterator) where Self: AddRemove { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:25:39 [INFO] [stderr] | [INFO] [stderr] 25 | fn drain<'a>(&'a mut self) -> Box + 'a> where Self: AddRemove { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 25 - fn drain<'a>(&'a mut self) -> Box + 'a> where Self: AddRemove { [INFO] [stderr] 25 + fn drain<'a>(&'a mut self) -> Box + 'a> where Self: AddRemove { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:39:34 [INFO] [stderr] | [INFO] [stderr] 39 | fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 39 - fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stderr] 39 + fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:43:42 [INFO] [stderr] | [INFO] [stderr] 43 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 43 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] 43 + fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:50:16 [INFO] [stderr] | [INFO] [stderr] 50 | -> Box + 'a> where Self: AddRemove [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 50 - -> Box + 'a> where Self: AddRemove [INFO] [stderr] 50 + -> Box + 'a> where Self: AddRemove [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:105:45 [INFO] [stderr] | [INFO] [stderr] 105 | fn extend_object(&mut self, items: &mut Iterator) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 105 - fn extend_object(&mut self, items: &mut Iterator) { [INFO] [stderr] 105 + fn extend_object(&mut self, items: &mut dyn Iterator) { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:113:39 [INFO] [stderr] | [INFO] [stderr] 113 | fn drain<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 113 - fn drain<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] 113 + fn drain<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:134:34 [INFO] [stderr] | [INFO] [stderr] 134 | fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 134 - fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stderr] 134 + fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:138:42 [INFO] [stderr] | [INFO] [stderr] 138 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 138 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] 138 + fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:203:45 [INFO] [stderr] | [INFO] [stderr] 203 | fn extend_object(&mut self, items: &mut Iterator) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 203 - fn extend_object(&mut self, items: &mut Iterator) { [INFO] [stderr] 203 + fn extend_object(&mut self, items: &mut dyn Iterator) { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:211:39 [INFO] [stderr] | [INFO] [stderr] 211 | fn drain<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 211 - fn drain<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] 211 + fn drain<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:229:34 [INFO] [stderr] | [INFO] [stderr] 229 | fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 229 - fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stderr] 229 + fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:233:42 [INFO] [stderr] | [INFO] [stderr] 233 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> where Self: Mutate { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 233 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> where Self: Mutate { [INFO] [stderr] 233 + fn iter_mut<'a>(&'a mut self) -> Box + 'a> where Self: Mutate { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:291:45 [INFO] [stderr] | [INFO] [stderr] 291 | fn extend_object(&mut self, items: &mut Iterator) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 291 - fn extend_object(&mut self, items: &mut Iterator) { [INFO] [stderr] 291 + fn extend_object(&mut self, items: &mut dyn Iterator) { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:299:39 [INFO] [stderr] | [INFO] [stderr] 299 | fn drain<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 299 - fn drain<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] 299 + fn drain<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:321:34 [INFO] [stderr] | [INFO] [stderr] 321 | fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 321 - fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stderr] 321 + fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:325:42 [INFO] [stderr] | [INFO] [stderr] 325 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> where Self: Mutate { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 325 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> where Self: Mutate { [INFO] [stderr] 325 + fn iter_mut<'a>(&'a mut self) -> Box + 'a> where Self: Mutate { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:381:45 [INFO] [stderr] | [INFO] [stderr] 381 | fn extend_object(&mut self, items: &mut Iterator) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 381 - fn extend_object(&mut self, items: &mut Iterator) { [INFO] [stderr] 381 + fn extend_object(&mut self, items: &mut dyn Iterator) { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:389:39 [INFO] [stderr] | [INFO] [stderr] 389 | fn drain<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 389 - fn drain<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] 389 + fn drain<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:414:34 [INFO] [stderr] | [INFO] [stderr] 414 | fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 414 - fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stderr] 414 + fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:418:42 [INFO] [stderr] | [INFO] [stderr] 418 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 418 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] 418 + fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:483:45 [INFO] [stderr] | [INFO] [stderr] 483 | fn extend_object(&mut self, items: &mut Iterator) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 483 - fn extend_object(&mut self, items: &mut Iterator) { [INFO] [stderr] 483 + fn extend_object(&mut self, items: &mut dyn Iterator) { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:491:39 [INFO] [stderr] | [INFO] [stderr] 491 | fn drain<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 491 - fn drain<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] 491 + fn drain<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:513:34 [INFO] [stderr] | [INFO] [stderr] 513 | fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 513 - fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stderr] 513 + fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:517:42 [INFO] [stderr] | [INFO] [stderr] 517 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> where Self: Mutate { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 517 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> where Self: Mutate { [INFO] [stderr] 517 + fn iter_mut<'a>(&'a mut self) -> Box + 'a> where Self: Mutate { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:577:45 [INFO] [stderr] | [INFO] [stderr] 577 | fn extend_object(&mut self, items: &mut Iterator) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 577 - fn extend_object(&mut self, items: &mut Iterator) { [INFO] [stderr] 577 + fn extend_object(&mut self, items: &mut dyn Iterator) { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:585:39 [INFO] [stderr] | [INFO] [stderr] 585 | fn drain<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 585 - fn drain<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] 585 + fn drain<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:603:34 [INFO] [stderr] | [INFO] [stderr] 603 | fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 603 - fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stderr] 603 + fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:607:42 [INFO] [stderr] | [INFO] [stderr] 607 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 607 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] 607 + fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:671:45 [INFO] [stderr] | [INFO] [stderr] 671 | fn extend_object(&mut self, items: &mut Iterator) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 671 - fn extend_object(&mut self, items: &mut Iterator) { [INFO] [stderr] 671 + fn extend_object(&mut self, items: &mut dyn Iterator) { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:679:39 [INFO] [stderr] | [INFO] [stderr] 679 | fn drain<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 679 - fn drain<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] 679 + fn drain<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:701:34 [INFO] [stderr] | [INFO] [stderr] 701 | fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 701 - fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stderr] 701 + fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:705:42 [INFO] [stderr] | [INFO] [stderr] 705 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 705 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] 705 + fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:711:66 [INFO] [stderr] | [INFO] [stderr] 711 | fn drain_range<'a>(&'a mut self, range: Range) -> Box + 'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 711 - fn drain_range<'a>(&'a mut self, range: Range) -> Box + 'a> { [INFO] [stderr] 711 + fn drain_range<'a>(&'a mut self, range: Range) -> Box + 'a> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:794:45 [INFO] [stderr] | [INFO] [stderr] 794 | fn extend_object(&mut self, items: &mut Iterator) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 794 - fn extend_object(&mut self, items: &mut Iterator) { [INFO] [stderr] 794 + fn extend_object(&mut self, items: &mut dyn Iterator) { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:798:39 [INFO] [stderr] | [INFO] [stderr] 798 | fn drain<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 798 - fn drain<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] 798 + fn drain<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:820:34 [INFO] [stderr] | [INFO] [stderr] 820 | fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 820 - fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stderr] 820 + fn iter<'a>(&'a self) -> Box + 'a> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:824:42 [INFO] [stderr] | [INFO] [stderr] 824 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 824 - fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] 824 + fn iter_mut<'a>(&'a mut self) -> Box + 'a> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/impls.rs:830:66 [INFO] [stderr] | [INFO] [stderr] 830 | fn drain_range<'a>(&'a mut self, range: Range) -> Box + 'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 830 - fn drain_range<'a>(&'a mut self, range: Range) -> Box + 'a> { [INFO] [stderr] 830 + fn drain_range<'a>(&'a mut self, range: Range) -> Box + 'a> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:466:22 [INFO] [stderr] | [INFO] [stderr] 466 | Occupied(Box + 'a>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 466 - Occupied(Box + 'a>), [INFO] [stderr] 466 + Occupied(Box + 'a>), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:468:20 [INFO] [stderr] | [INFO] [stderr] 468 | Vacant(Box + 'a>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 468 - Vacant(Box + 'a>), [INFO] [stderr] 468 + Vacant(Box + 'a>), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:409:38 [INFO] [stderr] | [INFO] [stderr] 409 | fn iter<'a>(&'a self) -> Box + 'a>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 409 - fn iter<'a>(&'a self) -> Box + 'a>; [INFO] [stderr] 409 + fn iter<'a>(&'a self) -> Box + 'a>; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:416:20 [INFO] [stderr] | [INFO] [stderr] 416 | -> Box + 'a> where Self: Mutate; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 416 - -> Box + 'a> where Self: Mutate; [INFO] [stderr] 416 + -> Box + 'a> where Self: Mutate; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:720:13 [INFO] [stderr] | [INFO] [stderr] 720 | let _: &Mutate; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 720 - let _: &Mutate; [INFO] [stderr] 720 + let _: &dyn Mutate; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:721:13 [INFO] [stderr] | [INFO] [stderr] 721 | let _: &AddRemove; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 721 - let _: &AddRemove; [INFO] [stderr] 721 + let _: &dyn AddRemove; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:723:13 [INFO] [stderr] | [INFO] [stderr] 723 | let _: &Collection; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 723 - let _: &Collection; [INFO] [stderr] 723 + let _: &dyn Collection; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:725:13 [INFO] [stderr] | [INFO] [stderr] 725 | let _: &List; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 725 - let _: &List; [INFO] [stderr] 725 + let _: &dyn List; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:727:13 [INFO] [stderr] | [INFO] [stderr] 727 | let _: &Map; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 727 - let _: &Map; [INFO] [stderr] 727 + let _: &dyn Map; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:728:13 [INFO] [stderr] | [INFO] [stderr] 728 | let _: &map::OccupiedEntry; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 728 - let _: &map::OccupiedEntry; [INFO] [stderr] 728 + let _: &dyn map::OccupiedEntry; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:729:13 [INFO] [stderr] | [INFO] [stderr] 729 | let _: &map::VacantEntry; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 729 - let _: &map::VacantEntry; [INFO] [stderr] 729 + let _: &dyn map::VacantEntry; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:731:13 [INFO] [stderr] | [INFO] [stderr] 731 | let _: &Set; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 731 - let _: &Set; [INFO] [stderr] 731 + let _: &dyn Set; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:733:13 [INFO] [stderr] | [INFO] [stderr] 733 | let _: &Queue; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 733 - let _: &Queue; [INFO] [stderr] 733 + let _: &dyn Queue; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:734:13 [INFO] [stderr] | [INFO] [stderr] 734 | let _: &Deque; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 734 - let _: &Deque; [INFO] [stderr] 734 + let _: &dyn Deque; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:736:13 [INFO] [stderr] | [INFO] [stderr] 736 | let _: &FifoQueue; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 736 - let _: &FifoQueue; [INFO] [stderr] 736 + let _: &dyn FifoQueue; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:737:13 [INFO] [stderr] | [INFO] [stderr] 737 | let _: &FifoDeque; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 737 - let _: &FifoDeque; [INFO] [stderr] 737 + let _: &dyn FifoDeque; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:739:13 [INFO] [stderr] | [INFO] [stderr] 739 | let _: &PrioQueue; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 739 - let _: &PrioQueue; [INFO] [stderr] 739 + let _: &dyn PrioQueue; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:740:13 [INFO] [stderr] | [INFO] [stderr] 740 | let _: &PrioDeque; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 740 - let _: &PrioDeque; [INFO] [stderr] 740 + let _: &dyn PrioDeque; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: the trait `Collection` cannot be made into an object [INFO] [stderr] --> src/lib.rs:148:8 [INFO] [stderr] | [INFO] [stderr] 148 | fn extend_object(&mut self, items: &mut Iterator) where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(where_clauses_object_safety)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:148:8 [INFO] [stderr] | [INFO] [stderr] 111 | pub trait Collection { [INFO] [stderr] | ---------- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 148 | fn extend_object(&mut self, items: &mut Iterator) where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^ ...because method `extend_object` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `extend_object` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `Collection` cannot be made into an object [INFO] [stderr] --> src/lib.rs:151:8 [INFO] [stderr] | [INFO] [stderr] 151 | fn clear(&mut self) where Self: AddRemove { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:151:8 [INFO] [stderr] | [INFO] [stderr] 111 | pub trait Collection { [INFO] [stderr] | ---------- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 151 | fn clear(&mut self) where Self: AddRemove { [INFO] [stderr] | ^^^^^ ...because method `clear` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `clear` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `Collection` cannot be made into an object [INFO] [stderr] --> src/lib.rs:165:8 [INFO] [stderr] | [INFO] [stderr] 165 | fn drain<'a>(&'a mut self) -> Box + 'a> where Self: AddRemove; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:165:8 [INFO] [stderr] | [INFO] [stderr] 111 | pub trait Collection { [INFO] [stderr] | ---------- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 165 | fn drain<'a>(&'a mut self) -> Box + 'a> where Self: AddRemove; [INFO] [stderr] | ^^^^^ ...because method `drain` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `drain` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `Collection` cannot be made into an object [INFO] [stderr] --> src/lib.rs:171:8 [INFO] [stderr] | [INFO] [stderr] 171 | fn reserve(&mut self, additional: usize) where Self: AddRemove; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:171:8 [INFO] [stderr] | [INFO] [stderr] 111 | pub trait Collection { [INFO] [stderr] | ---------- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 171 | fn reserve(&mut self, additional: usize) where Self: AddRemove; [INFO] [stderr] | ^^^^^^^ ...because method `reserve` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `reserve` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `Collection` cannot be made into an object [INFO] [stderr] --> src/lib.rs:176:8 [INFO] [stderr] | [INFO] [stderr] 176 | fn shrink_to_fit(&mut self) where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:176:8 [INFO] [stderr] | [INFO] [stderr] 111 | pub trait Collection { [INFO] [stderr] | ---------- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 176 | fn shrink_to_fit(&mut self) where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^ ...because method `shrink_to_fit` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `shrink_to_fit` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `List` cannot be made into an object [INFO] [stderr] --> src/lib.rs:247:8 [INFO] [stderr] | [INFO] [stderr] 247 | fn get_mut(&mut self, index: usize) -> Option<&mut Self::Item> where Self: Mutate; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:247:8 [INFO] [stderr] | [INFO] [stderr] 231 | pub trait List: [INFO] [stderr] | ---- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 247 | fn get_mut(&mut self, index: usize) -> Option<&mut Self::Item> where Self: Mutate; [INFO] [stderr] | ^^^^^^^ ...because method `get_mut` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `get_mut` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `List` cannot be made into an object [INFO] [stderr] --> src/lib.rs:254:8 [INFO] [stderr] | [INFO] [stderr] 254 | fn swap(&mut self, i: usize, j: usize) where Self: Mutate; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:254:8 [INFO] [stderr] | [INFO] [stderr] 231 | pub trait List: [INFO] [stderr] | ---- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 254 | fn swap(&mut self, i: usize, j: usize) where Self: Mutate; [INFO] [stderr] | ^^^^ ...because method `swap` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `swap` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `List` cannot be made into an object [INFO] [stderr] --> src/lib.rs:257:8 [INFO] [stderr] | [INFO] [stderr] 257 | fn reverse(&mut self) where Self: Mutate { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:257:8 [INFO] [stderr] | [INFO] [stderr] 231 | pub trait List: [INFO] [stderr] | ---- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 257 | fn reverse(&mut self) where Self: Mutate { [INFO] [stderr] | ^^^^^^^ ...because method `reverse` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `reverse` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `List` cannot be made into an object [INFO] [stderr] --> src/lib.rs:275:8 [INFO] [stderr] | [INFO] [stderr] 275 | fn first_mut(&mut self) -> Option<&mut Self::Item> where Self: Mutate { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:275:8 [INFO] [stderr] | [INFO] [stderr] 231 | pub trait List: [INFO] [stderr] | ---- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 275 | fn first_mut(&mut self) -> Option<&mut Self::Item> where Self: Mutate { [INFO] [stderr] | ^^^^^^^^^ ...because method `first_mut` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `first_mut` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `List` cannot be made into an object [INFO] [stderr] --> src/lib.rs:289:8 [INFO] [stderr] | [INFO] [stderr] 289 | fn last_mut(&mut self) -> Option<&mut Self::Item> where Self: Mutate { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:289:8 [INFO] [stderr] | [INFO] [stderr] 231 | pub trait List: [INFO] [stderr] | ---- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 289 | fn last_mut(&mut self) -> Option<&mut Self::Item> where Self: Mutate { [INFO] [stderr] | ^^^^^^^^ ...because method `last_mut` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `last_mut` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `List` cannot be made into an object [INFO] [stderr] --> src/lib.rs:295:8 [INFO] [stderr] | [INFO] [stderr] 295 | fn push(&mut self, item: Self::Item) where Self: AddRemove { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:295:8 [INFO] [stderr] | [INFO] [stderr] 231 | pub trait List: [INFO] [stderr] | ---- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 295 | fn push(&mut self, item: Self::Item) where Self: AddRemove { [INFO] [stderr] | ^^^^ ...because method `push` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `push` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `List` cannot be made into an object [INFO] [stderr] --> src/lib.rs:307:8 [INFO] [stderr] | [INFO] [stderr] 307 | fn insert(&mut self, index: usize, item: Self::Item) where Self: AddRemove; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:307:8 [INFO] [stderr] | [INFO] [stderr] 231 | pub trait List: [INFO] [stderr] | ---- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 307 | fn insert(&mut self, index: usize, item: Self::Item) where Self: AddRemove; [INFO] [stderr] | ^^^^^^ ...because method `insert` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `insert` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `List` cannot be made into an object [INFO] [stderr] --> src/lib.rs:312:8 [INFO] [stderr] | [INFO] [stderr] 312 | fn pop(&mut self) -> Option where Self: AddRemove { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:312:8 [INFO] [stderr] | [INFO] [stderr] 231 | pub trait List: [INFO] [stderr] | ---- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 312 | fn pop(&mut self) -> Option where Self: AddRemove { [INFO] [stderr] | ^^^ ...because method `pop` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `pop` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `List` cannot be made into an object [INFO] [stderr] --> src/lib.rs:322:8 [INFO] [stderr] | [INFO] [stderr] 322 | fn remove(&mut self, index: usize) -> Option where Self: AddRemove; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:322:8 [INFO] [stderr] | [INFO] [stderr] 231 | pub trait List: [INFO] [stderr] | ---- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 322 | fn remove(&mut self, index: usize) -> Option where Self: AddRemove; [INFO] [stderr] | ^^^^^^ ...because method `remove` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `remove` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `List` cannot be made into an object [INFO] [stderr] --> src/lib.rs:328:8 [INFO] [stderr] | [INFO] [stderr] 328 | fn swap_remove(&mut self, index: usize) -> Option where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:328:8 [INFO] [stderr] | [INFO] [stderr] 231 | pub trait List: [INFO] [stderr] | ---- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 328 | fn swap_remove(&mut self, index: usize) -> Option where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^ ...because method `swap_remove` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `swap_remove` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `List` cannot be made into an object [INFO] [stderr] --> src/lib.rs:334:8 [INFO] [stderr] | [INFO] [stderr] 334 | fn truncate(&mut self, len: usize) where Self: AddRemove { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:334:8 [INFO] [stderr] | [INFO] [stderr] 231 | pub trait List: [INFO] [stderr] | ---- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 334 | fn truncate(&mut self, len: usize) where Self: AddRemove { [INFO] [stderr] | ^^^^^^^^ ...because method `truncate` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `truncate` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `DrainRange` cannot be made into an object [INFO] [stderr] --> src/lib.rs:223:8 [INFO] [stderr] | [INFO] [stderr] 223 | fn drain_range<'a>(&'a mut self, range: R) -> Box + 'a> [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:223:8 [INFO] [stderr] | [INFO] [stderr] 212 | pub trait DrainRange: Collection { [INFO] [stderr] | ---------- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 223 | fn drain_range<'a>(&'a mut self, range: R) -> Box + 'a> [INFO] [stderr] | ^^^^^^^^^^^ ...because method `drain_range` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `drain_range` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `Iter` cannot be made into an object [INFO] [stderr] --> src/lib.rs:207:8 [INFO] [stderr] | [INFO] [stderr] 207 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:207:8 [INFO] [stderr] | [INFO] [stderr] 198 | pub trait Iter: Collection { [INFO] [stderr] | ---- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 207 | fn iter_mut<'a>(&'a mut self) -> Box + 'a> [INFO] [stderr] | ^^^^^^^^ ...because method `iter_mut` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `iter_mut` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `map::Map` cannot be made into an object [INFO] [stderr] --> src/lib.rs:455:12 [INFO] [stderr] | [INFO] [stderr] 455 | fn get_mut(&mut self, key: &Q) -> Option<&mut Self::Value> where Self: Mutate; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:455:12 [INFO] [stderr] | [INFO] [stderr] 439 | pub trait Map::Key>: Base { [INFO] [stderr] | --- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 455 | fn get_mut(&mut self, key: &Q) -> Option<&mut Self::Value> where Self: Mutate; [INFO] [stderr] | ^^^^^^^ ...because method `get_mut` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `get_mut` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `map::Map` cannot be made into an object [INFO] [stderr] --> src/lib.rs:460:12 [INFO] [stderr] | [INFO] [stderr] 460 | fn remove(&mut self, key: &Q) -> Option where Self: AddRemove; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:460:12 [INFO] [stderr] | [INFO] [stderr] 439 | pub trait Map::Key>: Base { [INFO] [stderr] | --- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 460 | fn remove(&mut self, key: &Q) -> Option where Self: AddRemove; [INFO] [stderr] | ^^^^^^ ...because method `remove` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `remove` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `map::Base` cannot be made into an object [INFO] [stderr] --> src/lib.rs:415:12 [INFO] [stderr] | [INFO] [stderr] 415 | fn iter_mut<'a>(&'a mut self) [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:415:12 [INFO] [stderr] | [INFO] [stderr] 398 | pub trait Base: Collection::Key, ::Value)> { [INFO] [stderr] | ---- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 415 | fn iter_mut<'a>(&'a mut self) [INFO] [stderr] | ^^^^^^^^ ...because method `iter_mut` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `iter_mut` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `map::Base` cannot be made into an object [INFO] [stderr] --> src/lib.rs:424:12 [INFO] [stderr] | [INFO] [stderr] 424 | fn insert(&mut self, key: Self::Key, value: Self::Value) -> Option [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:424:12 [INFO] [stderr] | [INFO] [stderr] 398 | pub trait Base: Collection::Key, ::Value)> { [INFO] [stderr] | ---- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 424 | fn insert(&mut self, key: Self::Key, value: Self::Value) -> Option [INFO] [stderr] | ^^^^^^ ...because method `insert` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `insert` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `map::Base` cannot be made into an object [INFO] [stderr] --> src/lib.rs:428:12 [INFO] [stderr] | [INFO] [stderr] 428 | fn entry<'a>(&'a mut self, key: Self::Key) -> Entry<'a, Self::Key, Self::Value> [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:428:12 [INFO] [stderr] | [INFO] [stderr] 398 | pub trait Base: Collection::Key, ::Value)> { [INFO] [stderr] | ---- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 428 | fn entry<'a>(&'a mut self, key: Self::Key) -> Entry<'a, Self::Key, Self::Value> [INFO] [stderr] | ^^^^^ ...because method `entry` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `entry` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `set::Set` cannot be made into an object [INFO] [stderr] --> src/lib.rs:610:12 [INFO] [stderr] | [INFO] [stderr] 610 | fn remove(&mut self, item: &Q) -> bool where Self: AddRemove { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:610:12 [INFO] [stderr] | [INFO] [stderr] 596 | pub trait Set::Item>: Base { [INFO] [stderr] | --- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 610 | fn remove(&mut self, item: &Q) -> bool where Self: AddRemove { [INFO] [stderr] | ^^^^^^ ...because method `remove` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `remove` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `set::Set` cannot be made into an object [INFO] [stderr] --> src/lib.rs:617:12 [INFO] [stderr] | [INFO] [stderr] 617 | fn take(&mut self, item: &Q) -> Option where Self: AddRemove; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:617:12 [INFO] [stderr] | [INFO] [stderr] 596 | pub trait Set::Item>: Base { [INFO] [stderr] | --- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 617 | fn take(&mut self, item: &Q) -> Option where Self: AddRemove; [INFO] [stderr] | ^^^^ ...because method `take` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `take` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `set::Base` cannot be made into an object [INFO] [stderr] --> src/lib.rs:577:12 [INFO] [stderr] | [INFO] [stderr] 577 | fn insert(&mut self, item: Self::Item) -> bool where Self: AddRemove; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:577:12 [INFO] [stderr] | [INFO] [stderr] 553 | pub trait Base: Collection + Iter { [INFO] [stderr] | ---- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 577 | fn insert(&mut self, item: Self::Item) -> bool where Self: AddRemove; [INFO] [stderr] | ^^^^^^ ...because method `insert` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `insert` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `set::Base` cannot be made into an object [INFO] [stderr] --> src/lib.rs:586:12 [INFO] [stderr] | [INFO] [stderr] 586 | fn replace(&mut self, item: Self::Item) -> Option where Self: AddRemove; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:586:12 [INFO] [stderr] | [INFO] [stderr] 553 | pub trait Base: Collection + Iter { [INFO] [stderr] | ---- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 586 | fn replace(&mut self, item: Self::Item) -> Option where Self: AddRemove; [INFO] [stderr] | ^^^^^^^ ...because method `replace` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `replace` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `Queue` cannot be made into an object [INFO] [stderr] --> src/lib.rs:627:8 [INFO] [stderr] | [INFO] [stderr] 627 | fn push(&mut self, item: Self::Item) where Self: AddRemove; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:627:8 [INFO] [stderr] | [INFO] [stderr] 622 | pub trait Queue: Collection + Iter { [INFO] [stderr] | ----- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 627 | fn push(&mut self, item: Self::Item) where Self: AddRemove; [INFO] [stderr] | ^^^^ ...because method `push` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `push` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `Queue` cannot be made into an object [INFO] [stderr] --> src/lib.rs:637:8 [INFO] [stderr] | [INFO] [stderr] 637 | fn pop_front(&mut self) -> Option where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:637:8 [INFO] [stderr] | [INFO] [stderr] 622 | pub trait Queue: Collection + Iter { [INFO] [stderr] | ----- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 637 | fn pop_front(&mut self) -> Option where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^ ...because method `pop_front` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `pop_front` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `Deque` cannot be made into an object [INFO] [stderr] --> src/lib.rs:681:8 [INFO] [stderr] | [INFO] [stderr] 681 | fn pop_back(&mut self) -> Option where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:681:8 [INFO] [stderr] | [INFO] [stderr] 672 | pub trait Deque: Queue { [INFO] [stderr] | ----- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 681 | fn pop_back(&mut self) -> Option where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^ ...because method `pop_back` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `pop_back` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `FifoQueue` cannot be made into an object [INFO] [stderr] --> src/lib.rs:645:8 [INFO] [stderr] | [INFO] [stderr] 645 | fn front_mut(&mut self) -> Option<&mut Self::Item> where Self: Mutate; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:645:8 [INFO] [stderr] | [INFO] [stderr] 641 | pub trait FifoQueue: Queue { [INFO] [stderr] | --------- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 645 | fn front_mut(&mut self) -> Option<&mut Self::Item> where Self: Mutate; [INFO] [stderr] | ^^^^^^^^^ ...because method `front_mut` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `front_mut` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `FifoDeque` cannot be made into an object [INFO] [stderr] --> src/lib.rs:687:8 [INFO] [stderr] | [INFO] [stderr] 687 | fn push_front(&mut self, item: Self::Item) where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:687:8 [INFO] [stderr] | [INFO] [stderr] 685 | pub trait FifoDeque: FifoQueue + Deque { [INFO] [stderr] | --------- this trait cannot be made into an object... [INFO] [stderr] 686 | /// Pushes the given item onto the front of the deque. [INFO] [stderr] 687 | fn push_front(&mut self, item: Self::Item) where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^ ...because method `push_front` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `push_front` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `FifoDeque` cannot be made into an object [INFO] [stderr] --> src/lib.rs:692:8 [INFO] [stderr] | [INFO] [stderr] 692 | fn back_mut(&mut self) -> Option<&mut Self::Item> where Self: Mutate; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:692:8 [INFO] [stderr] | [INFO] [stderr] 685 | pub trait FifoDeque: FifoQueue + Deque { [INFO] [stderr] | --------- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 692 | fn back_mut(&mut self) -> Option<&mut Self::Item> where Self: Mutate; [INFO] [stderr] | ^^^^^^^^ ...because method `back_mut` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `back_mut` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `PrioQueue` cannot be made into an object [INFO] [stderr] --> src/lib.rs:654:8 [INFO] [stderr] | [INFO] [stderr] 654 | fn push_pop_front(&mut self, item: Self::Item) -> Self::Item where Self: AddRemove { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:654:8 [INFO] [stderr] | [INFO] [stderr] 649 | pub trait PrioQueue: Queue { [INFO] [stderr] | --------- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 654 | fn push_pop_front(&mut self, item: Self::Item) -> Self::Item where Self: AddRemove { [INFO] [stderr] | ^^^^^^^^^^^^^^ ...because method `push_pop_front` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `push_pop_front` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `PrioQueue` cannot be made into an object [INFO] [stderr] --> src/lib.rs:664:8 [INFO] [stderr] | [INFO] [stderr] 664 | fn replace_front(&mut self, item: Self::Item) -> Option where Self: AddRemove { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:664:8 [INFO] [stderr] | [INFO] [stderr] 649 | pub trait PrioQueue: Queue { [INFO] [stderr] | --------- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 664 | fn replace_front(&mut self, item: Self::Item) -> Option where Self: AddRemove { [INFO] [stderr] | ^^^^^^^^^^^^^ ...because method `replace_front` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `replace_front` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `PrioDeque` cannot be made into an object [INFO] [stderr] --> src/lib.rs:701:8 [INFO] [stderr] | [INFO] [stderr] 701 | fn push_pop_back(&mut self, item: Self::Item) -> Self::Item where Self: AddRemove { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:701:8 [INFO] [stderr] | [INFO] [stderr] 696 | pub trait PrioDeque: PrioQueue + Deque { [INFO] [stderr] | --------- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 701 | fn push_pop_back(&mut self, item: Self::Item) -> Self::Item where Self: AddRemove { [INFO] [stderr] | ^^^^^^^^^^^^^ ...because method `push_pop_back` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `push_pop_back` to another trait [INFO] [stderr] [INFO] [stderr] warning: the trait `PrioDeque` cannot be made into an object [INFO] [stderr] --> src/lib.rs:711:8 [INFO] [stderr] | [INFO] [stderr] 711 | fn replace_back(&mut self, item: Self::Item) -> Option where Self: AddRemove { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stderr] --> src/lib.rs:711:8 [INFO] [stderr] | [INFO] [stderr] 696 | pub trait PrioDeque: PrioQueue + Deque { [INFO] [stderr] | --------- this trait cannot be made into an object... [INFO] [stderr] ... [INFO] [stderr] 711 | fn replace_back(&mut self, item: Self::Item) -> Option where Self: AddRemove { [INFO] [stderr] | ^^^^^^^^^^^^ ...because method `replace_back` references the `Self` type in its `where` clause [INFO] [stderr] = help: consider moving `replace_back` to another trait [INFO] [stderr] [INFO] [stderr] warning: unused boxed `Iterator` trait object that must be used [INFO] [stderr] --> src/lib.rs:152:9 [INFO] [stderr] | [INFO] [stderr] 152 | self.drain(); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: iterators are lazy and do nothing unless consumed [INFO] [stderr] [INFO] [stderr] warning: unused boxed `Iterator` trait object that must be used [INFO] [stderr] --> src/lib.rs:338:13 [INFO] [stderr] | [INFO] [stderr] 338 | self.drain_range(len..); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: iterators are lazy and do nothing unless consumed [INFO] [stderr] [INFO] [stderr] warning: `eclectic` (lib) generated 104 warnings [INFO] [stdout] [INFO] [stderr] warning: `eclectic` (lib test) generated 104 warnings (104 duplicates) [INFO] [stdout] running 2 tests [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.09s [INFO] [stdout] test impls::test_binary_heap_push_pop_front ... ok [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/eclectic-7bf6a562fd11435a) [INFO] [stdout] test impls::test_binary_heap_replace_front ... ok [INFO] [stderr] Doc-tests eclectic [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test src/lib.rs - (line 78) ... ignored [INFO] [stdout] test src/lib.rs - (line 32) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.33s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "60bb3367d0418d81d82cce067030f7569f3350d9046767ba4a7614bff61f8337", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "60bb3367d0418d81d82cce067030f7569f3350d9046767ba4a7614bff61f8337", kill_on_drop: false }` [INFO] [stdout] 60bb3367d0418d81d82cce067030f7569f3350d9046767ba4a7614bff61f8337