[INFO] cloning repository https://github.com/jkf16m/tree-data-structures
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jkf16m/tree-data-structures" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjkf16m%2Ftree-data-structures", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjkf16m%2Ftree-data-structures'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 11f6eb0eb4699b4cef254ad2fa0f4483fd49e5b3
[INFO] testing jkf16m/tree-data-structures against try#bd7d74411512a3dd3b35d2f699c51dd2557c7e7e+cargoflags=-Zbuild-dir-new-layout for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjkf16m%2Ftree-data-structures" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jkf16m/tree-data-structures
[INFO] finished tweaking git repo https://github.com/jkf16m/tree-data-structures
[INFO] tweaked toml for git repo https://github.com/jkf16m/tree-data-structures written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jkf16m/tree-data-structures on toolchain bd7d74411512a3dd3b35d2f699c51dd2557c7e7e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jkf16m/tree-data-structures 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" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3831de5e511ae39705b7c2bba7f78a1c95fd725f825fbe05a0e7b17cef383f9f
[INFO] running `Command { std: "docker" "start" "-a" "3831de5e511ae39705b7c2bba7f78a1c95fd725f825fbe05a0e7b17cef383f9f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3831de5e511ae39705b7c2bba7f78a1c95fd725f825fbe05a0e7b17cef383f9f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3831de5e511ae39705b7c2bba7f78a1c95fd725f825fbe05a0e7b17cef383f9f", kill_on_drop: false }`
[INFO] [stdout] 3831de5e511ae39705b7c2bba7f78a1c95fd725f825fbe05a0e7b17cef383f9f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "build" "--frozen" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 83921757663fbae6991879fc7fd7eca1813892a159b81c6013c2df959db27353
[INFO] running `Command { std: "docker" "start" "-a" "83921757663fbae6991879fc7fd7eca1813892a159b81c6013c2df959db27353", kill_on_drop: false }`
[INFO] [stderr]    Compiling tree-data-structures v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/tree.rs:181:16
[INFO] [stdout]     |
[INFO] [stdout] 181 |             if (current_nodes_id.len() > 0){
[INFO] [stdout]     |                ^                          ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 181 -             if (current_nodes_id.len() > 0){
[INFO] [stdout] 181 +             if current_nodes_id.len() > 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tree.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let mut parent = &mut self.nodes[parent_id];
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tree.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |         let mut current_node_children_id: Vec<usize> = Vec::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_node_children_id`
[INFO] [stdout]    --> src/tree.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |         let mut current_node_children_id: Vec<usize> = Vec::new();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_node_children_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `parent_id` is never read
[INFO] [stdout]  --> src/tree.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Node<T>{
[INFO] [stdout]   |            ---- field in this struct
[INFO] [stdout] 3 |     depth_level: usize,
[INFO] [stdout] 4 |     parent_id: Option<usize>,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Node` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `tree_DS` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = help: convert the identifier to snake case: `tree_ds`
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/tree.rs:181:16
[INFO] [stdout]     |
[INFO] [stdout] 181 |             if (current_nodes_id.len() > 0){
[INFO] [stdout]     |                ^                          ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 181 -             if (current_nodes_id.len() > 0){
[INFO] [stdout] 181 +             if current_nodes_id.len() > 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tree::Tree`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use tree::Tree;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tree.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let mut parent = &mut self.nodes[parent_id];
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tree.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |         let mut current_node_children_id: Vec<usize> = Vec::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_node_children_id`
[INFO] [stdout]    --> src/tree.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |         let mut current_node_children_id: Vec<usize> = Vec::new();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_node_children_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]  --> src/tree.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Node<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: struct `Tree` is never constructed
[INFO] [stdout]  --> src/tree.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Tree<T>{
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/tree.rs:14:12
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl<T> Tree<T>{
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout]  14 |     pub fn new_empty()->Tree<T>{
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  19 |     pub fn new(value: T)->Tree<T>{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  32 |     pub fn get_current_max_depth(&self)->usize{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  43 |     pub fn get_children(&self, parent_id: usize)->Vec<&Node<T>>{
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  61 |     pub fn matches_children(&self, parent_id: usize, value:T)->Option<usize> where T: PartialEq{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn add(mut self, value: T, parent_id: usize)->Tree<T>{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn find(&self, predicate: &dyn Fn(&T)->bool)->Option<usize>{
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn matches_branch(&self, branch: Vec<T>)->Option<Node<T>> where T: PartialEq + Clone{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn matches_branch_predicated<U>(&self, branch:Vec<U>, predicate: &dyn Fn(&U, &T)->bool)->Option<Node<T>> where T: Clone{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.56s
[INFO] running `Command { std: "docker" "inspect" "83921757663fbae6991879fc7fd7eca1813892a159b81c6013c2df959db27353", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "83921757663fbae6991879fc7fd7eca1813892a159b81c6013c2df959db27353", kill_on_drop: false }`
[INFO] [stdout] 83921757663fbae6991879fc7fd7eca1813892a159b81c6013c2df959db27353
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "--no-run" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] c1584bb03c3486bd14802a6763e6288436a6e4f316a7f7fbea5bb5909a086a4d
[INFO] running `Command { std: "docker" "start" "-a" "c1584bb03c3486bd14802a6763e6288436a6e4f316a7f7fbea5bb5909a086a4d", kill_on_drop: false }`
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/tree.rs:181:16
[INFO] [stdout]     |
[INFO] [stdout] 181 |             if (current_nodes_id.len() > 0){
[INFO] [stdout]     |                ^                          ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 181 -             if (current_nodes_id.len() > 0){
[INFO] [stdout] 181 +             if current_nodes_id.len() > 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tree-data-structures v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tree.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let mut parent = &mut self.nodes[parent_id];
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tree.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |         let mut current_node_children_id: Vec<usize> = Vec::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_node_children_id`
[INFO] [stdout]    --> src/tree.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |         let mut current_node_children_id: Vec<usize> = Vec::new();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_node_children_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `parent_id` is never read
[INFO] [stdout]  --> src/tree.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Node<T>{
[INFO] [stdout]   |            ---- field in this struct
[INFO] [stdout] 3 |     depth_level: usize,
[INFO] [stdout] 4 |     parent_id: Option<usize>,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Node` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `tree_DS` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = help: convert the identifier to snake case: `tree_ds`
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/tree.rs:181:16
[INFO] [stdout]     |
[INFO] [stdout] 181 |             if (current_nodes_id.len() > 0){
[INFO] [stdout]     |                ^                          ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 181 -             if (current_nodes_id.len() > 0){
[INFO] [stdout] 181 +             if current_nodes_id.len() > 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tree::Tree`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use tree::Tree;
[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 parentheses around `if` condition
[INFO] [stdout]    --> src/tree.rs:181:16
[INFO] [stdout]     |
[INFO] [stdout] 181 |             if (current_nodes_id.len() > 0){
[INFO] [stdout]     |                ^                          ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 181 -             if (current_nodes_id.len() > 0){
[INFO] [stdout] 181 +             if current_nodes_id.len() > 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tree.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let mut parent = &mut self.nodes[parent_id];
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tree.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |         let mut current_node_children_id: Vec<usize> = Vec::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_node_children_id`
[INFO] [stdout]    --> src/tree.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |         let mut current_node_children_id: Vec<usize> = Vec::new();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_node_children_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_empty`, `get_current_max_depth`, and `matches_children` are never used
[INFO] [stdout]   --> src/tree.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl<T> Tree<T>{
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 14 |     pub fn new_empty()->Tree<T>{
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn get_current_max_depth(&self)->usize{
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn matches_children(&self, parent_id: usize, value:T)->Option<usize> where T: PartialEq{
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tree.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let mut parent = &mut self.nodes[parent_id];
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tree.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |         let mut current_node_children_id: Vec<usize> = Vec::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_node_children_id`
[INFO] [stdout]    --> src/tree.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |         let mut current_node_children_id: Vec<usize> = Vec::new();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_node_children_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.64s
[INFO] running `Command { std: "docker" "inspect" "c1584bb03c3486bd14802a6763e6288436a6e4f316a7f7fbea5bb5909a086a4d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c1584bb03c3486bd14802a6763e6288436a6e4f316a7f7fbea5bb5909a086a4d", kill_on_drop: false }`
[INFO] [stdout] c1584bb03c3486bd14802a6763e6288436a6e4f316a7f7fbea5bb5909a086a4d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 6293bf798856bec39e10eec2cfd4d19840fe7ae5b0e07bd4b2f6ff10c5fc7fbe
[INFO] running `Command { std: "docker" "start" "-a" "6293bf798856bec39e10eec2cfd4d19840fe7ae5b0e07bd4b2f6ff10c5fc7fbe", kill_on_drop: false }`
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/tree.rs:181:16
[INFO] [stderr]     |
[INFO] [stderr] 181 |             if (current_nodes_id.len() > 0){
[INFO] [stderr]     |                ^                          ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 181 -             if (current_nodes_id.len() > 0){
[INFO] [stderr] 181 +             if current_nodes_id.len() > 0 {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/tree.rs:104:13
[INFO] [stderr]     |
[INFO] [stderr] 104 |         let mut parent = &mut self.nodes[parent_id];
[INFO] [stderr]     |             ----^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/tree.rs:178:13
[INFO] [stderr]     |
[INFO] [stderr] 178 |         let mut current_node_children_id: Vec<usize> = Vec::new();
[INFO] [stderr]     |             ----^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `current_node_children_id`
[INFO] [stderr]    --> src/tree.rs:178:13
[INFO] [stderr]     |
[INFO] [stderr] 178 |         let mut current_node_children_id: Vec<usize> = Vec::new();
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_node_children_id`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `parent_id` is never read
[INFO] [stderr]  --> src/tree.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub struct Node<T>{
[INFO] [stderr]   |            ---- field in this struct
[INFO] [stderr] 3 |     depth_level: usize,
[INFO] [stderr] 4 |     parent_id: Option<usize>,
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `Node` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: crate `tree_DS` should have a snake case name
[INFO] [stderr]   |
[INFO] [stderr]   = help: convert the identifier to snake case: `tree_ds`
[INFO] [stderr]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `tree-data-structures` (lib) generated 6 warnings (run `cargo fix --lib -p tree-data-structures` to apply 4 suggestions)
[INFO] [stderr] warning: unused import: `tree::Tree`
[INFO] [stderr]  --> src/main.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use tree::Tree;
[INFO] [stderr]   |     ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new_empty`, `get_current_max_depth`, and `matches_children` are never used
[INFO] [stderr]   --> src/tree.rs:14:12
[INFO] [stderr]    |
[INFO] [stderr] 13 | impl<T> Tree<T>{
[INFO] [stderr]    | --------------- associated items in this implementation
[INFO] [stderr] 14 |     pub fn new_empty()->Tree<T>{
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 32 |     pub fn get_current_max_depth(&self)->usize{
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 61 |     pub fn matches_children(&self, parent_id: usize, value:T)->Option<usize> where T: PartialEq{
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `tree-data-structures` (bin "tree-data-structures" test) generated 6 warnings (4 duplicates) (run `cargo fix --bin "tree-data-structures" -p tree-data-structures --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `tree-data-structures` (lib test) generated 4 warnings (4 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/tree.rs (/opt/rustwide/target/debug/build/tree-data-structures/b5cc5abdc7351344/deps/tree_DS-b5cc5abdc7351344)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test tests::matches_array_of_values ... ok
[INFO] [stdout] test tests::check_the_children_added_to_root ... ok
[INFO] [stdout] test tests::add_child_to_first_found_value_in_tree ... ok
[INFO] [stdout] test tests::test_tree ... ok
[INFO] [stdout] test tests::matches_array_of_values_mid_tree ... ok
[INFO] [stdout] test tests::match_branch_with_predicate ... ok
[INFO] [stdout] test tests::added_elements_to_root ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/tree-data-structures/7c9c92608c58f90b/deps/tree_data_structures-7c9c92608c58f90b)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test tree::tests::check_the_children_added_to_root ... ok
[INFO] [stdout] test tree::tests::add_child_to_first_found_value_in_tree ... ok
[INFO] [stdout] test tree::tests::added_elements_to_root ... ok
[INFO] [stdout] test tree::tests::match_branch_with_predicate ... ok
[INFO] [stdout] test tree::tests::matches_array_of_values_mid_tree ... ok
[INFO] [stdout] test tree::tests::test_tree ... ok
[INFO] [stdout] test tree::tests::matches_array_of_values ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests tree_DS
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/tree.rs:181:16
[INFO] [stderr]     |
[INFO] [stderr] 181 |             if (current_nodes_id.len() > 0){
[INFO] [stderr]     |                ^                          ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 181 -             if (current_nodes_id.len() > 0){
[INFO] [stderr] 181 +             if current_nodes_id.len() > 0 {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: 1 warning emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test src/tree.rs - Tree<T>::matches_branch_predicated (line 163) ... FAILED
[INFO] [stdout] test src/tree.rs - Tree<T>::matches_branch (line 131) ... FAILED
[INFO] [stdout] test src/tree.rs - Tree<T>::add (line 84) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/tree.rs - Tree<T>::matches_branch_predicated (line 163) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Tree`
[INFO] [stdout]    --> src/tree.rs:164:12
[INFO] [stdout]     |
[INFO] [stdout] 164 | let tree = Tree::<u32>::new(0);
[INFO] [stdout]     |            ^^^^ use of undeclared type `Tree`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 163 + use tree_DS::Tree;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/tree.rs - Tree<T>::matches_branch (line 131) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Tree`
[INFO] [stdout]    --> src/tree.rs:132:12
[INFO] [stdout]     |
[INFO] [stdout] 132 | let tree = Tree::<u32>::new(0);
[INFO] [stdout]     |            ^^^^ use of undeclared type `Tree`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 131 + use tree_DS::Tree;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/tree.rs - Tree<T>::add (line 84) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Tree`
[INFO] [stdout]   --> src/tree.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 | let tree = Tree::<u32>::new(0);
[INFO] [stdout]    |            ^^^^ use of undeclared type `Tree`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 84 + use tree_DS::Tree;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/tree.rs - Tree<T>::add (line 84)
[INFO] [stdout]     src/tree.rs - Tree<T>::matches_branch (line 131)
[INFO] [stdout]     src/tree.rs - Tree<T>::matches_branch_predicated (line 163)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "6293bf798856bec39e10eec2cfd4d19840fe7ae5b0e07bd4b2f6ff10c5fc7fbe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6293bf798856bec39e10eec2cfd4d19840fe7ae5b0e07bd4b2f6ff10c5fc7fbe", kill_on_drop: false }`
[INFO] [stdout] 6293bf798856bec39e10eec2cfd4d19840fe7ae5b0e07bd4b2f6ff10c5fc7fbe
