[INFO] cloning repository https://github.com/djpatra/exp-benchmark-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/djpatra/exp-benchmark-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdjpatra%2Fexp-benchmark-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdjpatra%2Fexp-benchmark-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 02be344dc7c8e47b959e0067fc456af253da46c5
[INFO] checking djpatra/exp-benchmark-rs against master#507271bc119683008ec719ecee48814e8ac86c65 for pr-146440
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdjpatra%2Fexp-benchmark-rs" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/djpatra/exp-benchmark-rs
[INFO] finished tweaking git repo https://github.com/djpatra/exp-benchmark-rs
[INFO] tweaked toml for git repo https://github.com/djpatra/exp-benchmark-rs written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/djpatra/exp-benchmark-rs on toolchain 507271bc119683008ec719ecee48814e8ac86c65
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/djpatra/exp-benchmark-rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: /workspace/builds/worker-1-tc1/source/Cargo.toml: unused manifest key: workspace.edition
[INFO] [stderr] warning: /workspace/builds/worker-1-tc1/source/Cargo.toml: unused manifest key: workspace.name
[INFO] [stderr] warning: /workspace/builds/worker-1-tc1/source/Cargo.toml: unused manifest key: workspace.version
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 43d41908b753df40dc7d83b0e9615691417055c5b060643ff3d32d1acb3bde91
[INFO] running `Command { std: "docker" "start" "-a" "43d41908b753df40dc7d83b0e9615691417055c5b060643ff3d32d1acb3bde91", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "43d41908b753df40dc7d83b0e9615691417055c5b060643ff3d32d1acb3bde91", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "43d41908b753df40dc7d83b0e9615691417055c5b060643ff3d32d1acb3bde91", kill_on_drop: false }`
[INFO] [stdout] 43d41908b753df40dc7d83b0e9615691417055c5b060643ff3d32d1acb3bde91
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bf8d6d44522f4f3ad8b8757e6746dbb745193376f5ec0b35bd5d70a3ad9861de
[INFO] running `Command { std: "docker" "start" "-a" "bf8d6d44522f4f3ad8b8757e6746dbb745193376f5ec0b35bd5d70a3ad9861de", kill_on_drop: false }`
[INFO] [stderr] warning: /opt/rustwide/workdir/Cargo.toml: unused manifest key: workspace.edition
[INFO] [stderr] warning: /opt/rustwide/workdir/Cargo.toml: unused manifest key: workspace.name
[INFO] [stderr] warning: /opt/rustwide/workdir/Cargo.toml: unused manifest key: workspace.version
[INFO] [stderr]     Checking binary-tree v0.1.0 (/opt/rustwide/workdir/crates/binary-tree)
[INFO] [stderr]     Checking linked-list v0.1.0 (/opt/rustwide/workdir/crates/linked-list)
[INFO] [stdout] warning: unused import: `MulAssign`
[INFO] [stdout]  --> crates/binary-tree/src/simple_tree.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::{Add, MulAssign};
[INFO] [stdout]   |                     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> crates/binary-tree/src/simple_tree.rs:28:52
[INFO] [stdout]    |
[INFO] [stdout] 28 |         self.root.map_or((T::default(), 0), |root| unsafe {
[INFO] [stdout]    |                                                    ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `elem` is never read
[INFO] [stdout]   --> crates/binary-tree/src/simple_tree.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Node<T> {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 11 |     elem: T,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `count_candies_and_streets` are never used
[INFO] [stdout]   --> crates/binary-tree/src/simple_tree.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | / impl<T> BinaryTree<T>
[INFO] [stdout] 17 | | where
[INFO] [stdout] 18 | |     T: Default + Add<Output = T> + Copy,
[INFO] [stdout]    | |________________________________________- associated items in this implementation
[INFO] [stdout] 19 |   {
[INFO] [stdout] 20 |       fn new() -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |       fn count_candies_and_streets(&self) -> (T, usize) {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `insert_left`, and `insert_right` are never used
[INFO] [stdout]   --> crates/binary-tree/src/simple_tree.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | / impl<T> Node<T>
[INFO] [stdout] 35 | | where
[INFO] [stdout] 36 | |     T: Copy + Add<Output = T> + Default,
[INFO] [stdout]    | |________________________________________- associated items in this implementation
[INFO] [stdout] 37 |   {
[INFO] [stdout] 38 |       fn new(elem: T) -> NonNull<Self> {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |       fn insert_left(&mut self, node: NonNull<Node<T>>) {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |       fn insert_right(&mut self, node: NonNull<Node<T>>) {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_candies_and_streets` is never used
[INFO] [stdout]   --> crates/binary-tree/src/simple_tree.rs:82:4
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn count_candies_and_streets<T>(root: NonNull<Node<T>>) -> (T, usize)
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tree_height` is never used
[INFO] [stdout]    --> crates/binary-tree/src/simple_tree.rs:104:4
[INFO] [stdout]     |
[INFO] [stdout] 104 | fn tree_height<T>(root: NonNull<Node<T>>) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `str_to_tree` is never used
[INFO] [stdout]    --> crates/binary-tree/src/simple_tree.rs:116:4
[INFO] [stdout]     |
[INFO] [stdout] 116 | fn str_to_tree(s: &str) -> BinaryTree<u32> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::hash`
[INFO] [stdout]  --> crates/linked-list/src/intrusive_list.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::hash;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::boxed`
[INFO] [stdout]  --> crates/linked-list/src/simple_list.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::boxed;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MulAssign`
[INFO] [stdout]  --> crates/binary-tree/src/simple_tree.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::{Add, MulAssign};
[INFO] [stdout]   |                     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `intrusive_list::Link` is more private than the item `intrusive_list::LinkedList<L, <L as intrusive_list::Link>::Target>`
[INFO] [stdout]   --> crates/linked-list/src/intrusive_list.rs:48:1
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl<L: Link> LinkedList<L, L::Target> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation `intrusive_list::LinkedList<L, <L as intrusive_list::Link>::Target>` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but trait `intrusive_list::Link` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> crates/linked-list/src/intrusive_list.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | unsafe trait Link {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_bounds)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated type `intrusive_list::Link::Target` is more private than the item `intrusive_list::LinkedList::<L, <L as intrusive_list::Link>::Target>::push_front`
[INFO] [stdout]   --> crates/linked-list/src/intrusive_list.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn push_front(&mut self, elem: L::Handle) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `intrusive_list::LinkedList::<L, <L as intrusive_list::Link>::Target>::push_front` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but associated type `intrusive_list::Link::Target` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> crates/linked-list/src/intrusive_list.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     type Target;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `intrusive_list::Link` is more private than the item `intrusive_list::LinkedList::<L, <L as intrusive_list::Link>::Target>::push_front`
[INFO] [stdout]   --> crates/linked-list/src/intrusive_list.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn push_front(&mut self, elem: L::Handle) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `intrusive_list::LinkedList::<L, <L as intrusive_list::Link>::Target>::push_front` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but trait `intrusive_list::Link` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> crates/linked-list/src/intrusive_list.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | unsafe trait Link {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated type `intrusive_list::Link::Handle` is more private than the item `intrusive_list::LinkedList::<L, <L as intrusive_list::Link>::Target>::push_front`
[INFO] [stdout]   --> crates/linked-list/src/intrusive_list.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn push_front(&mut self, elem: L::Handle) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `intrusive_list::LinkedList::<L, <L as intrusive_list::Link>::Target>::push_front` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but associated type `intrusive_list::Link::Handle` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> crates/linked-list/src/intrusive_list.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     type Handle;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_raw` is never used
[INFO] [stdout]   --> crates/linked-list/src/intrusive_list.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 13 | unsafe trait Link {
[INFO] [stdout]    |              ---- associated function in this trait
[INFO] [stdout] ...
[INFO] [stdout] 22 |     unsafe fn from_raw(ptr: NonNull<Self::Target>) -> Self::Handle;
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_prev`, and `get_next` are never used
[INFO] [stdout]   --> crates/linked-list/src/intrusive_list.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | impl<T> Pointers<T> {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 72 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 82 |     fn get_prev(&self) -> Option<NonNull<T>> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     fn get_next(&self) -> Option<NonNull<T>> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `len`, `head`, and `tail` are never read
[INFO] [stdout]  --> crates/linked-list/src/simple_list.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct LinkedList<T> {
[INFO] [stdout]   |            ---------- fields in this struct
[INFO] [stdout] 6 |     len: usize,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 7 |     head: Link<T>,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 8 |     tail: Link<T>,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `elem`, `next`, and `prev` are never read
[INFO] [stdout]   --> crates/linked-list/src/simple_list.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct Node<T> {
[INFO] [stdout]    |        ---- fields in this struct
[INFO] [stdout] 15 |     elem: T,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 16 |     next: Link<T>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 17 |     prev: Link<T>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Iter` is never constructed
[INFO] [stdout]   --> crates/linked-list/src/simple_list.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct Iter<'a, T> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/linked-list/src/simple_list.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl<T> Node<T> {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 28 |     fn new(elem: T) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `push_front`, `pop_front`, `front`, `front_mut`, and `iter` are never used
[INFO] [stdout]   --> crates/linked-list/src/simple_list.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl<T> LinkedList<T> {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 38 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     fn push_front(&mut self, elem: T) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     fn pop_front(&mut self) -> Option<T> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     fn front(&self) -> Option<&T> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     fn front_mut(&mut self) -> Option<&mut T> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     fn iter(&self) -> Iter<T> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `_phantomData` should have a snake case name
[INFO] [stdout]  --> crates/linked-list/src/simple_list.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     _phantomData: PhantomData<T>,
[INFO] [stdout]   |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `_phantom_data`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `_phantomData` should have a snake case name
[INFO] [stdout]   --> crates/linked-list/src/simple_list.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     _phantomData: PhantomData<&'a T>,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `_phantom_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/linked-list/src/simple_list.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn iter(&self) -> Iter<T> {
[INFO] [stdout]    |             ^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |             |
[INFO] [stdout]    |             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn iter(&self) -> Iter<'_, T> {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> crates/binary-tree/src/simple_tree.rs:28:52
[INFO] [stdout]    |
[INFO] [stdout] 28 |         self.root.map_or((T::default(), 0), |root| unsafe {
[INFO] [stdout]    |                                                    ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::hash`
[INFO] [stdout]  --> crates/linked-list/src/intrusive_list.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::hash;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::boxed`
[INFO] [stdout]  --> crates/linked-list/src/simple_list.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::boxed;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `intrusive_list::Link` is more private than the item `intrusive_list::LinkedList<L, <L as intrusive_list::Link>::Target>`
[INFO] [stdout]   --> crates/linked-list/src/intrusive_list.rs:48:1
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl<L: Link> LinkedList<L, L::Target> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation `intrusive_list::LinkedList<L, <L as intrusive_list::Link>::Target>` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but trait `intrusive_list::Link` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> crates/linked-list/src/intrusive_list.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | unsafe trait Link {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_bounds)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated type `intrusive_list::Link::Target` is more private than the item `intrusive_list::LinkedList::<L, <L as intrusive_list::Link>::Target>::push_front`
[INFO] [stdout]   --> crates/linked-list/src/intrusive_list.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn push_front(&mut self, elem: L::Handle) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `intrusive_list::LinkedList::<L, <L as intrusive_list::Link>::Target>::push_front` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but associated type `intrusive_list::Link::Target` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> crates/linked-list/src/intrusive_list.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     type Target;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `intrusive_list::Link` is more private than the item `intrusive_list::LinkedList::<L, <L as intrusive_list::Link>::Target>::push_front`
[INFO] [stdout]   --> crates/linked-list/src/intrusive_list.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn push_front(&mut self, elem: L::Handle) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `intrusive_list::LinkedList::<L, <L as intrusive_list::Link>::Target>::push_front` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but trait `intrusive_list::Link` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> crates/linked-list/src/intrusive_list.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | unsafe trait Link {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated type `intrusive_list::Link::Handle` is more private than the item `intrusive_list::LinkedList::<L, <L as intrusive_list::Link>::Target>::push_front`
[INFO] [stdout]   --> crates/linked-list/src/intrusive_list.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn push_front(&mut self, elem: L::Handle) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `intrusive_list::LinkedList::<L, <L as intrusive_list::Link>::Target>::push_front` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but associated type `intrusive_list::Link::Handle` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> crates/linked-list/src/intrusive_list.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     type Handle;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_raw` is never used
[INFO] [stdout]   --> crates/linked-list/src/intrusive_list.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 13 | unsafe trait Link {
[INFO] [stdout]    |              ---- associated function in this trait
[INFO] [stdout] ...
[INFO] [stdout] 22 |     unsafe fn from_raw(ptr: NonNull<Self::Target>) -> Self::Handle;
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_prev`, and `get_next` are never used
[INFO] [stdout]   --> crates/linked-list/src/intrusive_list.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | impl<T> Pointers<T> {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 72 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 82 |     fn get_prev(&self) -> Option<NonNull<T>> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     fn get_next(&self) -> Option<NonNull<T>> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `len`, `head`, and `tail` are never read
[INFO] [stdout]  --> crates/linked-list/src/simple_list.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct LinkedList<T> {
[INFO] [stdout]   |            ---------- fields in this struct
[INFO] [stdout] 6 |     len: usize,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 7 |     head: Link<T>,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 8 |     tail: Link<T>,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `elem`, `next`, and `prev` are never read
[INFO] [stdout]   --> crates/linked-list/src/simple_list.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct Node<T> {
[INFO] [stdout]    |        ---- fields in this struct
[INFO] [stdout] 15 |     elem: T,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 16 |     next: Link<T>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 17 |     prev: Link<T>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Iter` is never constructed
[INFO] [stdout]   --> crates/linked-list/src/simple_list.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct Iter<'a, T> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/linked-list/src/simple_list.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl<T> Node<T> {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 28 |     fn new(elem: T) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `push_front`, `pop_front`, `front`, `front_mut`, and `iter` are never used
[INFO] [stdout]   --> crates/linked-list/src/simple_list.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl<T> LinkedList<T> {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 38 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     fn push_front(&mut self, elem: T) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     fn pop_front(&mut self) -> Option<T> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     fn front(&self) -> Option<&T> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     fn front_mut(&mut self) -> Option<&mut T> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     fn iter(&self) -> Iter<T> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `_phantomData` should have a snake case name
[INFO] [stdout]  --> crates/linked-list/src/simple_list.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     _phantomData: PhantomData<T>,
[INFO] [stdout]   |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `_phantom_data`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `_phantomData` should have a snake case name
[INFO] [stdout]   --> crates/linked-list/src/simple_list.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     _phantomData: PhantomData<&'a T>,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `_phantom_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/linked-list/src/simple_list.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn iter(&self) -> Iter<T> {
[INFO] [stdout]    |             ^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |             |
[INFO] [stdout]    |             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn iter(&self) -> Iter<'_, T> {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.36s
[INFO] running `Command { std: "docker" "inspect" "bf8d6d44522f4f3ad8b8757e6746dbb745193376f5ec0b35bd5d70a3ad9861de", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bf8d6d44522f4f3ad8b8757e6746dbb745193376f5ec0b35bd5d70a3ad9861de", kill_on_drop: false }`
[INFO] [stdout] bf8d6d44522f4f3ad8b8757e6746dbb745193376f5ec0b35bd5d70a3ad9861de
