[INFO] cloning repository https://github.com/adarshares/AVL_Tree_Rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/adarshares/AVL_Tree_Rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fadarshares%2FAVL_Tree_Rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fadarshares%2FAVL_Tree_Rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2865e23a027681be0b537e3e82002862758e9f19
[INFO] checking adarshares/AVL_Tree_Rust against try#bf5ff6675cf10ce009ac02007b064a7cfc4509ac for pr-140558
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fadarshares%2FAVL_Tree_Rust" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/adarshares/AVL_Tree_Rust on toolchain bf5ff6675cf10ce009ac02007b064a7cfc4509ac
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bf5ff6675cf10ce009ac02007b064a7cfc4509ac" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/adarshares/AVL_Tree_Rust
[INFO] finished tweaking git repo https://github.com/adarshares/AVL_Tree_Rust
[INFO] tweaked toml for git repo https://github.com/adarshares/AVL_Tree_Rust written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/adarshares/AVL_Tree_Rust 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" "+bf5ff6675cf10ce009ac02007b064a7cfc4509ac" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+bf5ff6675cf10ce009ac02007b064a7cfc4509ac" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ba833fc4fe29f654a8327c5b09fbbf815892e5a21faf1933e2a2beb63f3c2fdf
[INFO] running `Command { std: "docker" "start" "-a" "ba833fc4fe29f654a8327c5b09fbbf815892e5a21faf1933e2a2beb63f3c2fdf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ba833fc4fe29f654a8327c5b09fbbf815892e5a21faf1933e2a2beb63f3c2fdf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ba833fc4fe29f654a8327c5b09fbbf815892e5a21faf1933e2a2beb63f3c2fdf", kill_on_drop: false }`
[INFO] [stdout] ba833fc4fe29f654a8327c5b09fbbf815892e5a21faf1933e2a2beb63f3c2fdf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+bf5ff6675cf10ce009ac02007b064a7cfc4509ac" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fc03dd073e079039a3532ea6fd3d1b3bdc73e8805130fc14ee68e51a28ea96b7
[INFO] running `Command { std: "docker" "start" "-a" "fc03dd073e079039a3532ea6fd3d1b3bdc73e8805130fc14ee68e51a28ea96b7", kill_on_drop: false }`
[INFO] [stderr]     Checking i32_avl_tree v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:108:64
[INFO] [stdout]     |
[INFO] [stdout] 108 |                         (*root).left_child = Self::rotate_left((*root).left_child);
[INFO] [stdout]     |                                              ----------------- ^^^^^^^^^^^^^^^^^^ expected `&mut Box<Node>`, found `Option<Box<Node>>`
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut Box<_>`
[INFO] [stdout]                             found enum `Option<Box<_>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/main.rs:43:8
[INFO] [stdout]     |
[INFO] [stdout] 43  |     fn rotate_left(root: &mut Box<Node>) -> Option<Box<Node>>{
[INFO] [stdout]     |        ^^^^^^^^^^^ --------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:108:64
[INFO] [stdout]     |
[INFO] [stdout] 108 |                         (*root).left_child = Self::rotate_left((*root).left_child);
[INFO] [stdout]     |                                              ----------------- ^^^^^^^^^^^^^^^^^^ expected `&mut Box<Node>`, found `Option<Box<Node>>`
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut Box<_>`
[INFO] [stdout]                             found enum `Option<Box<_>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/main.rs:43:8
[INFO] [stdout]     |
[INFO] [stdout] 43  |     fn rotate_left(root: &mut Box<Node>) -> Option<Box<Node>>{
[INFO] [stdout]     |        ^^^^^^^^^^^ --------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:109:51
[INFO] [stdout]     |
[INFO] [stdout] 109 |                         return Self::rotate_right(Some(root));
[INFO] [stdout]     |                                ------------------ ^^^^^^^^^^ expected `&mut Box<Node>`, found `Option<&mut Box<Node>>`
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut Box<Node>`
[INFO] [stdout]                             found enum `Option<&mut Box<Node>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/main.rs:71:8
[INFO] [stdout]     |
[INFO] [stdout] 71  |     fn rotate_right(mut root: &mut Box<Node>) -> Option<Box<Node>>{
[INFO] [stdout]     |        ^^^^^^^^^^^^ ------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:120:50
[INFO] [stdout]     |
[INFO] [stdout] 120 |                         return Self::rotate_left(Some(root));
[INFO] [stdout]     |                                ----------------- ^^^^^^^^^^ expected `&mut Box<Node>`, found `Option<&mut Box<Node>>`
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut Box<Node>`
[INFO] [stdout]                             found enum `Option<&mut Box<Node>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/main.rs:43:8
[INFO] [stdout]     |
[INFO] [stdout] 43  |     fn rotate_left(root: &mut Box<Node>) -> Option<Box<Node>>{
[INFO] [stdout]     |        ^^^^^^^^^^^ --------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:123:66
[INFO] [stdout]     |
[INFO] [stdout] 123 |                         (*root).right_child = Self::rotate_right((*root).right_child);
[INFO] [stdout]     |                                               ------------------ ^^^^^^^^^^^^^^^^^^^ expected `&mut Box<Node>`, found `Option<Box<Node>>`
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut Box<_>`
[INFO] [stdout]                             found enum `Option<Box<_>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/main.rs:71:8
[INFO] [stdout]     |
[INFO] [stdout] 71  |     fn rotate_right(mut root: &mut Box<Node>) -> Option<Box<Node>>{
[INFO] [stdout]     |        ^^^^^^^^^^^^ ------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:109:51
[INFO] [stdout]     |
[INFO] [stdout] 109 |                         return Self::rotate_right(Some(root));
[INFO] [stdout]     |                                ------------------ ^^^^^^^^^^ expected `&mut Box<Node>`, found `Option<&mut Box<Node>>`
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut Box<Node>`
[INFO] [stdout]                             found enum `Option<&mut Box<Node>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/main.rs:71:8
[INFO] [stdout]     |
[INFO] [stdout] 71  |     fn rotate_right(mut root: &mut Box<Node>) -> Option<Box<Node>>{
[INFO] [stdout]     |        ^^^^^^^^^^^^ ------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:120:50
[INFO] [stdout]     |
[INFO] [stdout] 120 |                         return Self::rotate_left(Some(root));
[INFO] [stdout]     |                                ----------------- ^^^^^^^^^^ expected `&mut Box<Node>`, found `Option<&mut Box<Node>>`
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut Box<Node>`
[INFO] [stdout]                             found enum `Option<&mut Box<Node>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/main.rs:43:8
[INFO] [stdout]     |
[INFO] [stdout] 43  |     fn rotate_left(root: &mut Box<Node>) -> Option<Box<Node>>{
[INFO] [stdout]     |        ^^^^^^^^^^^ --------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:124:50
[INFO] [stdout]     |
[INFO] [stdout] 124 |                         return Self::rotate_left(Some(root));
[INFO] [stdout]     |                                ----------------- ^^^^^^^^^^ expected `&mut Box<Node>`, found `Option<&mut Box<Node>>`
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut Box<Node>`
[INFO] [stdout]                             found enum `Option<&mut Box<Node>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/main.rs:43:8
[INFO] [stdout]     |
[INFO] [stdout] 43  |     fn rotate_left(root: &mut Box<Node>) -> Option<Box<Node>>{
[INFO] [stdout]     |        ^^^^^^^^^^^ --------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:123:66
[INFO] [stdout]     |
[INFO] [stdout] 123 |                         (*root).right_child = Self::rotate_right((*root).right_child);
[INFO] [stdout]     |                                               ------------------ ^^^^^^^^^^^^^^^^^^^ expected `&mut Box<Node>`, found `Option<Box<Node>>`
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut Box<_>`
[INFO] [stdout]                             found enum `Option<Box<_>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/main.rs:71:8
[INFO] [stdout]     |
[INFO] [stdout] 71  |     fn rotate_right(mut root: &mut Box<Node>) -> Option<Box<Node>>{
[INFO] [stdout]     |        ^^^^^^^^^^^^ ------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:126:37
[INFO] [stdout]     |
[INFO] [stdout] 126 |                         return Some(root);
[INFO] [stdout]     |                                ---- ^^^^ expected `Box<Node>`, found `&mut Box<Node>`
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note:         expected struct `Box<_>`
[INFO] [stdout]             found mutable reference `&mut Box<_>`
[INFO] [stdout] help: the type constructed contains `&mut Box<Node>` due to the type of the argument passed
[INFO] [stdout]    --> src/main.rs:126:32
[INFO] [stdout]     |
[INFO] [stdout] 126 |                         return Some(root);
[INFO] [stdout]     |                                ^^^^^----^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this argument influences the type of `Some`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /rustc/bf5ff6675cf10ce009ac02007b064a7cfc4509ac/library/core/src/option.rs:597:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:129:38
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 None => {return Some(root);}
[INFO] [stdout]     |                                 ---- ^^^^ expected `Box<Node>`, found `&mut Box<Node>`
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note:         expected struct `Box<_>`
[INFO] [stdout]             found mutable reference `&mut Box<_>`
[INFO] [stdout] help: the type constructed contains `&mut Box<Node>` due to the type of the argument passed
[INFO] [stdout]    --> src/main.rs:129:33
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 None => {return Some(root);}
[INFO] [stdout]     |                                 ^^^^^----^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this argument influences the type of `Some`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /rustc/bf5ff6675cf10ce009ac02007b064a7cfc4509ac/library/core/src/option.rs:597:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:124:50
[INFO] [stdout]     |
[INFO] [stdout] 124 |                         return Self::rotate_left(Some(root));
[INFO] [stdout]     |                                ----------------- ^^^^^^^^^^ expected `&mut Box<Node>`, found `Option<&mut Box<Node>>`
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut Box<Node>`
[INFO] [stdout]                             found enum `Option<&mut Box<Node>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/main.rs:43:8
[INFO] [stdout]     |
[INFO] [stdout] 43  |     fn rotate_left(root: &mut Box<Node>) -> Option<Box<Node>>{
[INFO] [stdout]     |        ^^^^^^^^^^^ --------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:126:37
[INFO] [stdout]     |
[INFO] [stdout] 126 |                         return Some(root);
[INFO] [stdout]     |                                ---- ^^^^ expected `Box<Node>`, found `&mut Box<Node>`
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note:         expected struct `Box<_>`
[INFO] [stdout]             found mutable reference `&mut Box<_>`
[INFO] [stdout] help: the type constructed contains `&mut Box<Node>` due to the type of the argument passed
[INFO] [stdout]    --> src/main.rs:126:32
[INFO] [stdout]     |
[INFO] [stdout] 126 |                         return Some(root);
[INFO] [stdout]     |                                ^^^^^----^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this argument influences the type of `Some`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /rustc/bf5ff6675cf10ce009ac02007b064a7cfc4509ac/library/core/src/option.rs:597:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:132:25
[INFO] [stdout]     |
[INFO] [stdout] 132 |             return Some(root);
[INFO] [stdout]     |                    ---- ^^^^ expected `Box<Node>`, found `&mut Box<Node>`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note:         expected struct `Box<_>`
[INFO] [stdout]             found mutable reference `&mut Box<_>`
[INFO] [stdout] help: the type constructed contains `&mut Box<Node>` due to the type of the argument passed
[INFO] [stdout]    --> src/main.rs:132:20
[INFO] [stdout]     |
[INFO] [stdout] 132 |             return Some(root);
[INFO] [stdout]     |                    ^^^^^----^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this argument influences the type of `Some`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /rustc/bf5ff6675cf10ce009ac02007b064a7cfc4509ac/library/core/src/option.rs:597:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:129:38
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 None => {return Some(root);}
[INFO] [stdout]     |                                 ---- ^^^^ expected `Box<Node>`, found `&mut Box<Node>`
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note:         expected struct `Box<_>`
[INFO] [stdout]             found mutable reference `&mut Box<_>`
[INFO] [stdout] help: the type constructed contains `&mut Box<Node>` due to the type of the argument passed
[INFO] [stdout]    --> src/main.rs:129:33
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 None => {return Some(root);}
[INFO] [stdout]     |                                 ^^^^^----^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this argument influences the type of `Some`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /rustc/bf5ff6675cf10ce009ac02007b064a7cfc4509ac/library/core/src/option.rs:597:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:132:25
[INFO] [stdout]     |
[INFO] [stdout] 132 |             return Some(root);
[INFO] [stdout]     |                    ---- ^^^^ expected `Box<Node>`, found `&mut Box<Node>`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note:         expected struct `Box<_>`
[INFO] [stdout]             found mutable reference `&mut Box<_>`
[INFO] [stdout] help: the type constructed contains `&mut Box<Node>` due to the type of the argument passed
[INFO] [stdout]    --> src/main.rs:132:20
[INFO] [stdout]     |
[INFO] [stdout] 132 |             return Some(root);
[INFO] [stdout]     |                    ^^^^^----^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this argument influences the type of `Some`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /rustc/bf5ff6675cf10ce009ac02007b064a7cfc4509ac/library/core/src/option.rs:597:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:259:24
[INFO] [stdout]     |
[INFO] [stdout] 256 |     fn new(new_val:Option<i32>) -> Option<Box<Node>> {
[INFO] [stdout]     |                                    ----------------- expected `Option<Box<Node>>` because of return type
[INFO] [stdout] ...
[INFO] [stdout] 259 |                 return (Node::new(value));
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^ expected `Option<Box<Node>>`, found `Box<Node>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<Box<_>>`
[INFO] [stdout]              found struct `Box<_>`
[INFO] [stdout] help: try wrapping the expression in `Some`
[INFO] [stdout]     |
[INFO] [stdout] 259 |                 return Some((Node::new(value)));
[INFO] [stdout]     |                        +++++                  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:259:24
[INFO] [stdout]     |
[INFO] [stdout] 256 |     fn new(new_val:Option<i32>) -> Option<Box<Node>> {
[INFO] [stdout]     |                                    ----------------- expected `Option<Box<Node>>` because of return type
[INFO] [stdout] ...
[INFO] [stdout] 259 |                 return (Node::new(value));
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^ expected `Option<Box<Node>>`, found `Box<Node>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<Box<_>>`
[INFO] [stdout]              found struct `Box<_>`
[INFO] [stdout] help: try wrapping the expression in `Some`
[INFO] [stdout]     |
[INFO] [stdout] 259 |                 return Some((Node::new(value)));
[INFO] [stdout]     |                        +++++                  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of a mutable reference
[INFO] [stdout]   --> src/main.rs:44:15
[INFO] [stdout]    |
[INFO] [stdout] 44 |         match &mut root.right_child {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 45 |             Some(mut root_right_child) => {
[INFO] [stdout]    |                  --------------------
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  data moved here
[INFO] [stdout]    |                  move occurs because `root_right_child` has type `Box<Node>`, which does not implement the `Copy` trait
[INFO] [stdout]    |
[INFO] [stdout] help: consider borrowing the pattern binding
[INFO] [stdout]    |
[INFO] [stdout] 45 |             Some(ref mut root_right_child) => {
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of a mutable reference
[INFO] [stdout]   --> src/main.rs:44:15
[INFO] [stdout]    |
[INFO] [stdout] 44 |         match &mut root.right_child {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 45 |             Some(mut root_right_child) => {
[INFO] [stdout]    |                  --------------------
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  data moved here
[INFO] [stdout]    |                  move occurs because `root_right_child` has type `Box<Node>`, which does not implement the `Copy` trait
[INFO] [stdout]    |
[INFO] [stdout] help: consider borrowing the pattern binding
[INFO] [stdout]    |
[INFO] [stdout] 45 |             Some(ref mut root_right_child) => {
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of a mutable reference
[INFO] [stdout]   --> src/main.rs:46:23
[INFO] [stdout]    |
[INFO] [stdout] 46 |                 match &mut root_right_child.left_child {
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 47 |                     Some(mut root_right_left_child)=>{
[INFO] [stdout]    |                          -------------------------
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          data moved here
[INFO] [stdout]    |                          move occurs because `root_right_left_child` has type `Box<Node>`, which does not implement the `Copy` trait
[INFO] [stdout]    |
[INFO] [stdout] help: consider borrowing the pattern binding
[INFO] [stdout]    |
[INFO] [stdout] 47 |                     Some(ref mut root_right_left_child)=>{
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `root_left_child.right_child` as enum variant `Some` which is behind a mutable reference
[INFO] [stdout]   --> src/main.rs:74:23
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 match root_left_child.right_child {
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 75 |                     Some(root_left_right_child) => {
[INFO] [stdout]    |                          ---------------------
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          data moved here
[INFO] [stdout]    |                          move occurs because `root_left_right_child` has type `Box<Node>`, which does not implement the `Copy` trait
[INFO] [stdout]    |
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 match &root_left_child.right_child {
[INFO] [stdout]    |                       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0506]: cannot assign to `root.left_child` because it is borrowed
[INFO] [stdout]   --> src/main.rs:76:25
[INFO] [stdout]    |
[INFO] [stdout] 72 |         match &mut root.left_child {
[INFO] [stdout]    |               -------------------- `root.left_child` is borrowed here
[INFO] [stdout] ...
[INFO] [stdout] 76 |                         root.left_child = Some(root_left_right_child);
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^ `root.left_child` is assigned to here but it was already borrowed
[INFO] [stdout] ...
[INFO] [stdout] 79 |                         (*root_left_child).right_child = Some(*root);
[INFO] [stdout]    |                         ------------------------------ borrow later used here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `*root` which is behind a mutable reference
[INFO] [stdout]   --> src/main.rs:79:63
[INFO] [stdout]    |
[INFO] [stdout] 79 |                         (*root_left_child).right_child = Some(*root);
[INFO] [stdout]    |                                                               ^^^^^ move occurs because `*root` has type `Box<Node>`, which does not implement the `Copy` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `*root_left_child` which is behind a mutable reference
[INFO] [stdout]   --> src/main.rs:81:37
[INFO] [stdout]    |
[INFO] [stdout] 81 |                         return Some(*root_left_child);
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^ move occurs because `*root_left_child` has type `Box<Node>`, which does not implement the `Copy` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0506]: cannot assign to `root.left_child` because it is borrowed
[INFO] [stdout]   --> src/main.rs:84:25
[INFO] [stdout]    |
[INFO] [stdout] 72 |         match &mut root.left_child {
[INFO] [stdout]    |               -------------------- `root.left_child` is borrowed here
[INFO] [stdout] ...
[INFO] [stdout] 84 |                         root.left_child = None;
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^ `root.left_child` is assigned to here but it was already borrowed
[INFO] [stdout] ...
[INFO] [stdout] 87 |                         root_left_child.right_child = Some(*root);
[INFO] [stdout]    |                         --------------------------- borrow later used here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `*root` which is behind a mutable reference
[INFO] [stdout]   --> src/main.rs:87:60
[INFO] [stdout]    |
[INFO] [stdout] 87 |                         root_left_child.right_child = Some(*root);
[INFO] [stdout]    |                                                            ^^^^^ move occurs because `*root` has type `Box<Node>`, which does not implement the `Copy` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of a mutable reference
[INFO] [stdout]   --> src/main.rs:46:23
[INFO] [stdout]    |
[INFO] [stdout] 46 |                 match &mut root_right_child.left_child {
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 47 |                     Some(mut root_right_left_child)=>{
[INFO] [stdout]    |                          -------------------------
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          data moved here
[INFO] [stdout]    |                          move occurs because `root_right_left_child` has type `Box<Node>`, which does not implement the `Copy` trait
[INFO] [stdout]    |
[INFO] [stdout] help: consider borrowing the pattern binding
[INFO] [stdout]    |
[INFO] [stdout] 47 |                     Some(ref mut root_right_left_child)=>{
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `root_left_child.right_child` as enum variant `Some` which is behind a mutable reference
[INFO] [stdout]   --> src/main.rs:74:23
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 match root_left_child.right_child {
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 75 |                     Some(root_left_right_child) => {
[INFO] [stdout]    |                          ---------------------
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          data moved here
[INFO] [stdout]    |                          move occurs because `root_left_right_child` has type `Box<Node>`, which does not implement the `Copy` trait
[INFO] [stdout]    |
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 match &root_left_child.right_child {
[INFO] [stdout]    |                       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0506]: cannot assign to `root.left_child` because it is borrowed
[INFO] [stdout]   --> src/main.rs:76:25
[INFO] [stdout]    |
[INFO] [stdout] 72 |         match &mut root.left_child {
[INFO] [stdout]    |               -------------------- `root.left_child` is borrowed here
[INFO] [stdout] ...
[INFO] [stdout] 76 |                         root.left_child = Some(root_left_right_child);
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^ `root.left_child` is assigned to here but it was already borrowed
[INFO] [stdout] ...
[INFO] [stdout] 79 |                         (*root_left_child).right_child = Some(*root);
[INFO] [stdout]    |                         ------------------------------ borrow later used here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `*root` which is behind a mutable reference
[INFO] [stdout]   --> src/main.rs:79:63
[INFO] [stdout]    |
[INFO] [stdout] 79 |                         (*root_left_child).right_child = Some(*root);
[INFO] [stdout]    |                                                               ^^^^^ move occurs because `*root` has type `Box<Node>`, which does not implement the `Copy` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `*root_left_child` which is behind a mutable reference
[INFO] [stdout]   --> src/main.rs:81:37
[INFO] [stdout]    |
[INFO] [stdout] 81 |                         return Some(*root_left_child);
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^ move occurs because `*root_left_child` has type `Box<Node>`, which does not implement the `Copy` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0506]: cannot assign to `root.left_child` because it is borrowed
[INFO] [stdout]   --> src/main.rs:84:25
[INFO] [stdout]    |
[INFO] [stdout] 72 |         match &mut root.left_child {
[INFO] [stdout]    |               -------------------- `root.left_child` is borrowed here
[INFO] [stdout] ...
[INFO] [stdout] 84 |                         root.left_child = None;
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^ `root.left_child` is assigned to here but it was already borrowed
[INFO] [stdout] ...
[INFO] [stdout] 87 |                         root_left_child.right_child = Some(*root);
[INFO] [stdout]    |                         --------------------------- borrow later used here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `*root` which is behind a mutable reference
[INFO] [stdout]   --> src/main.rs:87:60
[INFO] [stdout]    |
[INFO] [stdout] 87 |                         root_left_child.right_child = Some(*root);
[INFO] [stdout]    |                                                            ^^^^^ move occurs because `*root` has type `Box<Node>`, which does not implement the `Copy` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `*root_left_child` which is behind a mutable reference
[INFO] [stdout]   --> src/main.rs:89:37
[INFO] [stdout]    |
[INFO] [stdout] 89 |                         return Some(*root_left_child);
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^ move occurs because `*root_left_child` has type `Box<Node>`, which does not implement the `Copy` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `*root_left_child` which is behind a mutable reference
[INFO] [stdout]   --> src/main.rs:89:37
[INFO] [stdout]    |
[INFO] [stdout] 89 |                         return Some(*root_left_child);
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^ move occurs because `*root_left_child` has type `Box<Node>`, which does not implement the `Copy` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0506, E0507.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0506, E0507.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `i32_avl_tree` (bin "i32_avl_tree" test) due to 18 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `i32_avl_tree` (bin "i32_avl_tree") due to 18 previous errors
[INFO] running `Command { std: "docker" "inspect" "fc03dd073e079039a3532ea6fd3d1b3bdc73e8805130fc14ee68e51a28ea96b7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fc03dd073e079039a3532ea6fd3d1b3bdc73e8805130fc14ee68e51a28ea96b7", kill_on_drop: false }`
[INFO] [stdout] fc03dd073e079039a3532ea6fd3d1b3bdc73e8805130fc14ee68e51a28ea96b7
