[INFO] cloning repository https://github.com/intelliacademy/rust-algorithms
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/intelliacademy/rust-algorithms" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fintelliacademy%2Frust-algorithms", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fintelliacademy%2Frust-algorithms'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 096792358c0c74b48e53168ee290649d2fc9d017
[INFO] checking intelliacademy/rust-algorithms against try#fa4dd1f19bfeb3fd235dc7f1406c42404436bef5 for pr-145108-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fintelliacademy%2Frust-algorithms" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/intelliacademy/rust-algorithms
[INFO] finished tweaking git repo https://github.com/intelliacademy/rust-algorithms
[INFO] tweaked toml for git repo https://github.com/intelliacademy/rust-algorithms written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/intelliacademy/rust-algorithms on toolchain fa4dd1f19bfeb3fd235dc7f1406c42404436bef5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+fa4dd1f19bfeb3fd235dc7f1406c42404436bef5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/intelliacademy/rust-algorithms 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" "+fa4dd1f19bfeb3fd235dc7f1406c42404436bef5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: /workspace/builds/worker-4-tc2/source/Cargo.toml: unused manifest key: workspace.default-run
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking intelliacademy/rust-algorithms against try#fa4dd1f19bfeb3fd235dc7f1406c42404436bef5 for pr-145108-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fintelliacademy%2Frust-algorithms" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/intelliacademy/rust-algorithms
[INFO] finished tweaking git repo https://github.com/intelliacademy/rust-algorithms
[INFO] tweaked toml for git repo https://github.com/intelliacademy/rust-algorithms written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/intelliacademy/rust-algorithms on toolchain fa4dd1f19bfeb3fd235dc7f1406c42404436bef5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+fa4dd1f19bfeb3fd235dc7f1406c42404436bef5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/intelliacademy/rust-algorithms 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" "+fa4dd1f19bfeb3fd235dc7f1406c42404436bef5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: /workspace/builds/worker-4-tc2/source/Cargo.toml: unused manifest key: workspace.default-run
[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-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+fa4dd1f19bfeb3fd235dc7f1406c42404436bef5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 432b69f44f71cf4f71b810a15ebbf569fd34b5d25a35225a43fa4c0240a68511
[INFO] running `Command { std: "docker" "start" "-a" "432b69f44f71cf4f71b810a15ebbf569fd34b5d25a35225a43fa4c0240a68511", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "432b69f44f71cf4f71b810a15ebbf569fd34b5d25a35225a43fa4c0240a68511", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "432b69f44f71cf4f71b810a15ebbf569fd34b5d25a35225a43fa4c0240a68511", kill_on_drop: false }`
[INFO] [stdout] 432b69f44f71cf4f71b810a15ebbf569fd34b5d25a35225a43fa4c0240a68511
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+fa4dd1f19bfeb3fd235dc7f1406c42404436bef5" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7d615e53a4c68af0ca0c37c06f1627c77a23a29ddeac2cedbda9a4960c896953
[INFO] running `Command { std: "docker" "start" "-a" "7d615e53a4c68af0ca0c37c06f1627c77a23a29ddeac2cedbda9a4960c896953", kill_on_drop: false }`
[INFO] [stderr] warning: /opt/rustwide/workdir/Cargo.toml: unused manifest key: workspace.default-run
[INFO] [stderr]     Checking dynamic-programming v0.1.0 (/opt/rustwide/workdir/dynamic-programming)
[INFO] [stderr]     Checking graphs v0.1.0 (/opt/rustwide/workdir/graphs)
[INFO] [stderr]     Checking mst v0.1.0 (/opt/rustwide/workdir/mst)
[INFO] [stderr]     Checking bst v0.1.0 (/opt/rustwide/workdir/bst)
[INFO] [stderr]     Checking intro v0.1.0 (/opt/rustwide/workdir/intro)
[INFO] [stderr]     Checking stack v0.1.0 (/opt/rustwide/workdir/stack)
[INFO] [stderr]     Checking recursive v0.1.0 (/opt/rustwide/workdir/recursive)
[INFO] [stderr]     Checking list v0.1.0 (/opt/rustwide/workdir/list)
[INFO] [stderr]     Checking sorting v0.1.0 (/opt/rustwide/workdir/sorting)
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> dynamic-programming/src/lcs/mod.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     use super::*;
[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]   --> dynamic-programming/src/lcs/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let mut result: Vec<char> = Vec::new();
[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]   --> dynamic-programming/src/lcs/mod.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let (mut i, mut j) = (len_a, len_b);
[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]   --> dynamic-programming/src/lcs/mod.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let (mut i, mut j) = (len_a, len_b);
[INFO] [stdout]    |                 ----^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]   --> dynamic-programming/src/lcs/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let mut result: Vec<char> = Vec::new();
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Queue` is never constructed
[INFO] [stdout]  --> stack/src/stack/mod.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Queue<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: variable does not need to be mutable
[INFO] [stdout]   --> dynamic-programming/src/lcs/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let mut result: Vec<char> = Vec::new();
[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: associated items `new`, `enqueue`, `dequeue`, `peek`, `is_empty`, and `len` are never used
[INFO] [stdout]   --> stack/src/stack/mod.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl<T> Queue<T> {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout]  8 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub fn enqueue(&mut self, item: T) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn dequeue(&mut self) -> Option<T> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn peek(&self) -> Option<&T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> dynamic-programming/src/lcs/mod.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let (mut i, mut j) = (len_a, len_b);
[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]   --> dynamic-programming/src/lcs/mod.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let (mut i, mut j) = (len_a, len_b);
[INFO] [stdout]    |                 ----^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]   --> dynamic-programming/src/lcs/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let mut result: Vec<char> = Vec::new();
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lcs_resolve` is never used
[INFO] [stdout]  --> dynamic-programming/src/lcs/mod.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn lcs_resolve(a: &str, b: &str) -> Option<String> {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fib` is never used
[INFO] [stdout]  --> dynamic-programming/src/fibonacci/mod.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn fib(value: i32) -> i32 {
[INFO] [stdout]   |        ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lcs_resolve` is never used
[INFO] [stdout]  --> dynamic-programming/src/lcs/mod.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn lcs_resolve(a: &str, b: &str) -> Option<String> {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sort_by_bubble` is never used
[INFO] [stdout]  --> sorting/src/bubble/mod.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn sort_by_bubble<T>(arr: &mut Vec<T>) -> &Vec<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: function `sort_by_merge` is never used
[INFO] [stdout]  --> sorting/src/merge/mod.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn sort_by_merge<T>(arr: &mut Vec<T>) -> Vec<T>
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `merge` is never used
[INFO] [stdout]   --> sorting/src/merge/mod.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn merge<T>(arr: &mut [T], mid: usize)
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sort_by_quick` is never used
[INFO] [stdout]  --> sorting/src/quick/mod.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn sort_by_quick<T>(arr: &mut Vec<T>) -> &Vec<T>
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `partition` is never used
[INFO] [stdout]   --> sorting/src/quick/mod.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn partition<T>(arr: &mut Vec<T>) -> usize
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sort_by_selection` is never used
[INFO] [stdout]   --> sorting/src/selection/mod.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn sort_by_selection<T>(arr: &mut Vec<T>) -> &Vec<T>
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_triangle` is never used
[INFO] [stdout]   --> recursive/src/stoa/mod.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn sum_triangle(arr: &Vec<Vec<i32>>, i: usize, j: usize) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0506]: cannot assign to `current` because it is borrowed
[INFO] [stdout]   --> list/src/linked/mod.rs:58:25
[INFO] [stdout]    |
[INFO] [stdout] 51 |                     while let Some(ref mut n) = current {
[INFO] [stdout]    |                                    --------- `current` is borrowed here
[INFO] [stdout] ...
[INFO] [stdout] 58 |                         current = n.next.as_mut();
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         `current` is assigned to here but it was already borrowed
[INFO] [stdout]    |                         borrow later used here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> bst/src/sbst/mod.rs:101:24
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn ceil(&self, value: &T) -> Option<&T>
[INFO] [stdout]     |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> bst/src/sbst/mod.rs:108:25
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn floor(&self, value: &T) -> Option<&T>
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SBST` is never constructed
[INFO] [stdout]  --> bst/src/sbst/mod.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct SBST<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: multiple associated items are never used
[INFO] [stdout]    --> bst/src/sbst/mod.rs:28:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | / impl<T> SBST<T>
[INFO] [stdout]  25 | | where
[INFO] [stdout]  26 | |     T: Ord,
[INFO] [stdout]     | |___________- associated items in this implementation
[INFO] [stdout]  27 |   {
[INFO] [stdout]  28 |       pub fn new() -> Self {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout]  36 |       pub fn insert(&mut self, value: T) {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  61 |       pub fn search(&self, value: T) -> bool
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |       pub fn min(&self) -> Option<&T>
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |       pub fn max(&self) -> Option<&T>
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |       pub fn ceil(&self, value: &T) -> Option<&T>
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |       pub fn floor(&self, value: &T) -> Option<&T>
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0506`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> bst/src/sbst/mod.rs:101:24
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn ceil(&self, value: &T) -> Option<&T>
[INFO] [stdout]     |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> bst/src/sbst/mod.rs:108:25
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn floor(&self, value: &T) -> Option<&T>
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> bst/src/sbst/mod.rs:131:13
[INFO] [stdout]     |
[INFO] [stdout] 131 |         let mut sbst = new_bst();
[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]    --> bst/src/sbst/mod.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |         let mut sbst = new_bst();
[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]    --> bst/src/sbst/mod.rs:144:13
[INFO] [stdout]     |
[INFO] [stdout] 144 |         let mut sbst = new_bst();
[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]    --> bst/src/sbst/mod.rs:151:13
[INFO] [stdout]     |
[INFO] [stdout] 151 |         let mut sbst = new_bst();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `ceil` and `floor` are never used
[INFO] [stdout]    --> bst/src/sbst/mod.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | / impl<T> SBST<T>
[INFO] [stdout]  25 | | where
[INFO] [stdout]  26 | |     T: Ord,
[INFO] [stdout]     | |___________- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 101 |       pub fn ceil(&self, value: &T) -> Option<&T>
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |       pub fn floor(&self, value: &T) -> Option<&T>
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0506]: cannot assign to `current` because it is borrowed
[INFO] [stdout]   --> list/src/linked/mod.rs:58:25
[INFO] [stdout]    |
[INFO] [stdout] 51 |                     while let Some(ref mut n) = current {
[INFO] [stdout]    |                                    --------- `current` is borrowed here
[INFO] [stdout] ...
[INFO] [stdout] 58 |                         current = n.next.as_mut();
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         `current` is assigned to here but it was already borrowed
[INFO] [stdout]    |                         borrow later used here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `list` (bin "list") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> list/src/linked/mod.rs:183:20
[INFO] [stdout]     |
[INFO] [stdout] 183 |         let elem = list.peek_mut().unwrap().deref_mut();
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^            - temporary value is freed at the end of this statement
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    creates a temporary value which is freed while still in use
[INFO] [stdout] 184 |         *elem = &6;
[INFO] [stdout]     |         ---------- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout] help: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     |
[INFO] [stdout] 183 ~         let mut binding = list.peek_mut().unwrap();
[INFO] [stdout] 184 ~         let elem = binding.deref_mut();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quick_sort` is never used
[INFO] [stdout]  --> sorting/src/quick/mod.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 |     fn quick_sort<T: Ord + std::clone::Clone>(arr: &mut [T]) {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0506, E0716.
[INFO] [stdout] 
[INFO] [stdout] warning: function `partition` is never used
[INFO] [stdout]   --> sorting/src/quick/mod.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn partition<T>(arr: &mut Vec<T>) -> usize
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0506`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `list` (bin "list" test) due to 2 previous errors
[INFO] running `Command { std: "docker" "inspect" "7d615e53a4c68af0ca0c37c06f1627c77a23a29ddeac2cedbda9a4960c896953", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7d615e53a4c68af0ca0c37c06f1627c77a23a29ddeac2cedbda9a4960c896953", kill_on_drop: false }`
[INFO] [stdout] 7d615e53a4c68af0ca0c37c06f1627c77a23a29ddeac2cedbda9a4960c896953
