[INFO] cloning repository https://github.com/Robertoskr/rust-avl-tree
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Robertoskr/rust-avl-tree" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRobertoskr%2Frust-avl-tree", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRobertoskr%2Frust-avl-tree'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d81648370b46ea3cc3bc721ed750202b0002b633
[INFO] checking Robertoskr/rust-avl-tree/d81648370b46ea3cc3bc721ed750202b0002b633 against master#fd2c811d25ad5773fbd2463e058bf4edf4d44eb2 for pr-130443
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRobertoskr%2Frust-avl-tree" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Robertoskr/rust-avl-tree on toolchain fd2c811d25ad5773fbd2463e058bf4edf4d44eb2
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+fd2c811d25ad5773fbd2463e058bf4edf4d44eb2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Robertoskr/rust-avl-tree
[INFO] finished tweaking git repo https://github.com/Robertoskr/rust-avl-tree
[INFO] tweaked toml for git repo https://github.com/Robertoskr/rust-avl-tree written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/Robertoskr/rust-avl-tree 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" "+fd2c811d25ad5773fbd2463e058bf4edf4d44eb2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+fd2c811d25ad5773fbd2463e058bf4edf4d44eb2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f603c36e15091348893fb0b9ab67956e4d138b5a17f116149676c0fce4fc24d4
[INFO] running `Command { std: "docker" "start" "-a" "f603c36e15091348893fb0b9ab67956e4d138b5a17f116149676c0fce4fc24d4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f603c36e15091348893fb0b9ab67956e4d138b5a17f116149676c0fce4fc24d4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f603c36e15091348893fb0b9ab67956e4d138b5a17f116149676c0fce4fc24d4", kill_on_drop: false }`
[INFO] [stdout] f603c36e15091348893fb0b9ab67956e4d138b5a17f116149676c0fce4fc24d4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+fd2c811d25ad5773fbd2463e058bf4edf4d44eb2" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 14c1dbba73453c36d89347c9feca5fd53114596c7da61aafb784ee41eec02608
[INFO] running `Command { std: "docker" "start" "-a" "14c1dbba73453c36d89347c9feca5fd53114596c7da61aafb784ee41eec02608", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.121
[INFO] [stderr]     Checking getrandom v0.2.6
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking avl v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/avltree.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/avltree.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/avltree.rs:149:25
[INFO] [stdout]     |
[INFO] [stdout] 142 | /                         match result {
[INFO] [stdout] 143 | |                             Some(mut node) => {
[INFO] [stdout] 144 | |                                 AvlTree::update_node(&mut node);
[INFO] [stdout] 145 | |                                 node = AvlTree::balance_node(node);
[INFO] [stdout] 146 | |                                 return Some(node);
[INFO] [stdout] 147 | |                             }
[INFO] [stdout] 148 | |                         }
[INFO] [stdout]     | |_________________________- any code following this `match` expression is unreachable, as all arms diverge
[INFO] [stdout] 149 |                           result //if we return here, the result is none 
[INFO] [stdout]     |                           ^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/avltree.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 170 | /         match n_childrens {
[INFO] [stdout] 171 | |             0 => return None,
[INFO] [stdout] 172 | |             1 => {
[INFO] [stdout] 173 | |                 if node.left.is_some(){
[INFO] [stdout] ...   |
[INFO] [stdout] 184 | |             _ => { unreachable!() }
[INFO] [stdout] 185 | |         }
[INFO] [stdout]     | |_________- any code following this `match` expression is unreachable, as all arms diverge
[INFO] [stdout] 186 |
[INFO] [stdout] 187 |           None
[INFO] [stdout]     |           ^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/avltree.rs:149:25
[INFO] [stdout]     |
[INFO] [stdout] 142 | /                         match result {
[INFO] [stdout] 143 | |                             Some(mut node) => {
[INFO] [stdout] 144 | |                                 AvlTree::update_node(&mut node);
[INFO] [stdout] 145 | |                                 node = AvlTree::balance_node(node);
[INFO] [stdout] 146 | |                                 return Some(node);
[INFO] [stdout] 147 | |                             }
[INFO] [stdout] 148 | |                         }
[INFO] [stdout]     | |_________________________- any code following this `match` expression is unreachable, as all arms diverge
[INFO] [stdout] 149 |                           result //if we return here, the result is none 
[INFO] [stdout]     |                           ^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/avltree.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 170 | /         match n_childrens {
[INFO] [stdout] 171 | |             0 => return None,
[INFO] [stdout] 172 | |             1 => {
[INFO] [stdout] 173 | |                 if node.left.is_some(){
[INFO] [stdout] ...   |
[INFO] [stdout] 184 | |             _ => { unreachable!() }
[INFO] [stdout] 185 | |         }
[INFO] [stdout]     | |_________- any code following this `match` expression is unreachable, as all arms diverge
[INFO] [stdout] 186 |
[INFO] [stdout] 187 |           None
[INFO] [stdout]     |           ^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `self.root` which is behind a mutable reference
[INFO] [stdout]    --> src/avltree.rs:133:38
[INFO] [stdout]     |
[INFO] [stdout] 133 |         self.root = AvlTree::_delete(self.root, key);
[INFO] [stdout]     |                                      ^^^^^^^^^ move occurs because `self.root` has type `Option<Box<Node>>`, which does not implement the `Copy` trait
[INFO] [stdout]     |
[INFO] [stdout] help: consider cloning the value if the performance cost is acceptable
[INFO] [stdout]     |
[INFO] [stdout] 133 |         self.root = AvlTree::_delete(self.root.clone(), key);
[INFO] [stdout]     |                                               ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0004]: non-exhaustive patterns: `None` not covered
[INFO] [stdout]    --> src/avltree.rs:142:31
[INFO] [stdout]     |
[INFO] [stdout] 142 |                         match result {
[INFO] [stdout]     |                               ^^^^^^ pattern `None` not covered
[INFO] [stdout]     |
[INFO] [stdout] note: `Option<Box<Node>>` defined here
[INFO] [stdout]    --> /rustc/fd2c811d25ad5773fbd2463e058bf4edf4d44eb2/library/core/src/option.rs:571:1
[INFO] [stdout]    ::: /rustc/fd2c811d25ad5773fbd2463e058bf4edf4d44eb2/library/core/src/option.rs:575:5
[INFO] [stdout]     |
[INFO] [stdout]     = note: not covered
[INFO] [stdout]     = note: the matched value is of type `Option<Box<Node>>`
[INFO] [stdout] help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
[INFO] [stdout]     |
[INFO] [stdout] 147 ~                             },
[INFO] [stdout] 148 +                             None => todo!()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/avltree.rs:181:21
[INFO] [stdout]     |
[INFO] [stdout] 181 |                 let mut node = node;
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `self.root` which is behind a mutable reference
[INFO] [stdout]    --> src/avltree.rs:133:38
[INFO] [stdout]     |
[INFO] [stdout] 133 |         self.root = AvlTree::_delete(self.root, key);
[INFO] [stdout]     |                                      ^^^^^^^^^ move occurs because `self.root` has type `Option<Box<Node>>`, which does not implement the `Copy` trait
[INFO] [stdout]     |
[INFO] [stdout] help: consider cloning the value if the performance cost is acceptable
[INFO] [stdout]     |
[INFO] [stdout] 133 |         self.root = AvlTree::_delete(self.root.clone(), key);
[INFO] [stdout]     |                                               ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0004]: non-exhaustive patterns: `None` not covered
[INFO] [stdout]    --> src/avltree.rs:142:31
[INFO] [stdout]     |
[INFO] [stdout] 142 |                         match result {
[INFO] [stdout]     |                               ^^^^^^ pattern `None` not covered
[INFO] [stdout]     |
[INFO] [stdout] note: `Option<Box<Node>>` defined here
[INFO] [stdout]    --> /rustc/fd2c811d25ad5773fbd2463e058bf4edf4d44eb2/library/core/src/option.rs:571:1
[INFO] [stdout]    ::: /rustc/fd2c811d25ad5773fbd2463e058bf4edf4d44eb2/library/core/src/option.rs:575:5
[INFO] [stdout]     |
[INFO] [stdout]     = note: not covered
[INFO] [stdout]     = note: the matched value is of type `Option<Box<Node>>`
[INFO] [stdout] help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
[INFO] [stdout]     |
[INFO] [stdout] 147 ~                             },
[INFO] [stdout] 148 +                             None => todo!()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/avltree.rs:181:21
[INFO] [stdout]     |
[INFO] [stdout] 181 |                 let mut node = node;
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: borrow of partially moved value: `startNode`
[INFO] [stdout]    --> src/avltree.rs:201:22
[INFO] [stdout]     |
[INFO] [stdout] 194 |         while let Some(actual_node) = startNode {
[INFO] [stdout]     |                        ----------- value partially moved here
[INFO] [stdout] ...
[INFO] [stdout] 201 |         node.value = startNode.as_ref().unwrap().value;
[INFO] [stdout]     |                      ^^^^^^^^^ value borrowed here after partial move
[INFO] [stdout]     |
[INFO] [stdout]     = note: partial move occurs because value has type `Box<Node>`, which does not implement the `Copy` trait
[INFO] [stdout] help: borrow this binding in the pattern to avoid moving the value
[INFO] [stdout]     |
[INFO] [stdout] 194 |         while let Some(ref actual_node) = startNode {
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: borrow of partially moved value: `startNode`
[INFO] [stdout]    --> src/avltree.rs:201:22
[INFO] [stdout]     |
[INFO] [stdout] 194 |         while let Some(actual_node) = startNode {
[INFO] [stdout]     |                        ----------- value partially moved here
[INFO] [stdout] ...
[INFO] [stdout] 201 |         node.value = startNode.as_ref().unwrap().value;
[INFO] [stdout]     |                      ^^^^^^^^^ value borrowed here after partial move
[INFO] [stdout]     |
[INFO] [stdout]     = note: partial move occurs because value has type `Box<Node>`, which does not implement the `Copy` trait
[INFO] [stdout] help: borrow this binding in the pattern to avoid moving the value
[INFO] [stdout]     |
[INFO] [stdout] 194 |         while let Some(ref actual_node) = startNode {
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: use of partially moved value: `node`
[INFO] [stdout]    --> src/avltree.rs:203:14
[INFO] [stdout]     |
[INFO] [stdout] 193 |         let mut startNode = node.right;
[INFO] [stdout]     |                             ---------- value partially moved here
[INFO] [stdout] ...
[INFO] [stdout] 203 |         Some(node)
[INFO] [stdout]     |              ^^^^ value used here after partial move
[INFO] [stdout]     |
[INFO] [stdout]     = note: partial move occurs because `node.right` has type `Option<Box<Node>>`, which does not implement the `Copy` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: use of partially moved value: `node`
[INFO] [stdout]    --> src/avltree.rs:203:14
[INFO] [stdout]     |
[INFO] [stdout] 193 |         let mut startNode = node.right;
[INFO] [stdout]     |                             ---------- value partially moved here
[INFO] [stdout] ...
[INFO] [stdout] 203 |         Some(node)
[INFO] [stdout]     |              ^^^^ value used here after partial move
[INFO] [stdout]     |
[INFO] [stdout]     = note: partial move occurs because `node.right` has type `Option<Box<Node>>`, which does not implement the `Copy` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/avltree.rs:245:13
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let mut left_right = left.right;
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/avltree.rs:245:13
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let mut left_right = left.right;
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/avltree.rs:259:13
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let mut right_left = right.left;
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/avltree.rs:259:13
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let mut right_left = right.left;
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors; 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0004, E0382, E0507.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0004`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors; 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0004, E0382, E0507.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0004`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `avl` (bin "avl") due to 5 previous errors; 6 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `avl` (bin "avl" test) due to 5 previous errors; 6 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "14c1dbba73453c36d89347c9feca5fd53114596c7da61aafb784ee41eec02608", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "14c1dbba73453c36d89347c9feca5fd53114596c7da61aafb784ee41eec02608", kill_on_drop: false }`
[INFO] [stdout] 14c1dbba73453c36d89347c9feca5fd53114596c7da61aafb784ee41eec02608
