[INFO] cloning repository https://github.com/Farteen/rust_algorithm_learning
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Farteen/rust_algorithm_learning" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFarteen%2Frust_algorithm_learning", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFarteen%2Frust_algorithm_learning'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 86e6d1ecd023d7989f511561d4cb4676bf5e5bce
[INFO] testing Farteen/rust_algorithm_learning against try#db823df02fd0c2cf67b43025ac3fef3f2d743245 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFarteen%2Frust_algorithm_learning" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Farteen/rust_algorithm_learning
[INFO] removed 0 missing tests
[INFO] finished tweaking git repo https://github.com/Farteen/rust_algorithm_learning
[INFO] tweaked toml for git repo https://github.com/Farteen/rust_algorithm_learning written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Farteen/rust_algorithm_learning on toolchain db823df02fd0c2cf67b43025ac3fef3f2d743245
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Farteen/rust_algorithm_learning 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" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9e6d6317ddd32da486a5ae8b23f3a78d7f2c9de8d55f4eb8458b06a301201833
[INFO] running `Command { std: "docker" "start" "-a" "9e6d6317ddd32da486a5ae8b23f3a78d7f2c9de8d55f4eb8458b06a301201833", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9e6d6317ddd32da486a5ae8b23f3a78d7f2c9de8d55f4eb8458b06a301201833", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9e6d6317ddd32da486a5ae8b23f3a78d7f2c9de8d55f4eb8458b06a301201833", kill_on_drop: false }`
[INFO] [stdout] 9e6d6317ddd32da486a5ae8b23f3a78d7f2c9de8d55f4eb8458b06a301201833
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1c44eebcea730404411a42ce9facfe05a3b58f98db7f8601e89d1b9cbd4ea04f
[INFO] running `Command { std: "docker" "start" "-a" "1c44eebcea730404411a42ce9facfe05a3b58f98db7f8601e89d1b9cbd4ea04f", kill_on_drop: false }`
[INFO] [stderr]    Compiling algorithm v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.14s
[INFO] running `Command { std: "docker" "inspect" "1c44eebcea730404411a42ce9facfe05a3b58f98db7f8601e89d1b9cbd4ea04f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1c44eebcea730404411a42ce9facfe05a3b58f98db7f8601e89d1b9cbd4ea04f", kill_on_drop: false }`
[INFO] [stdout] 1c44eebcea730404411a42ce9facfe05a3b58f98db7f8601e89d1b9cbd4ea04f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ac41ba38098b69d2fa443b73ca1fda9132580549eb497e7fb10fb91e052154b2
[INFO] running `Command { std: "docker" "start" "-a" "ac41ba38098b69d2fa443b73ca1fda9132580549eb497e7fb10fb91e052154b2", kill_on_drop: false }`
[INFO] [stderr]    Compiling algorithm v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::string::ToString`
[INFO] [stdout]   --> test/basic/test_ref_cell_mock.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |     use std::string::ToString;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> test/pattern/test_refutability.rs:67:45
[INFO] [stdout]    |
[INFO] [stdout] 67 |         Message::Hello { id: id_variable @ 3...7 } => {
[INFO] [stdout]    |                                             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> test/pattern/test_refutability.rs:70:32
[INFO] [stdout]    |
[INFO] [stdout] 70 |         Message::Hello { id: 10...12} => {
[INFO] [stdout]    |                                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]   --> test/basic/test_box_deref_trait.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let d = CustomSmartPointer { data: String::from("other stuff")};
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> test/basic/test_box_deref_trait.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let b = Cons(3, Rc::clone(&a));
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> test/basic/test_box_deref_trait.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let c = Cons(4, Rc::clone(&a));
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]   --> test/basic/test_ref_cell_mock.rs:35:20
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn send(&self, msg: &str) {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> test/sort/bubble_sort.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let mut target = arr.clone();
[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: unused variable: `i`
[INFO] [stdout]   --> test/sort/bubble_sort.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     for i in (0..length).rev() {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> test/sort/merge_sort.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let mut target = arr.clone();
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arr`
[INFO] [stdout]   --> test/sort/merge_sort.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn sort_process(arr: &[i32], l: i32, r: i32) {
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_arr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> test/sort/heap_sort.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     for i in 0..length {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `counter`
[INFO] [stdout]   --> test/concurrent/test_state_sharing.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let counter = Rc::new(Mutex::new(0));
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_counter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `some_option_value`
[INFO] [stdout]  --> test/pattern/test_refutability.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     let some_option_value: Option<i32> = None;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_some_option_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sum_of_squares`
[INFO] [stdout]   --> test/pattern/test_refutability.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let sum_of_squares: i32 = points
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sum_of_squares`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> test/pattern/test_refutability.rs:73:25
[INFO] [stdout]    |
[INFO] [stdout] 73 |         Message::Hello {id} => {
[INFO] [stdout]    |                         ^^ help: try ignoring the field: `id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r1`
[INFO] [stdout]  --> test/advance_unsafe/test_unsafe_raw_pointer.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     let r1 = &num as *const i32;
[INFO] [stdout]   |         ^^ help: if this is intentional, prefix it with an underscore: `_r1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r2`
[INFO] [stdout]  --> test/advance_unsafe/test_unsafe_raw_pointer.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     let r2 = &mut num as *mut i32;
[INFO] [stdout]   |         ^^ help: if this is intentional, prefix it with an underscore: `_r2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]   --> test/advance_unsafe/test_unsafe_raw_pointer.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let r = address as *const i32;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> test/basic/test_box_deref_trait.rs:40:10
[INFO] [stdout]    |
[INFO] [stdout] 40 |     Cons(i32, Rc<List>),
[INFO] [stdout]    |     ---- ^^^  ^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 40 -     Cons(i32, Rc<List>),
[INFO] [stdout] 40 +     Cons((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `send` is never used
[INFO] [stdout]   --> test/basic/test_ref_cell_mock.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<'a, T> LimitTrakcer<'a, T> where T: Messenger {
[INFO] [stdout]    | -------------------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 35 |     fn send(&self, msg: &str) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]  --> test/basic/test_ref_ref_cell_mul_mut_owner.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 |     Cons(Rc<RefCell<i32>>, Rc<List>),
[INFO] [stdout]   |     ---- ^^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     fields in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `List` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]   |
[INFO] [stdout] 3 -     Cons(Rc<RefCell<i32>>, Rc<List>),
[INFO] [stdout] 3 +     Cons((), ()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> test/basic/test_memory_leak.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 |     Cons(i32, RefCell<Rc<List>>),
[INFO] [stdout]   |     ---- ^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `List` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 8 -     Cons(i32, RefCell<Rc<List>>),
[INFO] [stdout] 8 +     Cons((), RefCell<Rc<List>>),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `value` and `children` are never read
[INFO] [stdout]  --> test/basic/test_ref_weak.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Node {
[INFO] [stdout]   |        ---- fields in this struct
[INFO] [stdout] 7 |     value: i32,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 8 |     parent: RefCell<Weak<Node>>,
[INFO] [stdout] 9 |     children: RefCell<Vec<Rc<Node>>>,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Node` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bubble_sort_from_end` is never used
[INFO] [stdout]   --> test/sort/bubble_sort.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn bubble_sort_from_end(arr: &Vec<i32>) -> Vec<i32> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sort_process` is never used
[INFO] [stdout]   --> test/sort/merge_sort.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn sort_process(arr: &[i32], l: i32, r: i32) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `heap_sort` is never used
[INFO] [stdout]  --> test/sort/heap_sort.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn heap_sort(arr: Vec<i32>) -> Vec<i32> {
[INFO] [stdout]   |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AveragedCollection` is never constructed
[INFO] [stdout]  --> test/oop/test_oop_collection.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct AveragedCollection {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add`, `remove`, `average`, and `update_average` are never used
[INFO] [stdout]   --> test/oop/test_oop_collection.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl AveragedCollection {
[INFO] [stdout]    | ----------------------- methods in this implementation
[INFO] [stdout]  8 |     pub fn add(&mut self, value: i32){
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn remove(&mut self) -> Option<i32> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn average(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     fn update_average(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `x` and `y` are never read
[INFO] [stdout]   --> test/oop/test_trait_morphism.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct Point  {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 30 |     pub x: i32,
[INFO] [stdout]    |         ^
[INFO] [stdout] 31 |     pub y: i32,
[INFO] [stdout]    |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `center` and `radius` are never read
[INFO] [stdout]   --> test/oop/test_trait_morphism.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct Circle {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 35 |     center: Point,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 36 |     radius: i32,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lt`, `width`, and `height` are never read
[INFO] [stdout]   --> test/oop/test_trait_morphism.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct Rectangle {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 46 |     lt: Point,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 47 |     width: i32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 48 |     height: i32,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Circle` is never constructed
[INFO] [stdout]  --> test/advance_unsafe/test_access_modify_global_variable.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct Circle<T> {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> test/basic/test_ref_cell_mock.rs:14:27
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(messenger: &T, max: usize) -> LimitTrakcer<T> {
[INFO] [stdout]    |                           ^^                 ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(messenger: &T, max: usize) -> LimitTrakcer<'_, T> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `outerIndex` should have a snake case name
[INFO] [stdout]   --> test/sort/bubble_sort.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     for outerIndex in 0..length-1 {
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `outer_index`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `innerIndex` should have a snake case name
[INFO] [stdout]   --> test/sort/bubble_sort.rs:16:13
[INFO] [stdout]    |
[INFO] [stdout] 16 |         for innerIndex in outerIndex..length - 1 {
[INFO] [stdout]    |             ^^^^^^^^^^ help: convert the identifier to snake case: `inner_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `leftValue` should have a snake case name
[INFO] [stdout]   --> test/sort/bubble_sort.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 |             let leftValue = target[innerIndex];
[INFO] [stdout]    |                 ^^^^^^^^^ help: convert the identifier to snake case: `left_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `rightValue` should have a snake case name
[INFO] [stdout]   --> test/sort/bubble_sort.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 |             let rightValue = target[innerIndex + 1];
[INFO] [stdout]    |                 ^^^^^^^^^^ help: convert the identifier to snake case: `right_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `leftValue` should have a snake case name
[INFO] [stdout]   --> test/sort/insertion_sort.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 |             let leftValue = target[j - 1];
[INFO] [stdout]    |                 ^^^^^^^^^ help: convert the identifier to snake case: `left_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `currentValue` should have a snake case name
[INFO] [stdout]   --> test/sort/insertion_sort.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 |             let currentValue = target[j];
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: convert the identifier to snake case: `current_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement
[INFO] [stdout]  --> test/concurrent/test_message_passing.rs:9:14
[INFO] [stdout]   |
[INFO] [stdout] 9 |     for i in rx.recv() {
[INFO] [stdout]   |              ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]   |
[INFO] [stdout] 9 -     for i in rx.recv() {
[INFO] [stdout] 9 +     while let Ok(i) = rx.recv() {
[INFO] [stdout]   |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]   |
[INFO] [stdout] 9 -     for i in rx.recv() {
[INFO] [stdout] 9 +     if let Ok(i) = rx.recv() {
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.57s
[INFO] running `Command { std: "docker" "inspect" "ac41ba38098b69d2fa443b73ca1fda9132580549eb497e7fb10fb91e052154b2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ac41ba38098b69d2fa443b73ca1fda9132580549eb497e7fb10fb91e052154b2", kill_on_drop: false }`
[INFO] [stdout] ac41ba38098b69d2fa443b73ca1fda9132580549eb497e7fb10fb91e052154b2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 470ae99590235e7a0827aadc8a1a29e5b7ebb0672cd3c47bc9d16607162cc957
[INFO] running `Command { std: "docker" "start" "-a" "470ae99590235e7a0827aadc8a1a29e5b7ebb0672cd3c47bc9d16607162cc957", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::string::ToString`
[INFO] [stderr]   --> test/basic/test_ref_cell_mock.rs:43:9
[INFO] [stderr]    |
[INFO] [stderr] 43 |     use std::string::ToString;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> test/pattern/test_refutability.rs:67:45
[INFO] [stderr]    |
[INFO] [stderr] 67 |         Message::Hello { id: id_variable @ 3...7 } => {
[INFO] [stderr]    |                                             ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> test/pattern/test_refutability.rs:70:32
[INFO] [stderr]    |
[INFO] [stderr] 70 |         Message::Hello { id: 10...12} => {
[INFO] [stderr]    |                                ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `d`
[INFO] [stderr]   --> test/basic/test_box_deref_trait.rs:34:9
[INFO] [stderr]    |
[INFO] [stderr] 34 |     let d = CustomSmartPointer { data: String::from("other stuff")};
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `b`
[INFO] [stderr]   --> test/basic/test_box_deref_trait.rs:47:9
[INFO] [stderr]    |
[INFO] [stderr] 47 |     let b = Cons(3, Rc::clone(&a));
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `c`
[INFO] [stderr]   --> test/basic/test_box_deref_trait.rs:48:9
[INFO] [stderr]    |
[INFO] [stderr] 48 |     let c = Cons(4, Rc::clone(&a));
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `msg`
[INFO] [stderr]   --> test/basic/test_ref_cell_mock.rs:35:20
[INFO] [stderr]    |
[INFO] [stderr] 35 |     fn send(&self, msg: &str) {
[INFO] [stderr]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> test/sort/bubble_sort.rs:29:9
[INFO] [stderr]    |
[INFO] [stderr] 29 |     let mut target = arr.clone();
[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: unused variable: `i`
[INFO] [stderr]   --> test/sort/bubble_sort.rs:31:9
[INFO] [stderr]    |
[INFO] [stderr] 31 |     for i in (0..length).rev() {
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> test/sort/merge_sort.rs:12:9
[INFO] [stderr]    |
[INFO] [stderr] 12 |     let mut target = arr.clone();
[INFO] [stderr]    |         ----^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `arr`
[INFO] [stderr]   --> test/sort/merge_sort.rs:17:17
[INFO] [stderr]    |
[INFO] [stderr] 17 | fn sort_process(arr: &[i32], l: i32, r: i32) {
[INFO] [stderr]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_arr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> test/sort/heap_sort.rs:10:9
[INFO] [stderr]    |
[INFO] [stderr] 10 |     for i in 0..length {
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `counter`
[INFO] [stderr]   --> test/concurrent/test_state_sharing.rs:20:9
[INFO] [stderr]    |
[INFO] [stderr] 20 |     let counter = Rc::new(Mutex::new(0));
[INFO] [stderr]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_counter`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `some_option_value`
[INFO] [stderr]  --> test/pattern/test_refutability.rs:3:9
[INFO] [stderr]   |
[INFO] [stderr] 3 |     let some_option_value: Option<i32> = None;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_some_option_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sum_of_squares`
[INFO] [stderr]   --> test/pattern/test_refutability.rs:35:9
[INFO] [stderr]    |
[INFO] [stderr] 35 |     let sum_of_squares: i32 = points
[INFO] [stderr]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sum_of_squares`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id`
[INFO] [stderr]   --> test/pattern/test_refutability.rs:73:25
[INFO] [stderr]    |
[INFO] [stderr] 73 |         Message::Hello {id} => {
[INFO] [stderr]    |                         ^^ help: try ignoring the field: `id: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `r1`
[INFO] [stderr]  --> test/advance_unsafe/test_unsafe_raw_pointer.rs:4:9
[INFO] [stderr]   |
[INFO] [stderr] 4 |     let r1 = &num as *const i32;
[INFO] [stderr]   |         ^^ help: if this is intentional, prefix it with an underscore: `_r1`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `r2`
[INFO] [stderr]  --> test/advance_unsafe/test_unsafe_raw_pointer.rs:5:9
[INFO] [stderr]   |
[INFO] [stderr] 5 |     let r2 = &mut num as *mut i32;
[INFO] [stderr]   |         ^^ help: if this is intentional, prefix it with an underscore: `_r2`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `r`
[INFO] [stderr]   --> test/advance_unsafe/test_unsafe_raw_pointer.rs:11:9
[INFO] [stderr]    |
[INFO] [stderr] 11 |     let r = address as *const i32;
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]   --> test/basic/test_box_deref_trait.rs:40:10
[INFO] [stderr]    |
[INFO] [stderr] 40 |     Cons(i32, Rc<List>),
[INFO] [stderr]    |     ---- ^^^  ^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     fields in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stderr]    |
[INFO] [stderr] 40 -     Cons(i32, Rc<List>),
[INFO] [stderr] 40 +     Cons((), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: method `send` is never used
[INFO] [stderr]   --> test/basic/test_ref_cell_mock.rs:35:8
[INFO] [stderr]    |
[INFO] [stderr] 12 | impl<'a, T> LimitTrakcer<'a, T> where T: Messenger {
[INFO] [stderr]    | -------------------------------------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 35 |     fn send(&self, msg: &str) {
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]  --> test/basic/test_ref_ref_cell_mul_mut_owner.rs:3:10
[INFO] [stderr]   |
[INFO] [stderr] 3 |     Cons(Rc<RefCell<i32>>, Rc<List>),
[INFO] [stderr]   |     ---- ^^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stderr]   |     |
[INFO] [stderr]   |     fields in this variant
[INFO] [stderr]   |
[INFO] [stderr]   = note: `List` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stderr]   |
[INFO] [stderr] 3 -     Cons(Rc<RefCell<i32>>, Rc<List>),
[INFO] [stderr] 3 +     Cons((), ()),
[INFO] [stderr]   |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]  --> test/basic/test_memory_leak.rs:8:10
[INFO] [stderr]   |
[INFO] [stderr] 8 |     Cons(i32, RefCell<Rc<List>>),
[INFO] [stderr]   |     ---- ^^^
[INFO] [stderr]   |     |
[INFO] [stderr]   |     field in this variant
[INFO] [stderr]   |
[INFO] [stderr]   = note: `List` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]   |
[INFO] [stderr] 8 -     Cons(i32, RefCell<Rc<List>>),
[INFO] [stderr] 8 +     Cons((), RefCell<Rc<List>>),
[INFO] [stderr]   |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `value` and `children` are never read
[INFO] [stderr]  --> test/basic/test_ref_weak.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | struct Node {
[INFO] [stderr]   |        ---- fields in this struct
[INFO] [stderr] 7 |     value: i32,
[INFO] [stderr]   |     ^^^^^
[INFO] [stderr] 8 |     parent: RefCell<Weak<Node>>,
[INFO] [stderr] 9 |     children: RefCell<Vec<Rc<Node>>>,
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `Node` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `bubble_sort_from_end` is never used
[INFO] [stderr]   --> test/sort/bubble_sort.rs:28:4
[INFO] [stderr]    |
[INFO] [stderr] 28 | fn bubble_sort_from_end(arr: &Vec<i32>) -> Vec<i32> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `sort_process` is never used
[INFO] [stderr]   --> test/sort/merge_sort.rs:17:4
[INFO] [stderr]    |
[INFO] [stderr] 17 | fn sort_process(arr: &[i32], l: i32, r: i32) {
[INFO] [stderr]    |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `heap_sort` is never used
[INFO] [stderr]  --> test/sort/heap_sort.rs:7:4
[INFO] [stderr]   |
[INFO] [stderr] 7 | fn heap_sort(arr: Vec<i32>) -> Vec<i32> {
[INFO] [stderr]   |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AveragedCollection` is never constructed
[INFO] [stderr]  --> test/oop/test_oop_collection.rs:2:12
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub struct AveragedCollection {
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `add`, `remove`, `average`, and `update_average` are never used
[INFO] [stderr]   --> test/oop/test_oop_collection.rs:8:12
[INFO] [stderr]    |
[INFO] [stderr]  7 | impl AveragedCollection {
[INFO] [stderr]    | ----------------------- methods in this implementation
[INFO] [stderr]  8 |     pub fn add(&mut self, value: i32){
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 13 |     pub fn remove(&mut self) -> Option<i32> {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 24 |     pub fn average(&self) -> f64 {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 28 |     fn update_average(&mut self) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `x` and `y` are never read
[INFO] [stderr]   --> test/oop/test_trait_morphism.rs:30:9
[INFO] [stderr]    |
[INFO] [stderr] 29 | pub struct Point  {
[INFO] [stderr]    |            ----- fields in this struct
[INFO] [stderr] 30 |     pub x: i32,
[INFO] [stderr]    |         ^
[INFO] [stderr] 31 |     pub y: i32,
[INFO] [stderr]    |         ^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `center` and `radius` are never read
[INFO] [stderr]   --> test/oop/test_trait_morphism.rs:35:5
[INFO] [stderr]    |
[INFO] [stderr] 34 | pub struct Circle {
[INFO] [stderr]    |            ------ fields in this struct
[INFO] [stderr] 35 |     center: Point,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 36 |     radius: i32,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `lt`, `width`, and `height` are never read
[INFO] [stderr]   --> test/oop/test_trait_morphism.rs:46:5
[INFO] [stderr]    |
[INFO] [stderr] 45 | pub struct Rectangle {
[INFO] [stderr]    |            --------- fields in this struct
[INFO] [stderr] 46 |     lt: Point,
[INFO] [stderr]    |     ^^
[INFO] [stderr] 47 |     width: i32,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 48 |     height: i32,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Circle` is never constructed
[INFO] [stderr]  --> test/advance_unsafe/test_access_modify_global_variable.rs:9:8
[INFO] [stderr]   |
[INFO] [stderr] 9 | struct Circle<T> {
[INFO] [stderr]   |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> test/basic/test_ref_cell_mock.rs:14:27
[INFO] [stderr]    |
[INFO] [stderr] 14 |     pub fn new(messenger: &T, max: usize) -> LimitTrakcer<T> {
[INFO] [stderr]    |                           ^^                 ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                           |
[INFO] [stderr]    |                           the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 14 |     pub fn new(messenger: &T, max: usize) -> LimitTrakcer<'_, T> {
[INFO] [stderr]    |                                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: variable `outerIndex` should have a snake case name
[INFO] [stderr]   --> test/sort/bubble_sort.rs:15:9
[INFO] [stderr]    |
[INFO] [stderr] 15 |     for outerIndex in 0..length-1 {
[INFO] [stderr]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `outer_index`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `innerIndex` should have a snake case name
[INFO] [stderr]   --> test/sort/bubble_sort.rs:16:13
[INFO] [stderr]    |
[INFO] [stderr] 16 |         for innerIndex in outerIndex..length - 1 {
[INFO] [stderr]    |             ^^^^^^^^^^ help: convert the identifier to snake case: `inner_index`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `leftValue` should have a snake case name
[INFO] [stderr]   --> test/sort/bubble_sort.rs:17:17
[INFO] [stderr]    |
[INFO] [stderr] 17 |             let leftValue = target[innerIndex];
[INFO] [stderr]    |                 ^^^^^^^^^ help: convert the identifier to snake case: `left_value`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `rightValue` should have a snake case name
[INFO] [stderr]   --> test/sort/bubble_sort.rs:18:17
[INFO] [stderr]    |
[INFO] [stderr] 18 |             let rightValue = target[innerIndex + 1];
[INFO] [stderr]    |                 ^^^^^^^^^^ help: convert the identifier to snake case: `right_value`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `leftValue` should have a snake case name
[INFO] [stderr]   --> test/sort/insertion_sort.rs:17:17
[INFO] [stderr]    |
[INFO] [stderr] 17 |             let leftValue = target[j - 1];
[INFO] [stderr]    |                 ^^^^^^^^^ help: convert the identifier to snake case: `left_value`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `currentValue` should have a snake case name
[INFO] [stderr]   --> test/sort/insertion_sort.rs:18:17
[INFO] [stderr]    |
[INFO] [stderr] 18 |             let currentValue = target[j];
[INFO] [stderr]    |                 ^^^^^^^^^^^^ help: convert the identifier to snake case: `current_value`
[INFO] [stderr] 
[INFO] [stderr] warning: for loop over a `Result`. This is more readably written as an `if let` statement
[INFO] [stderr]  --> test/concurrent/test_message_passing.rs:9:14
[INFO] [stderr]   |
[INFO] [stderr] 9 |     for i in rx.recv() {
[INFO] [stderr]   |              ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stderr] help: to check pattern in a loop use `while let`
[INFO] [stderr]   |
[INFO] [stderr] 9 -     for i in rx.recv() {
[INFO] [stderr] 9 +     while let Ok(i) = rx.recv() {
[INFO] [stderr]   |
[INFO] [stderr] help: consider using `if let` to clear intent
[INFO] [stderr]   |
[INFO] [stderr] 9 -     for i in rx.recv() {
[INFO] [stderr] 9 +     if let Ok(i) = rx.recv() {
[INFO] [stderr]   |
[INFO] [stderr] 
[INFO] [stderr] warning: `algorithm` (test "test") generated 41 warnings (run `cargo fix --test "test" -p algorithm` to apply 20 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/algorithm-de6622c969484436)
[INFO] [stderr]      Running test/mod.rs (/opt/rustwide/target/debug/deps/test-e23f501293b84702)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 41 tests
[INFO] [stdout] test advance_unsafe::test_extern_method_call::test_extern_method_call ... ok
[INFO] [stdout] test advance_unsafe::test_unsafe_raw_pointer::test_access_raw_pointer_in_unsafe ... ok
[INFO] [stdout] test advance_unsafe::test_access_modify_global_variable::test_access_modify_global_variable ... ok
[INFO] [stdout] test advance_unsafe::test_unsafe_raw_pointer::test_unsafe_raw_pointer ... ok
[INFO] [stdout] test basic::test_box_deref_trait::test_box_deref_trait ... ok
[INFO] [stdout] test basic::test_box_deref_trait::test_drop_trait ... ok
[INFO] [stdout] test basic::test_closure_borrow::closure_borrow ... ok
[INFO] [stdout] test basic::test_ref_cell_mock::tests::it_sends_an_over_75_percent_warning_message ... ok
[INFO] [stderr] 
[INFO] [stderr] thread 'basic::test_memory_leak::test_memory_leak_retain_cycle' (39) has overflowed its stack
[INFO] [stderr] fatal runtime error: stack overflow, aborting
[INFO] [stderr] error: test failed, to rerun pass `--test test`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/deps/test-e23f501293b84702` (signal: 6, SIGABRT: process abort signal)
[INFO] running `Command { std: "docker" "inspect" "470ae99590235e7a0827aadc8a1a29e5b7ebb0672cd3c47bc9d16607162cc957", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "470ae99590235e7a0827aadc8a1a29e5b7ebb0672cd3c47bc9d16607162cc957", kill_on_drop: false }`
[INFO] [stdout] 470ae99590235e7a0827aadc8a1a29e5b7ebb0672cd3c47bc9d16607162cc957
