[INFO] fetching crate eclectic 0.11.0... [INFO] checking eclectic-0.11.0 against try#8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 for pr-82565 [INFO] extracting crate eclectic 0.11.0 into /workspace/builds/worker-3/source [INFO] validating manifest of crates.io crate eclectic 0.11.0 on toolchain 8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "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-3/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2fa80d7d9afca5ff5e7869a6cbc0713b2d0add4ab1e75e1cab74e39bf7c6615f [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "2fa80d7d9afca5ff5e7869a6cbc0713b2d0add4ab1e75e1cab74e39bf7c6615f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2fa80d7d9afca5ff5e7869a6cbc0713b2d0add4ab1e75e1cab74e39bf7c6615f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2fa80d7d9afca5ff5e7869a6cbc0713b2d0add4ab1e75e1cab74e39bf7c6615f", kill_on_drop: false }` [INFO] [stdout] 2fa80d7d9afca5ff5e7869a6cbc0713b2d0add4ab1e75e1cab74e39bf7c6615f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] defc9e6e5cc98060d147b50996cd750394f0ffeac1221ff4f455c24f31c598d7 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "defc9e6e5cc98060d147b50996cd750394f0ffeac1221ff4f455c24f31c598d7", kill_on_drop: false }` [INFO] [stderr] Checking eclectic v0.11.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/impls.rs:21:46 [INFO] [stdout] | [INFO] [stdout] 21 | fn extend_object(&mut self, _items: &mut Iterator) where Self: AddRemove { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator` [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] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator` [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] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator` [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] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator` [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] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator` [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] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator` [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] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn OccupiedEntry + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn VacantEntry + 'a` [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] | ^^^^^^ help: use `dyn`: `dyn Mutate` [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] | ^^^^^^^^^ help: use `dyn`: `dyn AddRemove` [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] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Collection` [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] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn List` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Map` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn map::OccupiedEntry` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn map::VacantEntry` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Set` [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] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Queue` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Deque` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FifoQueue` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FifoDeque` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PrioQueue` [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] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PrioDeque` [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] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator` [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] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator` [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] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator` [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] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator` [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] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator` [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] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn OccupiedEntry + 'a` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn VacantEntry + 'a` [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] | ^^^^^^ help: use `dyn`: `dyn Mutate` [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] | ^^^^^^^^^ help: use `dyn`: `dyn AddRemove` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Collection` [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] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn List` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Map` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn map::OccupiedEntry` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn map::VacantEntry` [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] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Set` [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] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Queue` [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] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Deque` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FifoQueue` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FifoDeque` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PrioQueue` [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] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PrioDeque` [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: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 `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 `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 `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: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: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 `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] = 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 `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: 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 `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] = 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 `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: 105 warnings emitted [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: 105 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.83s [INFO] running `Command { std: "docker" "inspect" "defc9e6e5cc98060d147b50996cd750394f0ffeac1221ff4f455c24f31c598d7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "defc9e6e5cc98060d147b50996cd750394f0ffeac1221ff4f455c24f31c598d7", kill_on_drop: false }` [INFO] [stdout] defc9e6e5cc98060d147b50996cd750394f0ffeac1221ff4f455c24f31c598d7