[INFO] crate eclectic 0.11.0 is already in cache [INFO] extracting crate eclectic 0.11.0 into work/ex/clippy-test-run/sources/stable/reg/eclectic/0.11.0 [INFO] extracting crate eclectic 0.11.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/eclectic/0.11.0 [INFO] validating manifest of eclectic-0.11.0 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of eclectic-0.11.0 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing eclectic-0.11.0 [INFO] finished frobbing eclectic-0.11.0 [INFO] frobbed toml for eclectic-0.11.0 written to work/ex/clippy-test-run/sources/stable/reg/eclectic/0.11.0/Cargo.toml [INFO] started frobbing eclectic-0.11.0 [INFO] finished frobbing eclectic-0.11.0 [INFO] frobbed toml for eclectic-0.11.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/eclectic/0.11.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting eclectic-0.11.0 against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/eclectic/0.11.0:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dclippy::into_iter_on_array" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 5be2cee2a5927f7830d1adfbd31e9c90550263980d1a671f3f55b3d8904acc03 [INFO] running `"docker" "start" "-a" "5be2cee2a5927f7830d1adfbd31e9c90550263980d1a671f3f55b3d8904acc03"` [INFO] [stderr] Checking eclectic v0.11.0 (/opt/crater/workdir) [INFO] [stderr] warning: the trait `Collection` cannot be made into an object [INFO] [stderr] --> src/lib.rs:148:5 [INFO] [stderr] | [INFO] [stderr] 148 | fn extend_object(&mut self, items: &mut Iterator) where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(where_clauses_object_safety)] on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `extend_object` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `Collection` cannot be made into an object [INFO] [stderr] --> src/lib.rs:151:5 [INFO] [stderr] | [INFO] [stderr] 151 | / fn clear(&mut self) where Self: AddRemove { [INFO] [stderr] 152 | | self.drain(); [INFO] [stderr] 153 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `clear` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `Collection` cannot be made into an object [INFO] [stderr] --> src/lib.rs:165:5 [INFO] [stderr] | [INFO] [stderr] 165 | fn drain<'a>(&'a mut self) -> Box + 'a> where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `drain` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `Collection` cannot be made into an object [INFO] [stderr] --> src/lib.rs:171:5 [INFO] [stderr] | [INFO] [stderr] 171 | fn reserve(&mut self, additional: usize) where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `reserve` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `Collection` cannot be made into an object [INFO] [stderr] --> src/lib.rs:176:5 [INFO] [stderr] | [INFO] [stderr] 176 | fn shrink_to_fit(&mut self) where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `shrink_to_fit` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `List` cannot be made into an object [INFO] [stderr] --> src/lib.rs:247:5 [INFO] [stderr] | [INFO] [stderr] 247 | fn get_mut(&mut self, index: usize) -> Option<&mut Self::Item> where Self: Mutate; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `get_mut` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `List` cannot be made into an object [INFO] [stderr] --> src/lib.rs:254:5 [INFO] [stderr] | [INFO] [stderr] 254 | fn swap(&mut self, i: usize, j: usize) where Self: Mutate; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `swap` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `List` cannot be made into an object [INFO] [stderr] --> src/lib.rs:257:5 [INFO] [stderr] | [INFO] [stderr] 257 | / fn reverse(&mut self) where Self: Mutate { [INFO] [stderr] 258 | | let len = self.len(); [INFO] [stderr] 259 | | [INFO] [stderr] 260 | | for i in 0..len / 2 { [INFO] [stderr] 261 | | self.swap(i, len - i - 1); [INFO] [stderr] 262 | | } [INFO] [stderr] 263 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `reverse` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `List` cannot be made into an object [INFO] [stderr] --> src/lib.rs:275:5 [INFO] [stderr] | [INFO] [stderr] 275 | / fn first_mut(&mut self) -> Option<&mut Self::Item> where Self: Mutate { [INFO] [stderr] 276 | | self.get_mut(0) [INFO] [stderr] 277 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `first_mut` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `List` cannot be made into an object [INFO] [stderr] --> src/lib.rs:289:5 [INFO] [stderr] | [INFO] [stderr] 289 | / fn last_mut(&mut self) -> Option<&mut Self::Item> where Self: Mutate { [INFO] [stderr] 290 | | let len = self.len(); [INFO] [stderr] 291 | | self.get_mut(len.wrapping_sub(1)) [INFO] [stderr] 292 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `last_mut` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `List` cannot be made into an object [INFO] [stderr] --> src/lib.rs:295:5 [INFO] [stderr] | [INFO] [stderr] 295 | / fn push(&mut self, item: Self::Item) where Self: AddRemove { [INFO] [stderr] 296 | | let len = self.len(); [INFO] [stderr] 297 | | self.insert(len, item); [INFO] [stderr] 298 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `push` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `List` cannot be made into an object [INFO] [stderr] --> src/lib.rs:307:5 [INFO] [stderr] | [INFO] [stderr] 307 | fn insert(&mut self, index: usize, item: Self::Item) where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `insert` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `List` cannot be made into an object [INFO] [stderr] --> src/lib.rs:312:5 [INFO] [stderr] | [INFO] [stderr] 312 | / fn pop(&mut self) -> Option where Self: AddRemove { [INFO] [stderr] 313 | | let len = self.len(); [INFO] [stderr] 314 | | self.remove(len.wrapping_sub(1)) [INFO] [stderr] 315 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `pop` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `List` cannot be made into an object [INFO] [stderr] --> src/lib.rs:322:5 [INFO] [stderr] | [INFO] [stderr] 322 | fn remove(&mut self, index: usize) -> Option where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `remove` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `List` cannot be made into an object [INFO] [stderr] --> src/lib.rs:328:5 [INFO] [stderr] | [INFO] [stderr] 328 | fn swap_remove(&mut self, index: usize) -> Option where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `swap_remove` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `List` cannot be made into an object [INFO] [stderr] --> src/lib.rs:334:5 [INFO] [stderr] | [INFO] [stderr] 334 | / fn truncate(&mut self, len: usize) where Self: AddRemove { [INFO] [stderr] 335 | | if len == 0 { [INFO] [stderr] 336 | | self.clear(); [INFO] [stderr] 337 | | } else { [INFO] [stderr] 338 | | self.drain_range(len..); [INFO] [stderr] 339 | | } [INFO] [stderr] 340 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `truncate` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `DrainRange` cannot be made into an object [INFO] [stderr] --> src/lib.rs:223:5 [INFO] [stderr] | [INFO] [stderr] 223 | / fn drain_range<'a>(&'a mut self, range: R) -> Box + 'a> [INFO] [stderr] 224 | | where Self: AddRemove; [INFO] [stderr] | |______________________________^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `drain_range` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `Iter` cannot be made into an object [INFO] [stderr] --> src/lib.rs:207:5 [INFO] [stderr] | [INFO] [stderr] 207 | / fn iter_mut<'a>(&'a mut self) -> Box + 'a> [INFO] [stderr] 208 | | where Self: Mutate; [INFO] [stderr] | |___________________________^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `iter_mut` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `Collection` cannot be made into an object [INFO] [stderr] --> src/lib.rs:148:5 [INFO] [stderr] | [INFO] [stderr] 148 | fn extend_object(&mut self, items: &mut Iterator) where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `extend_object` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `map::Map` cannot be made into an object [INFO] [stderr] --> src/lib.rs:455:9 [INFO] [stderr] | [INFO] [stderr] 455 | fn get_mut(&mut self, key: &Q) -> Option<&mut Self::Value> where Self: Mutate; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `get_mut` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `map::Map` cannot be made into an object [INFO] [stderr] --> src/lib.rs:460:9 [INFO] [stderr] | [INFO] [stderr] 460 | fn remove(&mut self, key: &Q) -> Option where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `remove` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `map::Base` cannot be made into an object [INFO] [stderr] --> src/lib.rs:415:9 [INFO] [stderr] | [INFO] [stderr] 415 | / fn iter_mut<'a>(&'a mut self) [INFO] [stderr] 416 | | -> Box + 'a> where Self: Mutate; [INFO] [stderr] | |__________________________________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `iter_mut` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `map::Base` cannot be made into an object [INFO] [stderr] --> src/lib.rs:424:9 [INFO] [stderr] | [INFO] [stderr] 424 | / fn insert(&mut self, key: Self::Key, value: Self::Value) -> Option [INFO] [stderr] 425 | | where Self: AddRemove; [INFO] [stderr] | |__________________________________^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `insert` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `map::Base` cannot be made into an object [INFO] [stderr] --> src/lib.rs:428:9 [INFO] [stderr] | [INFO] [stderr] 428 | / fn entry<'a>(&'a mut self, key: Self::Key) -> Entry<'a, Self::Key, Self::Value> [INFO] [stderr] 429 | | where Self: AddRemove; [INFO] [stderr] | |__________________________________^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `entry` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `set::Set` cannot be made into an object [INFO] [stderr] --> src/lib.rs:610:9 [INFO] [stderr] | [INFO] [stderr] 610 | / fn remove(&mut self, item: &Q) -> bool where Self: AddRemove { [INFO] [stderr] 611 | | self.take(item).is_some() [INFO] [stderr] 612 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `remove` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `set::Set` cannot be made into an object [INFO] [stderr] --> src/lib.rs:617:9 [INFO] [stderr] | [INFO] [stderr] 617 | fn take(&mut self, item: &Q) -> Option where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `take` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `set::Base` cannot be made into an object [INFO] [stderr] --> src/lib.rs:577:9 [INFO] [stderr] | [INFO] [stderr] 577 | fn insert(&mut self, item: Self::Item) -> bool where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `insert` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `set::Base` cannot be made into an object [INFO] [stderr] --> src/lib.rs:586:9 [INFO] [stderr] | [INFO] [stderr] 586 | fn replace(&mut self, item: Self::Item) -> Option where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `replace` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `Queue` cannot be made into an object [INFO] [stderr] --> src/lib.rs:627:5 [INFO] [stderr] | [INFO] [stderr] 627 | fn push(&mut self, item: Self::Item) where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `push` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `Queue` cannot be made into an object [INFO] [stderr] --> src/lib.rs:637:5 [INFO] [stderr] | [INFO] [stderr] 637 | fn pop_front(&mut self) -> Option where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `pop_front` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `Deque` cannot be made into an object [INFO] [stderr] --> src/lib.rs:681:5 [INFO] [stderr] | [INFO] [stderr] 681 | fn pop_back(&mut self) -> Option where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `pop_back` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `FifoQueue` cannot be made into an object [INFO] [stderr] --> src/lib.rs:645:5 [INFO] [stderr] | [INFO] [stderr] 645 | fn front_mut(&mut self) -> Option<&mut Self::Item> where Self: Mutate; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `front_mut` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `FifoDeque` cannot be made into an object [INFO] [stderr] --> src/lib.rs:687:5 [INFO] [stderr] | [INFO] [stderr] 687 | fn push_front(&mut self, item: Self::Item) where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `push_front` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `FifoDeque` cannot be made into an object [INFO] [stderr] --> src/lib.rs:692:5 [INFO] [stderr] | [INFO] [stderr] 692 | fn back_mut(&mut self) -> Option<&mut Self::Item> where Self: Mutate; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `back_mut` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `PrioQueue` cannot be made into an object [INFO] [stderr] --> src/lib.rs:654:5 [INFO] [stderr] | [INFO] [stderr] 654 | / fn push_pop_front(&mut self, item: Self::Item) -> Self::Item where Self: AddRemove { [INFO] [stderr] 655 | | self.push(item); [INFO] [stderr] 656 | | self.pop_front().expect("queue was empty after a `push`") [INFO] [stderr] 657 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `push_pop_front` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `PrioQueue` cannot be made into an object [INFO] [stderr] --> src/lib.rs:664:5 [INFO] [stderr] | [INFO] [stderr] 664 | / fn replace_front(&mut self, item: Self::Item) -> Option where Self: AddRemove { [INFO] [stderr] 665 | | let front = self.pop_front(); [INFO] [stderr] 666 | | self.push(item); [INFO] [stderr] 667 | | front [INFO] [stderr] 668 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `replace_front` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `PrioDeque` cannot be made into an object [INFO] [stderr] --> src/lib.rs:701:5 [INFO] [stderr] | [INFO] [stderr] 701 | / fn push_pop_back(&mut self, item: Self::Item) -> Self::Item where Self: AddRemove { [INFO] [stderr] 702 | | self.push(item); [INFO] [stderr] 703 | | self.pop_back().expect("deque was empty after a `push`") [INFO] [stderr] 704 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `push_pop_back` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `PrioDeque` cannot be made into an object [INFO] [stderr] --> src/lib.rs:711:5 [INFO] [stderr] | [INFO] [stderr] 711 | / fn replace_back(&mut self, item: Self::Item) -> Option where Self: AddRemove { [INFO] [stderr] 712 | | let back = self.pop_back(); [INFO] [stderr] 713 | | self.push(item); [INFO] [stderr] 714 | | back [INFO] [stderr] 715 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `replace_back` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `Collection` cannot be made into an object [INFO] [stderr] --> src/lib.rs:148:5 [INFO] [stderr] | [INFO] [stderr] 148 | fn extend_object(&mut self, items: &mut Iterator) where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(where_clauses_object_safety)] on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `extend_object` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `Collection` cannot be made into an object [INFO] [stderr] --> src/lib.rs:151:5 [INFO] [stderr] | [INFO] [stderr] 151 | / fn clear(&mut self) where Self: AddRemove { [INFO] [stderr] 152 | | self.drain(); [INFO] [stderr] 153 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `clear` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `Collection` cannot be made into an object [INFO] [stderr] --> src/lib.rs:165:5 [INFO] [stderr] | [INFO] [stderr] 165 | fn drain<'a>(&'a mut self) -> Box + 'a> where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `drain` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `Collection` cannot be made into an object [INFO] [stderr] --> src/lib.rs:171:5 [INFO] [stderr] | [INFO] [stderr] 171 | fn reserve(&mut self, additional: usize) where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `reserve` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `Collection` cannot be made into an object [INFO] [stderr] --> src/lib.rs:176:5 [INFO] [stderr] | [INFO] [stderr] 176 | fn shrink_to_fit(&mut self) where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `shrink_to_fit` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `List` cannot be made into an object [INFO] [stderr] --> src/lib.rs:247:5 [INFO] [stderr] | [INFO] [stderr] 247 | fn get_mut(&mut self, index: usize) -> Option<&mut Self::Item> where Self: Mutate; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `get_mut` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `List` cannot be made into an object [INFO] [stderr] --> src/lib.rs:254:5 [INFO] [stderr] | [INFO] [stderr] 254 | fn swap(&mut self, i: usize, j: usize) where Self: Mutate; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `swap` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `List` cannot be made into an object [INFO] [stderr] --> src/lib.rs:257:5 [INFO] [stderr] | [INFO] [stderr] 257 | / fn reverse(&mut self) where Self: Mutate { [INFO] [stderr] 258 | | let len = self.len(); [INFO] [stderr] 259 | | [INFO] [stderr] 260 | | for i in 0..len / 2 { [INFO] [stderr] 261 | | self.swap(i, len - i - 1); [INFO] [stderr] 262 | | } [INFO] [stderr] 263 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `reverse` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `List` cannot be made into an object [INFO] [stderr] --> src/lib.rs:275:5 [INFO] [stderr] | [INFO] [stderr] 275 | / fn first_mut(&mut self) -> Option<&mut Self::Item> where Self: Mutate { [INFO] [stderr] 276 | | self.get_mut(0) [INFO] [stderr] 277 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `first_mut` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `List` cannot be made into an object [INFO] [stderr] --> src/lib.rs:289:5 [INFO] [stderr] | [INFO] [stderr] 289 | / fn last_mut(&mut self) -> Option<&mut Self::Item> where Self: Mutate { [INFO] [stderr] 290 | | let len = self.len(); [INFO] [stderr] 291 | | self.get_mut(len.wrapping_sub(1)) [INFO] [stderr] 292 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `last_mut` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `List` cannot be made into an object [INFO] [stderr] --> src/lib.rs:295:5 [INFO] [stderr] | [INFO] [stderr] 295 | / fn push(&mut self, item: Self::Item) where Self: AddRemove { [INFO] [stderr] 296 | | let len = self.len(); [INFO] [stderr] 297 | | self.insert(len, item); [INFO] [stderr] 298 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `push` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `List` cannot be made into an object [INFO] [stderr] --> src/lib.rs:307:5 [INFO] [stderr] | [INFO] [stderr] 307 | fn insert(&mut self, index: usize, item: Self::Item) where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `insert` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `List` cannot be made into an object [INFO] [stderr] --> src/lib.rs:312:5 [INFO] [stderr] | [INFO] [stderr] 312 | / fn pop(&mut self) -> Option where Self: AddRemove { [INFO] [stderr] 313 | | let len = self.len(); [INFO] [stderr] 314 | | self.remove(len.wrapping_sub(1)) [INFO] [stderr] 315 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `pop` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `List` cannot be made into an object [INFO] [stderr] --> src/lib.rs:322:5 [INFO] [stderr] | [INFO] [stderr] 322 | fn remove(&mut self, index: usize) -> Option where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `remove` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `List` cannot be made into an object [INFO] [stderr] --> src/lib.rs:328:5 [INFO] [stderr] | [INFO] [stderr] 328 | fn swap_remove(&mut self, index: usize) -> Option where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `swap_remove` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `List` cannot be made into an object [INFO] [stderr] --> src/lib.rs:334:5 [INFO] [stderr] | [INFO] [stderr] 334 | / fn truncate(&mut self, len: usize) where Self: AddRemove { [INFO] [stderr] 335 | | if len == 0 { [INFO] [stderr] 336 | | self.clear(); [INFO] [stderr] 337 | | } else { [INFO] [stderr] 338 | | self.drain_range(len..); [INFO] [stderr] 339 | | } [INFO] [stderr] 340 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `truncate` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `DrainRange` cannot be made into an object [INFO] [stderr] --> src/lib.rs:223:5 [INFO] [stderr] | [INFO] [stderr] 223 | / fn drain_range<'a>(&'a mut self, range: R) -> Box + 'a> [INFO] [stderr] 224 | | where Self: AddRemove; [INFO] [stderr] | |______________________________^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `drain_range` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `Iter` cannot be made into an object [INFO] [stderr] --> src/lib.rs:207:5 [INFO] [stderr] | [INFO] [stderr] 207 | / fn iter_mut<'a>(&'a mut self) -> Box + 'a> [INFO] [stderr] 208 | | where Self: Mutate; [INFO] [stderr] | |___________________________^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `iter_mut` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `Collection` cannot be made into an object [INFO] [stderr] --> src/lib.rs:148:5 [INFO] [stderr] | [INFO] [stderr] 148 | fn extend_object(&mut self, items: &mut Iterator) where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `extend_object` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `map::Map` cannot be made into an object [INFO] [stderr] --> src/lib.rs:455:9 [INFO] [stderr] | [INFO] [stderr] 455 | fn get_mut(&mut self, key: &Q) -> Option<&mut Self::Value> where Self: Mutate; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `get_mut` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `map::Map` cannot be made into an object [INFO] [stderr] --> src/lib.rs:460:9 [INFO] [stderr] | [INFO] [stderr] 460 | fn remove(&mut self, key: &Q) -> Option where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `remove` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `map::Base` cannot be made into an object [INFO] [stderr] --> src/lib.rs:415:9 [INFO] [stderr] | [INFO] [stderr] 415 | / fn iter_mut<'a>(&'a mut self) [INFO] [stderr] 416 | | -> Box + 'a> where Self: Mutate; [INFO] [stderr] | |__________________________________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `iter_mut` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `map::Base` cannot be made into an object [INFO] [stderr] --> src/lib.rs:424:9 [INFO] [stderr] | [INFO] [stderr] 424 | / fn insert(&mut self, key: Self::Key, value: Self::Value) -> Option [INFO] [stderr] 425 | | where Self: AddRemove; [INFO] [stderr] | |__________________________________^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `insert` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `map::Base` cannot be made into an object [INFO] [stderr] --> src/lib.rs:428:9 [INFO] [stderr] | [INFO] [stderr] 428 | / fn entry<'a>(&'a mut self, key: Self::Key) -> Entry<'a, Self::Key, Self::Value> [INFO] [stderr] 429 | | where Self: AddRemove; [INFO] [stderr] | |__________________________________^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `entry` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `set::Set` cannot be made into an object [INFO] [stderr] --> src/lib.rs:610:9 [INFO] [stderr] | [INFO] [stderr] 610 | / fn remove(&mut self, item: &Q) -> bool where Self: AddRemove { [INFO] [stderr] 611 | | self.take(item).is_some() [INFO] [stderr] 612 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `remove` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `set::Set` cannot be made into an object [INFO] [stderr] --> src/lib.rs:617:9 [INFO] [stderr] | [INFO] [stderr] 617 | fn take(&mut self, item: &Q) -> Option where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `take` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `set::Base` cannot be made into an object [INFO] [stderr] --> src/lib.rs:577:9 [INFO] [stderr] | [INFO] [stderr] 577 | fn insert(&mut self, item: Self::Item) -> bool where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `insert` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `set::Base` cannot be made into an object [INFO] [stderr] --> src/lib.rs:586:9 [INFO] [stderr] | [INFO] [stderr] 586 | fn replace(&mut self, item: Self::Item) -> Option where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `replace` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `Queue` cannot be made into an object [INFO] [stderr] --> src/lib.rs:627:5 [INFO] [stderr] | [INFO] [stderr] 627 | fn push(&mut self, item: Self::Item) where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `push` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `Queue` cannot be made into an object [INFO] [stderr] --> src/lib.rs:637:5 [INFO] [stderr] | [INFO] [stderr] 637 | fn pop_front(&mut self) -> Option where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `pop_front` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `Deque` cannot be made into an object [INFO] [stderr] --> src/lib.rs:681:5 [INFO] [stderr] | [INFO] [stderr] 681 | fn pop_back(&mut self) -> Option where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `pop_back` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `FifoQueue` cannot be made into an object [INFO] [stderr] --> src/lib.rs:645:5 [INFO] [stderr] | [INFO] [stderr] 645 | fn front_mut(&mut self) -> Option<&mut Self::Item> where Self: Mutate; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `front_mut` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `FifoDeque` cannot be made into an object [INFO] [stderr] --> src/lib.rs:687:5 [INFO] [stderr] | [INFO] [stderr] 687 | fn push_front(&mut self, item: Self::Item) where Self: AddRemove; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `push_front` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `FifoDeque` cannot be made into an object [INFO] [stderr] --> src/lib.rs:692:5 [INFO] [stderr] | [INFO] [stderr] 692 | fn back_mut(&mut self) -> Option<&mut Self::Item> where Self: Mutate; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `back_mut` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `PrioQueue` cannot be made into an object [INFO] [stderr] --> src/lib.rs:654:5 [INFO] [stderr] | [INFO] [stderr] 654 | / fn push_pop_front(&mut self, item: Self::Item) -> Self::Item where Self: AddRemove { [INFO] [stderr] 655 | | self.push(item); [INFO] [stderr] 656 | | self.pop_front().expect("queue was empty after a `push`") [INFO] [stderr] 657 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `push_pop_front` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `PrioQueue` cannot be made into an object [INFO] [stderr] --> src/lib.rs:664:5 [INFO] [stderr] | [INFO] [stderr] 664 | / fn replace_front(&mut self, item: Self::Item) -> Option where Self: AddRemove { [INFO] [stderr] 665 | | let front = self.pop_front(); [INFO] [stderr] 666 | | self.push(item); [INFO] [stderr] 667 | | front [INFO] [stderr] 668 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `replace_front` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `PrioDeque` cannot be made into an object [INFO] [stderr] --> src/lib.rs:701:5 [INFO] [stderr] | [INFO] [stderr] 701 | / fn push_pop_back(&mut self, item: Self::Item) -> Self::Item where Self: AddRemove { [INFO] [stderr] 702 | | self.push(item); [INFO] [stderr] 703 | | self.pop_back().expect("deque was empty after a `push`") [INFO] [stderr] 704 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `push_pop_back` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: the trait `PrioDeque` cannot be made into an object [INFO] [stderr] --> src/lib.rs:711:5 [INFO] [stderr] | [INFO] [stderr] 711 | / fn replace_back(&mut self, item: Self::Item) -> Option where Self: AddRemove { [INFO] [stderr] 712 | | let back = self.pop_back(); [INFO] [stderr] 713 | | self.push(item); [INFO] [stderr] 714 | | back [INFO] [stderr] 715 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #51443 [INFO] [stderr] = note: method `replace_back` references the `Self` type in where clauses [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/impls.rs:146:5 [INFO] [stderr] | [INFO] [stderr] 146 | / fn entry<'a>(&'a mut self, key: K) -> map::Entry<'a, K, V> { [INFO] [stderr] 147 | | match self.entry(key) { [INFO] [stderr] 148 | | btree_map::Entry::Occupied(e) => map::Entry::Occupied(Box::new(e)), [INFO] [stderr] 149 | | btree_map::Entry::Vacant(e) => map::Entry::Vacant(Box::new(e)), [INFO] [stderr] 150 | | } [INFO] [stderr] 151 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: impl for `HashMap` should be generalized over different hashers [INFO] [stderr] --> src/impls.rs:362:34 [INFO] [stderr] | [INFO] [stderr] 362 | impl Mutate for HashMap {} [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::implicit_hasher)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 362 | impl Mutate for HashMap {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: impl for `HashMap` should be generalized over different hashers [INFO] [stderr] --> src/impls.rs:364:37 [INFO] [stderr] | [INFO] [stderr] 364 | impl AddRemove for HashMap {} [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 364 | impl AddRemove for HashMap {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: impl for `HashMap` should be generalized over different hashers [INFO] [stderr] --> src/impls.rs:366:38 [INFO] [stderr] | [INFO] [stderr] 366 | impl Collection for HashMap { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 366 | impl Collection for HashMap { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: impl for `HashMap` should be generalized over different hashers [INFO] [stderr] --> src/impls.rs:410:37 [INFO] [stderr] | [INFO] [stderr] 410 | impl map::Base for HashMap { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 410 | impl map::Base for HashMap { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/impls.rs:426:5 [INFO] [stderr] | [INFO] [stderr] 426 | / fn entry<'a>(&'a mut self, key: K) -> map::Entry<'a, K, V> { [INFO] [stderr] 427 | | match self.entry(key) { [INFO] [stderr] 428 | | hash_map::Entry::Occupied(e) => map::Entry::Occupied(Box::new(e)), [INFO] [stderr] 429 | | hash_map::Entry::Vacant(e) => map::Entry::Vacant(Box::new(e)), [INFO] [stderr] 430 | | } [INFO] [stderr] 431 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: impl for `HashSet` should be generalized over different hashers [INFO] [stderr] --> src/impls.rs:466:34 [INFO] [stderr] | [INFO] [stderr] 466 | impl AddRemove for HashSet {} [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 466 | impl AddRemove for HashSet {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: impl for `HashSet` should be generalized over different hashers [INFO] [stderr] --> src/impls.rs:468:35 [INFO] [stderr] | [INFO] [stderr] 468 | impl Collection for HashSet { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 468 | impl Collection for HashSet { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: impl for `HashSet` should be generalized over different hashers [INFO] [stderr] --> src/impls.rs:512:29 [INFO] [stderr] | [INFO] [stderr] 512 | impl Iter for HashSet { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 512 | impl Iter for HashSet { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: impl for `HashSet` should be generalized over different hashers [INFO] [stderr] --> src/impls.rs:522:34 [INFO] [stderr] | [INFO] [stderr] 522 | impl set::Base for HashSet { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 522 | impl set::Base for HashSet { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: impl for `HashSet` should be generalized over different hashers [INFO] [stderr] --> src/impls.rs:540:66 [INFO] [stderr] | [INFO] [stderr] 540 | impl, Q: ?Sized + Eq + Hash> Set for HashSet { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 540 | impl, Q: ?Sized + Eq + Hash, S: ::std::hash::BuildHasher> Set for HashSet { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/impls.rs:146:5 [INFO] [stderr] | [INFO] [stderr] 146 | / fn entry<'a>(&'a mut self, key: K) -> map::Entry<'a, K, V> { [INFO] [stderr] 147 | | match self.entry(key) { [INFO] [stderr] 148 | | btree_map::Entry::Occupied(e) => map::Entry::Occupied(Box::new(e)), [INFO] [stderr] 149 | | btree_map::Entry::Vacant(e) => map::Entry::Vacant(Box::new(e)), [INFO] [stderr] 150 | | } [INFO] [stderr] 151 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: impl for `HashMap` should be generalized over different hashers [INFO] [stderr] --> src/impls.rs:362:34 [INFO] [stderr] | [INFO] [stderr] 362 | impl Mutate for HashMap {} [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::implicit_hasher)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 362 | impl Mutate for HashMap {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: impl for `HashMap` should be generalized over different hashers [INFO] [stderr] --> src/impls.rs:364:37 [INFO] [stderr] | [INFO] [stderr] 364 | impl AddRemove for HashMap {} [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 364 | impl AddRemove for HashMap {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: impl for `HashMap` should be generalized over different hashers [INFO] [stderr] --> src/impls.rs:366:38 [INFO] [stderr] | [INFO] [stderr] 366 | impl Collection for HashMap { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 366 | impl Collection for HashMap { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: impl for `HashMap` should be generalized over different hashers [INFO] [stderr] --> src/impls.rs:410:37 [INFO] [stderr] | [INFO] [stderr] 410 | impl map::Base for HashMap { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 410 | impl map::Base for HashMap { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/impls.rs:426:5 [INFO] [stderr] | [INFO] [stderr] 426 | / fn entry<'a>(&'a mut self, key: K) -> map::Entry<'a, K, V> { [INFO] [stderr] 427 | | match self.entry(key) { [INFO] [stderr] 428 | | hash_map::Entry::Occupied(e) => map::Entry::Occupied(Box::new(e)), [INFO] [stderr] 429 | | hash_map::Entry::Vacant(e) => map::Entry::Vacant(Box::new(e)), [INFO] [stderr] 430 | | } [INFO] [stderr] 431 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: impl for `HashSet` should be generalized over different hashers [INFO] [stderr] --> src/impls.rs:466:34 [INFO] [stderr] | [INFO] [stderr] 466 | impl AddRemove for HashSet {} [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 466 | impl AddRemove for HashSet {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: impl for `HashSet` should be generalized over different hashers [INFO] [stderr] --> src/impls.rs:468:35 [INFO] [stderr] | [INFO] [stderr] 468 | impl Collection for HashSet { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 468 | impl Collection for HashSet { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: impl for `HashSet` should be generalized over different hashers [INFO] [stderr] --> src/impls.rs:512:29 [INFO] [stderr] | [INFO] [stderr] 512 | impl Iter for HashSet { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 512 | impl Iter for HashSet { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: impl for `HashSet` should be generalized over different hashers [INFO] [stderr] --> src/impls.rs:522:34 [INFO] [stderr] | [INFO] [stderr] 522 | impl set::Base for HashSet { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 522 | impl set::Base for HashSet { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: impl for `HashSet` should be generalized over different hashers [INFO] [stderr] --> src/impls.rs:540:66 [INFO] [stderr] | [INFO] [stderr] 540 | impl, Q: ?Sized + Eq + Hash> Set for HashSet { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 540 | impl, Q: ?Sized + Eq + Hash, S: ::std::hash::BuildHasher> Set for HashSet { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:428:9 [INFO] [stderr] | [INFO] [stderr] 428 | / fn entry<'a>(&'a mut self, key: Self::Key) -> Entry<'a, Self::Key, Self::Value> [INFO] [stderr] 429 | | where Self: AddRemove; [INFO] [stderr] | |__________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:428:9 [INFO] [stderr] | [INFO] [stderr] 428 | / fn entry<'a>(&'a mut self, key: Self::Key) -> Entry<'a, Self::Key, Self::Value> [INFO] [stderr] 429 | | where Self: AddRemove; [INFO] [stderr] | |__________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.89s [INFO] running `"docker" "inspect" "5be2cee2a5927f7830d1adfbd31e9c90550263980d1a671f3f55b3d8904acc03"` [INFO] running `"docker" "rm" "-f" "5be2cee2a5927f7830d1adfbd31e9c90550263980d1a671f3f55b3d8904acc03"` [INFO] [stdout] 5be2cee2a5927f7830d1adfbd31e9c90550263980d1a671f3f55b3d8904acc03