[INFO] cloning repository https://github.com/Kilerd/leetcode-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Kilerd/leetcode-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKilerd%2Fleetcode-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKilerd%2Fleetcode-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 187ad50d630af17e7fa02bc075d8f94e67710f15
[INFO] testing Kilerd/leetcode-rust against beta-2021-08-01 for beta-1.55-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKilerd%2Fleetcode-rust" "/workspace/builds/worker-57/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-57/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Kilerd/leetcode-rust on toolchain beta-2021-08-01
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Kilerd/leetcode-rust
[INFO] finished tweaking git repo https://github.com/Kilerd/leetcode-rust
[INFO] tweaked toml for git repo https://github.com/Kilerd/leetcode-rust written to /workspace/builds/worker-57/source/Cargo.toml
[INFO] crate git repo https://github.com/Kilerd/leetcode-rust already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "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-57/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-57/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 90534222b67907a3f74497c6ad38c45027c04e623471876819e77f277b79b4fa
[INFO] running `Command { std: "docker" "start" "-a" "90534222b67907a3f74497c6ad38c45027c04e623471876819e77f277b79b4fa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "90534222b67907a3f74497c6ad38c45027c04e623471876819e77f277b79b4fa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "90534222b67907a3f74497c6ad38c45027c04e623471876819e77f277b79b4fa", kill_on_drop: false }`
[INFO] [stdout] 90534222b67907a3f74497c6ad38c45027c04e623471876819e77f277b79b4fa
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-57/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-57/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=warn" "-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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e3d4305773e3e3d76f570d99670a5715af3de1b49f391fe0bad4089e4d307e81
[INFO] running `Command { std: "docker" "start" "-a" "e3d4305773e3e3d76f570d99670a5715af3de1b49f391fe0bad4089e4d307e81", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling leetcode v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::cmp::max`
[INFO] [stdout]   --> src/maximum_depth_of_binary_tree.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use std::cmp::max;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/apply_discount_every_n_orders.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ShlAssign`, `Shl`, `Shr`
[INFO] [stdout]  --> src/convert_a_number_to_hexadecimal.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::{Shl, ShlAssign, Shr};
[INFO] [stdout]   |                ^^^  ^^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hint::unreachable_unchecked`
[INFO] [stdout]  --> src/convert_a_number_to_hexadecimal.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::hint::unreachable_unchecked;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/container_with_most_water.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |         /// two pointer solution
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 | 
[INFO] [stdout] 24 |         let mut start = 0usize;
[INFO] [stdout]    |         ----------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/integer_to_roman.rs:15:21
[INFO] [stdout]    |
[INFO] [stdout] 15 |                 1000...std::i32::MAX => ("M", 1000),
[INFO] [stdout]    |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/integer_to_roman.rs:16:20
[INFO] [stdout]    |
[INFO] [stdout] 16 |                 900...1000 => ("CM", 900),
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/integer_to_roman.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 500...900 => ("D", 500),
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/integer_to_roman.rs:18:20
[INFO] [stdout]    |
[INFO] [stdout] 18 |                 400...500 => ("CD", 400),
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/integer_to_roman.rs:19:20
[INFO] [stdout]    |
[INFO] [stdout] 19 |                 100...400 => ("C", 100),
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/integer_to_roman.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 |                 90...100 => ("XC", 90),
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/integer_to_roman.rs:21:19
[INFO] [stdout]    |
[INFO] [stdout] 21 |                 50...90 => ("L", 50),
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/integer_to_roman.rs:22:19
[INFO] [stdout]    |
[INFO] [stdout] 22 |                 40...50 => ("XL", 40),
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/integer_to_roman.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 |                 10...40 => ("X", 10),
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/integer_to_roman.rs:25:18
[INFO] [stdout]    |
[INFO] [stdout] 25 |                 5...9 => ("V", 5),
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/integer_to_roman.rs:27:18
[INFO] [stdout]    |
[INFO] [stdout] 27 |                 1...4 => ("I", 1),
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nim_game.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 |             1...3 => true,
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::i32`
[INFO] [stdout]   --> src/reverse_integer.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 |         use std::i32;
[INFO] [stdout]    |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::min`
[INFO] [stdout]   --> src/three_sum_closest.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 |         use std::cmp::min;
[INFO] [stdout]    |             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]   --> src/integer_to_roman.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 15 |                 1000...std::i32::MAX => ("M", 1000),
[INFO] [stdout]    |                 -------------------- this range overlaps on `1000_i32`...
[INFO] [stdout] 16 |                 900...1000 => ("CM", 900),
[INFO] [stdout]    |                 ^^^^^^^^^^ ... with this range
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(overlapping_range_endpoints)]` on by default
[INFO] [stdout]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]   --> src/integer_to_roman.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 16 |                 900...1000 => ("CM", 900),
[INFO] [stdout]    |                 ---------- this range overlaps on `900_i32`...
[INFO] [stdout] 17 |                 500...900 => ("D", 500),
[INFO] [stdout]    |                 ^^^^^^^^^ ... with this range
[INFO] [stdout]    |
[INFO] [stdout]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]   --> src/integer_to_roman.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 500...900 => ("D", 500),
[INFO] [stdout]    |                 --------- this range overlaps on `500_i32`...
[INFO] [stdout] 18 |                 400...500 => ("CD", 400),
[INFO] [stdout]    |                 ^^^^^^^^^ ... with this range
[INFO] [stdout]    |
[INFO] [stdout]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]   --> src/integer_to_roman.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 18 |                 400...500 => ("CD", 400),
[INFO] [stdout]    |                 --------- this range overlaps on `400_i32`...
[INFO] [stdout] 19 |                 100...400 => ("C", 100),
[INFO] [stdout]    |                 ^^^^^^^^^ ... with this range
[INFO] [stdout]    |
[INFO] [stdout]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]   --> src/integer_to_roman.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 19 |                 100...400 => ("C", 100),
[INFO] [stdout]    |                 --------- this range overlaps on `100_i32`...
[INFO] [stdout] 20 |                 90...100 => ("XC", 90),
[INFO] [stdout]    |                 ^^^^^^^^ ... with this range
[INFO] [stdout]    |
[INFO] [stdout]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]   --> src/integer_to_roman.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 20 |                 90...100 => ("XC", 90),
[INFO] [stdout]    |                 -------- this range overlaps on `90_i32`...
[INFO] [stdout] 21 |                 50...90 => ("L", 50),
[INFO] [stdout]    |                 ^^^^^^^ ... with this range
[INFO] [stdout]    |
[INFO] [stdout]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]   --> src/integer_to_roman.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 21 |                 50...90 => ("L", 50),
[INFO] [stdout]    |                 ------- this range overlaps on `50_i32`...
[INFO] [stdout] 22 |                 40...50 => ("XL", 40),
[INFO] [stdout]    |                 ^^^^^^^ ... with this range
[INFO] [stdout]    |
[INFO] [stdout]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]   --> src/integer_to_roman.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 22 |                 40...50 => ("XL", 40),
[INFO] [stdout]    |                 ------- this range overlaps on `40_i32`...
[INFO] [stdout] 23 |                 10...40 => ("X", 10),
[INFO] [stdout]    |                 ^^^^^^^ ... with this range
[INFO] [stdout]    |
[INFO] [stdout]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/convert_a_number_to_hexadecimal.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |         for i in 0..8 {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot borrow `map` as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> src/three_sum.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |             let value = map.get(&x).unwrap_or(&0);
[INFO] [stdout]    |                         --- immutable borrow occurs here
[INFO] [stdout] 18 |             map.insert(x, *value + 1);
[INFO] [stdout]    |             ^^^           ------ immutable borrow later used here
[INFO] [stdout]    |             |
[INFO] [stdout]    |             mutable borrow occurs here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default
[INFO] [stdout]    = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stdout]    = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/combination_sum.rs:16:25
[INFO] [stdout]    |
[INFO] [stdout] 16 |                     let mut vec1 = Solution::combination_sum(candidates.clone(), target - *x);
[INFO] [stdout]    |                         ----^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]   --> src/binary_tree_level_order_traversal.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct Solution;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/binary_tree_level_order_traversal.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn new(val: i32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `level_order`
[INFO] [stdout]   --> src/binary_tree_level_order_traversal.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn level_order(root: Option<Rc<RefCell<TreeNode>>>) -> Vec<Vec<i32>> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]   --> src/maximum_depth_of_binary_tree.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct Solution;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/maximum_depth_of_binary_tree.rs:43:10
[INFO] [stdout]    |
[INFO] [stdout] 43 |   pub fn new(val: i32) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `max_depth`
[INFO] [stdout]   --> src/maximum_depth_of_binary_tree.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn max_depth(root: Option<Rc<RefCell<TreeNode>>>) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]   --> src/invert_binary_tree.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct Solution;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/invert_binary_tree.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn new(val: i32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `invert_tree`
[INFO] [stdout]   --> src/invert_binary_tree.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn invert_tree(root: Option<Rc<RefCell<TreeNode>>>) -> Option<Rc<RefCell<TreeNode>>> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]   --> src/same_tree.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | struct Solution;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/same_tree.rs:61:10
[INFO] [stdout]    |
[INFO] [stdout] 61 |   pub fn new(val: i32) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `is_same_tree`
[INFO] [stdout]   --> src/same_tree.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn is_same_tree(p: Option<Rc<RefCell<TreeNode>>>, q: Option<Rc<RefCell<TreeNode>>>) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Cashier`
[INFO] [stdout]   --> src/apply_discount_every_n_orders.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | struct Cashier {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/apply_discount_every_n_orders.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn new(n: i32, discount: i32, products: Vec<i32>, prices: Vec<i32>) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_bill`
[INFO] [stdout]    --> src/apply_discount_every_n_orders.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn get_bill(&mut self, product: Vec<i32>, amount: Vec<i32>) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]   --> src/convert_a_number_to_hexadecimal.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | struct Solution;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `to_hex`
[INFO] [stdout]   --> src/convert_a_number_to_hexadecimal.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn to_hex(num: i32) -> String {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]   --> src/permutations.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct Solution;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `permute`
[INFO] [stdout]   --> src/permutations.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn permute(nums: Vec<i32>) -> Vec<Vec<i32>> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/add_two_number.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `add_two_numbers`
[INFO] [stdout]   --> src/add_two_number.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn add_two_numbers(l1: Option<Box<ListNode>>, l2: Option<Box<ListNode>>) -> Option<Box<ListNode>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/array_partition_i.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `array_pair_sum`
[INFO] [stdout]  --> src/array_partition_i.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn array_pair_sum(nums: Vec<i32>) -> i32 {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/big_countries.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `main`
[INFO] [stdout]   --> src/big_countries.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn main() {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/container_with_most_water.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `max_area`
[INFO] [stdout]   --> src/container_with_most_water.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn max_area(height: Vec<i32>) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/di_string_match.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `di_string_match`
[INFO] [stdout]   --> src/di_string_match.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn di_string_match(s: String) -> Vec<i32> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/divide_two_integers.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `divide`
[INFO] [stdout]  --> src/divide_two_integers.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn divide(dividend: i32, divisor: i32) -> i32 {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/flipping_an_image.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `flip_and_invert_image`
[INFO] [stdout]  --> src/flipping_an_image.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn flip_and_invert_image(a: Vec<Vec<i32>>) -> Vec<Vec<i32>> {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/generate_parentheses.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `generate_parenthesis`
[INFO] [stdout]  --> src/generate_parentheses.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn generate_parenthesis(n: i32) -> Vec<String> {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/hamming_distance.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `hamming_distance`
[INFO] [stdout]   --> src/hamming_distance.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn hamming_distance(x: i32, y: i32) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/implement_strstr.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `str_str`
[INFO] [stdout]   --> src/implement_strstr.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn str_str(haystack: String, needle: String) -> i32 {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/integer_to_roman.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `int_to_roman`
[INFO] [stdout]   --> src/integer_to_roman.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn int_to_roman(num: i32) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/jewels_and_stones.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Solution();
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `num_jewels_in_stones`
[INFO] [stdout]  --> src/jewels_and_stones.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn num_jewels_in_stones(j: String, s: String) -> i32 {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/letter_combinations_of_a_phone_number.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `letter_combinations`
[INFO] [stdout]   --> src/letter_combinations_of_a_phone_number.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn letter_combinations(digits: String) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]  --> src/list.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn new(val: i32) -> Self {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `build_from_vec`
[INFO] [stdout]   --> src/list.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn build_from_vec(vec: Vec<i32>)-> Option<Box<ListNode>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/longest_substring_without_repeating_characters.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `length_of_longest_substring`
[INFO] [stdout]   --> src/longest_substring_without_repeating_characters.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn length_of_longest_substring(s: String) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/merge_two_binary_trees.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new(val: i32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]   --> src/merge_two_binary_trees.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | struct Solution;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `merge_trees`
[INFO] [stdout]   --> src/merge_two_binary_trees.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn merge_trees(
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/nim_game.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Solution();
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `can_win_nim`
[INFO] [stdout]  --> src/nim_game.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn can_win_nim(n: i32) -> bool {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `RecentCounter`
[INFO] [stdout]  --> src/number_of_recent_calls.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct RecentCounter {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/number_of_recent_calls.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `ping`
[INFO] [stdout]   --> src/number_of_recent_calls.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn ping(&mut self, t: i32) -> i32 {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/palindrome_number.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `is_palindrome`
[INFO] [stdout]   --> src/palindrome_number.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn is_palindrome(x: i32) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/peak_index_in_a_mountain_array.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `peak_index_in_mountain_array`
[INFO] [stdout]   --> src/peak_index_in_a_mountain_array.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn peak_index_in_mountain_array(a: Vec<i32>) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/remove_duplicates_from_sorted_array.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `remove_duplicates`
[INFO] [stdout]   --> src/remove_duplicates_from_sorted_array.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn remove_duplicates(nums: &mut Vec<i32>) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/remove_element.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `remove_element`
[INFO] [stdout]   --> src/remove_element.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn remove_element(nums: &mut Vec<i32>, val: i32) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/reverse_integer.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `reverse`
[INFO] [stdout]   --> src/reverse_integer.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn reverse(x: i32) -> i32 {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/robot_return_to_origin.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `judge_circle`
[INFO] [stdout]  --> src/robot_return_to_origin.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn judge_circle(moves: String) -> bool {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/search_in_rotated_sorted_array.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `rotated_index`
[INFO] [stdout]  --> src/search_in_rotated_sorted_array.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn rotated_index(nums: &Vec<i32>, start: usize, end: usize) -> usize {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `search`
[INFO] [stdout]   --> src/search_in_rotated_sorted_array.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn search(nums: Vec<i32>, target: i32) -> i32 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/self_dividing_numbers.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `self_dividing_numbers`
[INFO] [stdout]   --> src/self_dividing_numbers.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn self_dividing_numbers(left: i32, right: i32) -> Vec<i32> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/sort_array_by_parity.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `self_dividing_numbers`
[INFO] [stdout]   --> src/sort_array_by_parity.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn self_dividing_numbers(left: i32, right: i32) -> Vec<i32> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/sort_array_by_parity_ii.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `sort_array_by_parity_ii`
[INFO] [stdout]   --> src/sort_array_by_parity_ii.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn sort_array_by_parity_ii(a: Vec<i32>) -> Vec<i32> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/sort_colors.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `sort_colors`
[INFO] [stdout]   --> src/sort_colors.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn sort_colors(nums: &mut Vec<i32>) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/string_to_integer_atoi.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `my_atoi`
[INFO] [stdout]   --> src/string_to_integer_atoi.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn my_atoi(str_: String) -> i32 {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/sudoku_solver.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `solve_sudoku`
[INFO] [stdout]  --> src/sudoku_solver.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn solve_sudoku(board: &mut Vec<Vec<char>>) {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `invalid`
[INFO] [stdout]   --> src/sudoku_solver.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn invalid(board: &Vec<Vec<char>>, x: usize, y: usize) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/three_sum.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `three_sum`
[INFO] [stdout]   --> src/three_sum.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn three_sum(nums: Vec<i32>) -> Vec<Vec<i32>> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/three_sum_closest.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `three_sum_closest`
[INFO] [stdout]   --> src/three_sum_closest.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn three_sum_closest(nums: Vec<i32>, target: i32) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/to_lower_case.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Solution();
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `to_lower_case`
[INFO] [stdout]   --> src/to_lower_case.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn to_lower_case(str: String) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/two_sum.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `two_sum`
[INFO] [stdout]   --> src/two_sum.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn two_sum(nums: Vec<i32>, target: i32) -> Vec<i32> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/unique_email_addresses.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Solution();
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `num_unique_emails`
[INFO] [stdout]   --> src/unique_email_addresses.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn num_unique_emails(emails: Vec<String>) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/unique_morse_code_words.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Solution();
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `unique_morse_representations`
[INFO] [stdout]   --> src/unique_morse_code_words.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn unique_morse_representations(words: Vec<String>) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/valid_parentheses.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `is_valid`
[INFO] [stdout]   --> src/valid_parentheses.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn is_valid(s: String) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/valid_sudoku.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `is_valid_sudoku`
[INFO] [stdout]  --> src/valid_sudoku.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn is_valid_sudoku(board: Vec<Vec<char>>) -> bool {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/zigzag_conversion.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `convert`
[INFO] [stdout]   --> src/zigzag_conversion.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn convert(s: String, num_rows: i32) -> String {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/combination_sum.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `combination_sum`
[INFO] [stdout]   --> src/combination_sum.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn combination_sum(candidates: Vec<i32>, target: i32) -> Vec<Vec<i32>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/sort_colors.rs:19:28
[INFO] [stdout]    |
[INFO] [stdout] 19 |             let value = if 0 <= i && i < counts[0] {
[INFO] [stdout]    |                            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 136 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 6.33s
[INFO] running `Command { std: "docker" "inspect" "e3d4305773e3e3d76f570d99670a5715af3de1b49f391fe0bad4089e4d307e81", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e3d4305773e3e3d76f570d99670a5715af3de1b49f391fe0bad4089e4d307e81", kill_on_drop: false }`
[INFO] [stdout] e3d4305773e3e3d76f570d99670a5715af3de1b49f391fe0bad4089e4d307e81
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-57/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-57/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=warn" "-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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 468cabc752cbae6e99e04dc72d0a0c209a49f4a0602cc6f9eded5438f57c11f5
[INFO] running `Command { std: "docker" "start" "-a" "468cabc752cbae6e99e04dc72d0a0c209a49f4a0602cc6f9eded5438f57c11f5", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling leetcode v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::cmp::max`
[INFO] [stdout]   --> src/maximum_depth_of_binary_tree.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use std::cmp::max;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/apply_discount_every_n_orders.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ShlAssign`, `Shl`, `Shr`
[INFO] [stdout]  --> src/convert_a_number_to_hexadecimal.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::{Shl, ShlAssign, Shr};
[INFO] [stdout]   |                ^^^  ^^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hint::unreachable_unchecked`
[INFO] [stdout]  --> src/convert_a_number_to_hexadecimal.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::hint::unreachable_unchecked;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/container_with_most_water.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |         /// two pointer solution
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 | 
[INFO] [stdout] 24 |         let mut start = 0usize;
[INFO] [stdout]    |         ----------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/integer_to_roman.rs:15:21
[INFO] [stdout]    |
[INFO] [stdout] 15 |                 1000...std::i32::MAX => ("M", 1000),
[INFO] [stdout]    |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/integer_to_roman.rs:16:20
[INFO] [stdout]    |
[INFO] [stdout] 16 |                 900...1000 => ("CM", 900),
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/integer_to_roman.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 500...900 => ("D", 500),
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/integer_to_roman.rs:18:20
[INFO] [stdout]    |
[INFO] [stdout] 18 |                 400...500 => ("CD", 400),
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/integer_to_roman.rs:19:20
[INFO] [stdout]    |
[INFO] [stdout] 19 |                 100...400 => ("C", 100),
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/integer_to_roman.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 |                 90...100 => ("XC", 90),
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/integer_to_roman.rs:21:19
[INFO] [stdout]    |
[INFO] [stdout] 21 |                 50...90 => ("L", 50),
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/integer_to_roman.rs:22:19
[INFO] [stdout]    |
[INFO] [stdout] 22 |                 40...50 => ("XL", 40),
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/integer_to_roman.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 |                 10...40 => ("X", 10),
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/integer_to_roman.rs:25:18
[INFO] [stdout]    |
[INFO] [stdout] 25 |                 5...9 => ("V", 5),
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/integer_to_roman.rs:27:18
[INFO] [stdout]    |
[INFO] [stdout] 27 |                 1...4 => ("I", 1),
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nim_game.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 |             1...3 => true,
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::i32`
[INFO] [stdout]   --> src/reverse_integer.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 |         use std::i32;
[INFO] [stdout]    |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::min`
[INFO] [stdout]   --> src/three_sum_closest.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 |         use std::cmp::min;
[INFO] [stdout]    |             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]   --> src/integer_to_roman.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 15 |                 1000...std::i32::MAX => ("M", 1000),
[INFO] [stdout]    |                 -------------------- this range overlaps on `1000_i32`...
[INFO] [stdout] 16 |                 900...1000 => ("CM", 900),
[INFO] [stdout]    |                 ^^^^^^^^^^ ... with this range
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(overlapping_range_endpoints)]` on by default
[INFO] [stdout]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]   --> src/integer_to_roman.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 16 |                 900...1000 => ("CM", 900),
[INFO] [stdout]    |                 ---------- this range overlaps on `900_i32`...
[INFO] [stdout] 17 |                 500...900 => ("D", 500),
[INFO] [stdout]    |                 ^^^^^^^^^ ... with this range
[INFO] [stdout]    |
[INFO] [stdout]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]   --> src/integer_to_roman.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 500...900 => ("D", 500),
[INFO] [stdout]    |                 --------- this range overlaps on `500_i32`...
[INFO] [stdout] 18 |                 400...500 => ("CD", 400),
[INFO] [stdout]    |                 ^^^^^^^^^ ... with this range
[INFO] [stdout]    |
[INFO] [stdout]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]   --> src/integer_to_roman.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 18 |                 400...500 => ("CD", 400),
[INFO] [stdout]    |                 --------- this range overlaps on `400_i32`...
[INFO] [stdout] 19 |                 100...400 => ("C", 100),
[INFO] [stdout]    |                 ^^^^^^^^^ ... with this range
[INFO] [stdout]    |
[INFO] [stdout]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]   --> src/integer_to_roman.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 19 |                 100...400 => ("C", 100),
[INFO] [stdout]    |                 --------- this range overlaps on `100_i32`...
[INFO] [stdout] 20 |                 90...100 => ("XC", 90),
[INFO] [stdout]    |                 ^^^^^^^^ ... with this range
[INFO] [stdout]    |
[INFO] [stdout]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]   --> src/integer_to_roman.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 20 |                 90...100 => ("XC", 90),
[INFO] [stdout]    |                 -------- this range overlaps on `90_i32`...
[INFO] [stdout] 21 |                 50...90 => ("L", 50),
[INFO] [stdout]    |                 ^^^^^^^ ... with this range
[INFO] [stdout]    |
[INFO] [stdout]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]   --> src/integer_to_roman.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 21 |                 50...90 => ("L", 50),
[INFO] [stdout]    |                 ------- this range overlaps on `50_i32`...
[INFO] [stdout] 22 |                 40...50 => ("XL", 40),
[INFO] [stdout]    |                 ^^^^^^^ ... with this range
[INFO] [stdout]    |
[INFO] [stdout]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]   --> src/integer_to_roman.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 22 |                 40...50 => ("XL", 40),
[INFO] [stdout]    |                 ------- this range overlaps on `40_i32`...
[INFO] [stdout] 23 |                 10...40 => ("X", 10),
[INFO] [stdout]    |                 ^^^^^^^ ... with this range
[INFO] [stdout]    |
[INFO] [stdout]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/convert_a_number_to_hexadecimal.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |         for i in 0..8 {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sudoku_solver.rs:106:13
[INFO] [stdout]     |
[INFO] [stdout] 106 |         let mut expected_solution = vec![
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sudoku_solver.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |         let mut expected_solution = vec![
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot borrow `map` as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> src/three_sum.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |             let value = map.get(&x).unwrap_or(&0);
[INFO] [stdout]    |                         --- immutable borrow occurs here
[INFO] [stdout] 18 |             map.insert(x, *value + 1);
[INFO] [stdout]    |             ^^^           ------ immutable borrow later used here
[INFO] [stdout]    |             |
[INFO] [stdout]    |             mutable borrow occurs here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default
[INFO] [stdout]    = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stdout]    = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/combination_sum.rs:16:25
[INFO] [stdout]    |
[INFO] [stdout] 16 |                     let mut vec1 = Solution::combination_sum(candidates.clone(), target - *x);
[INFO] [stdout]    |                         ----^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]   --> src/invert_binary_tree.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct Solution;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/invert_binary_tree.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn new(val: i32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `invert_tree`
[INFO] [stdout]   --> src/invert_binary_tree.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn invert_tree(root: Option<Rc<RefCell<TreeNode>>>) -> Option<Rc<RefCell<TreeNode>>> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]  --> src/big_countries.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Solution;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `main`
[INFO] [stdout]   --> src/big_countries.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn main() {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]  --> src/list.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn new(val: i32) -> Self {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/merge_two_binary_trees.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new(val: i32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Solution`
[INFO] [stdout]   --> src/merge_two_binary_trees.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | struct Solution;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `merge_trees`
[INFO] [stdout]   --> src/merge_two_binary_trees.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn merge_trees(
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `RecentCounter`
[INFO] [stdout]  --> src/number_of_recent_calls.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct RecentCounter {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/number_of_recent_calls.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `ping`
[INFO] [stdout]   --> src/number_of_recent_calls.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn ping(&mut self, t: i32) -> i32 {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/sort_colors.rs:19:28
[INFO] [stdout]    |
[INFO] [stdout] 19 |             let value = if 0 <= i && i < counts[0] {
[INFO] [stdout]    |                            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 45 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 10.92s
[INFO] running `Command { std: "docker" "inspect" "468cabc752cbae6e99e04dc72d0a0c209a49f4a0602cc6f9eded5438f57c11f5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "468cabc752cbae6e99e04dc72d0a0c209a49f4a0602cc6f9eded5438f57c11f5", kill_on_drop: false }`
[INFO] [stdout] 468cabc752cbae6e99e04dc72d0a0c209a49f4a0602cc6f9eded5438f57c11f5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-57/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-57/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=warn" "-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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 9209308de13cadfad7edb135cd6049072ae1d445e911f8480215a4a3fb9213ec
[INFO] running `Command { std: "docker" "start" "-a" "9209308de13cadfad7edb135cd6049072ae1d445e911f8480215a4a3fb9213ec", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::cmp::max`
[INFO] [stderr]   --> src/maximum_depth_of_binary_tree.rs:31:5
[INFO] [stderr]    |
[INFO] [stderr] 31 | use std::cmp::max;
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/apply_discount_every_n_orders.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ShlAssign`, `Shl`, `Shr`
[INFO] [stderr]  --> src/convert_a_number_to_hexadecimal.rs:1:16
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::ops::{Shl, ShlAssign, Shr};
[INFO] [stderr]   |                ^^^  ^^^^^^^^^  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::hint::unreachable_unchecked`
[INFO] [stderr]  --> src/convert_a_number_to_hexadecimal.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::hint::unreachable_unchecked;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/container_with_most_water.rs:22:9
[INFO] [stderr]    |
[INFO] [stderr] 22 |         /// two pointer solution
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 23 | 
[INFO] [stderr] 24 |         let mut start = 0usize;
[INFO] [stderr]    |         ----------------------- rustdoc does not generate documentation for statements
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stderr]    = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/integer_to_roman.rs:15:21
[INFO] [stderr]    |
[INFO] [stderr] 15 |                 1000...std::i32::MAX => ("M", 1000),
[INFO] [stderr]    |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/integer_to_roman.rs:16:20
[INFO] [stderr]    |
[INFO] [stderr] 16 |                 900...1000 => ("CM", 900),
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/integer_to_roman.rs:17:20
[INFO] [stderr]    |
[INFO] [stderr] 17 |                 500...900 => ("D", 500),
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/integer_to_roman.rs:18:20
[INFO] [stderr]    |
[INFO] [stderr] 18 |                 400...500 => ("CD", 400),
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/integer_to_roman.rs:19:20
[INFO] [stderr]    |
[INFO] [stderr] 19 |                 100...400 => ("C", 100),
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/integer_to_roman.rs:20:19
[INFO] [stderr]    |
[INFO] [stderr] 20 |                 90...100 => ("XC", 90),
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/integer_to_roman.rs:21:19
[INFO] [stderr]    |
[INFO] [stderr] 21 |                 50...90 => ("L", 50),
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/integer_to_roman.rs:22:19
[INFO] [stderr]    |
[INFO] [stderr] 22 |                 40...50 => ("XL", 40),
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/integer_to_roman.rs:23:19
[INFO] [stderr]    |
[INFO] [stderr] 23 |                 10...40 => ("X", 10),
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/integer_to_roman.rs:25:18
[INFO] [stderr]    |
[INFO] [stderr] 25 |                 5...9 => ("V", 5),
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/integer_to_roman.rs:27:18
[INFO] [stderr]    |
[INFO] [stderr] 27 |                 1...4 => ("I", 1),
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/nim_game.rs:11:14
[INFO] [stderr]    |
[INFO] [stderr] 11 |             1...3 => true,
[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 issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::i32`
[INFO] [stderr]   --> src/reverse_integer.rs:11:13
[INFO] [stderr]    |
[INFO] [stderr] 11 |         use std::i32;
[INFO] [stderr]    |             ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cmp::min`
[INFO] [stderr]   --> src/three_sum_closest.rs:13:13
[INFO] [stderr]    |
[INFO] [stderr] 13 |         use std::cmp::min;
[INFO] [stderr]    |             ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple patterns overlap on their endpoints
[INFO] [stderr]   --> src/integer_to_roman.rs:16:17
[INFO] [stderr]    |
[INFO] [stderr] 15 |                 1000...std::i32::MAX => ("M", 1000),
[INFO] [stderr]    |                 -------------------- this range overlaps on `1000_i32`...
[INFO] [stderr] 16 |                 900...1000 => ("CM", 900),
[INFO] [stderr]    |                 ^^^^^^^^^^ ... with this range
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(overlapping_range_endpoints)]` on by default
[INFO] [stderr]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stderr] 
[INFO] [stderr] warning: multiple patterns overlap on their endpoints
[INFO] [stderr]   --> src/integer_to_roman.rs:17:17
[INFO] [stderr]    |
[INFO] [stderr] 16 |                 900...1000 => ("CM", 900),
[INFO] [stderr]    |                 ---------- this range overlaps on `900_i32`...
[INFO] [stderr] 17 |                 500...900 => ("D", 500),
[INFO] [stderr]    |                 ^^^^^^^^^ ... with this range
[INFO] [stderr]    |
[INFO] [stderr]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stderr] 
[INFO] [stderr] warning: multiple patterns overlap on their endpoints
[INFO] [stderr]   --> src/integer_to_roman.rs:18:17
[INFO] [stderr]    |
[INFO] [stderr] 17 |                 500...900 => ("D", 500),
[INFO] [stderr]    |                 --------- this range overlaps on `500_i32`...
[INFO] [stderr] 18 |                 400...500 => ("CD", 400),
[INFO] [stderr]    |                 ^^^^^^^^^ ... with this range
[INFO] [stderr]    |
[INFO] [stderr]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stderr] 
[INFO] [stderr] warning: multiple patterns overlap on their endpoints
[INFO] [stderr]   --> src/integer_to_roman.rs:19:17
[INFO] [stderr]    |
[INFO] [stderr] 18 |                 400...500 => ("CD", 400),
[INFO] [stderr]    |                 --------- this range overlaps on `400_i32`...
[INFO] [stderr] 19 |                 100...400 => ("C", 100),
[INFO] [stderr]    |                 ^^^^^^^^^ ... with this range
[INFO] [stderr]    |
[INFO] [stderr]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stderr] 
[INFO] [stderr] warning: multiple patterns overlap on their endpoints
[INFO] [stderr]   --> src/integer_to_roman.rs:20:17
[INFO] [stderr]    |
[INFO] [stderr] 19 |                 100...400 => ("C", 100),
[INFO] [stderr]    |                 --------- this range overlaps on `100_i32`...
[INFO] [stderr] 20 |                 90...100 => ("XC", 90),
[INFO] [stderr]    |                 ^^^^^^^^ ... with this range
[INFO] [stderr]    |
[INFO] [stderr]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stderr] 
[INFO] [stderr] warning: multiple patterns overlap on their endpoints
[INFO] [stderr]   --> src/integer_to_roman.rs:21:17
[INFO] [stderr]    |
[INFO] [stderr] 20 |                 90...100 => ("XC", 90),
[INFO] [stderr]    |                 -------- this range overlaps on `90_i32`...
[INFO] [stderr] 21 |                 50...90 => ("L", 50),
[INFO] [stderr]    |                 ^^^^^^^ ... with this range
[INFO] [stderr]    |
[INFO] [stderr]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stderr] 
[INFO] [stderr] warning: multiple patterns overlap on their endpoints
[INFO] [stderr]   --> src/integer_to_roman.rs:22:17
[INFO] [stderr]    |
[INFO] [stderr] 21 |                 50...90 => ("L", 50),
[INFO] [stderr]    |                 ------- this range overlaps on `50_i32`...
[INFO] [stderr] 22 |                 40...50 => ("XL", 40),
[INFO] [stderr]    |                 ^^^^^^^ ... with this range
[INFO] [stderr]    |
[INFO] [stderr]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stderr] 
[INFO] [stderr] warning: multiple patterns overlap on their endpoints
[INFO] [stderr]   --> src/integer_to_roman.rs:23:17
[INFO] [stderr]    |
[INFO] [stderr] 22 |                 40...50 => ("XL", 40),
[INFO] [stderr]    |                 ------- this range overlaps on `40_i32`...
[INFO] [stderr] 23 |                 10...40 => ("X", 10),
[INFO] [stderr]    |                 ^^^^^^^ ... with this range
[INFO] [stderr]    |
[INFO] [stderr]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/convert_a_number_to_hexadecimal.rs:61:13
[INFO] [stderr]    |
[INFO] [stderr] 61 |         for i in 0..8 {
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/sudoku_solver.rs:106:13
[INFO] [stderr]     |
[INFO] [stderr] 106 |         let mut expected_solution = vec![
[INFO] [stderr]     |             ----^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/sudoku_solver.rs:122:13
[INFO] [stderr]     |
[INFO] [stderr] 122 |         let mut expected_solution = vec![
[INFO] [stderr]     |             ----^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: cannot borrow `map` as mutable because it is also borrowed as immutable
[INFO] [stderr]   --> src/three_sum.rs:18:13
[INFO] [stderr]    |
[INFO] [stderr] 17 |             let value = map.get(&x).unwrap_or(&0);
[INFO] [stderr]    |                         --- immutable borrow occurs here
[INFO] [stderr] 18 |             map.insert(x, *value + 1);
[INFO] [stderr]    |             ^^^           ------ immutable borrow later used here
[INFO] [stderr]    |             |
[INFO] [stderr]    |             mutable borrow occurs here
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default
[INFO] [stderr]    = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stderr]    = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/combination_sum.rs:16:25
[INFO] [stderr]    |
[INFO] [stderr] 16 |                     let mut vec1 = Solution::combination_sum(candidates.clone(), target - *x);
[INFO] [stderr]    |                         ----^^^^
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `Solution`
[INFO] [stderr]   --> src/invert_binary_tree.rs:37:8
[INFO] [stderr]    |
[INFO] [stderr] 37 | struct Solution;
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new`
[INFO] [stderr]   --> src/invert_binary_tree.rs:48:12
[INFO] [stderr]    |
[INFO] [stderr] 48 |     pub fn new(val: i32) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `invert_tree`
[INFO] [stderr]   --> src/invert_binary_tree.rs:63:12
[INFO] [stderr]    |
[INFO] [stderr] 63 |     pub fn invert_tree(root: Option<Rc<RefCell<TreeNode>>>) -> Option<Rc<RefCell<TreeNode>>> {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `Solution`
[INFO] [stderr]  --> src/big_countries.rs:7:8
[INFO] [stderr]   |
[INFO] [stderr] 7 | struct Solution;
[INFO] [stderr]   |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `main`
[INFO] [stderr]   --> src/big_countries.rs:10:4
[INFO] [stderr]    |
[INFO] [stderr] 10 | fn main() {
[INFO] [stderr]    |    ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new`
[INFO] [stderr]  --> src/list.rs:9:8
[INFO] [stderr]   |
[INFO] [stderr] 9 |     fn new(val: i32) -> Self {
[INFO] [stderr]   |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new`
[INFO] [stderr]   --> src/merge_two_binary_trees.rs:17:12
[INFO] [stderr]    |
[INFO] [stderr] 17 |     pub fn new(val: i32) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `Solution`
[INFO] [stderr]   --> src/merge_two_binary_trees.rs:29:8
[INFO] [stderr]    |
[INFO] [stderr] 29 | struct Solution;
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `merge_trees`
[INFO] [stderr]   --> src/merge_two_binary_trees.rs:32:12
[INFO] [stderr]    |
[INFO] [stderr] 32 |     pub fn merge_trees(
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `RecentCounter`
[INFO] [stderr]  --> src/number_of_recent_calls.rs:6:8
[INFO] [stderr]   |
[INFO] [stderr] 6 | struct RecentCounter {
[INFO] [stderr]   |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new`
[INFO] [stderr]   --> src/number_of_recent_calls.rs:12:8
[INFO] [stderr]    |
[INFO] [stderr] 12 |     fn new() -> Self {
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `ping`
[INFO] [stderr]   --> src/number_of_recent_calls.rs:16:8
[INFO] [stderr]    |
[INFO] [stderr] 16 |     fn ping(&mut self, t: i32) -> i32 {
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]   --> src/sort_colors.rs:19:28
[INFO] [stderr]    |
[INFO] [stderr] 19 |             let value = if 0 <= i && i < counts[0] {
[INFO] [stderr]    |                            ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `leetcode` (bin "leetcode" test) generated 45 warnings
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.02s
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/leetcode-0b234a7a5de86be2)
[INFO] [stdout] 
[INFO] [stdout] running 113 tests
[INFO] [stdout] test add_two_number::test::should_return_01 ... ok
[INFO] [stdout] test add_two_number::test::should_return_708 ... ok
[INFO] [stdout] test array_partition_i::test1 ... ok
[INFO] [stdout] test apply_discount_every_n_orders::test::test1 ... ok
[INFO] [stdout] test binary_tree_level_order_traversal::test::test2 ... ok
[INFO] [stdout] test combination_sum::all_test ... ok
[INFO] [stdout] test container_with_most_water::test::test ... ok
[INFO] [stdout] test convert_a_number_to_hexadecimal::test::test1 ... ok
[INFO] [stdout] test convert_a_number_to_hexadecimal::test::test2 ... ok
[INFO] [stdout] test di_string_match::ddi ... ok
[INFO] [stdout] test di_string_match::idid ... ok
[INFO] [stdout] test convert_a_number_to_hexadecimal::test::test3 ... ok
[INFO] [stdout] test di_string_match::iii ... ok
[INFO] [stdout] test divide_two_integers::test::test1 ... ok
[INFO] [stdout] test divide_two_integers::test::test2 ... ok
[INFO] [stdout] test divide_two_integers::test::test3 ... ok
[INFO] [stdout] test divide_two_integers::test::test4 ... ok
[INFO] [stdout] test divide_two_integers::test::test5 ... ok
[INFO] [stdout] test divide_two_integers::test::test6 ... ok
[INFO] [stdout] test divide_two_integers::test::test7 ... ok
[INFO] [stdout] test divide_two_integers::test::test8 ... ok
[INFO] [stdout] test divide_two_integers::test::test9 ... ok
[INFO] [stdout] test flipping_an_image::test1 ... ok
[INFO] [stdout] test flipping_an_image::test2 ... ok
[INFO] [stdout] test generate_parentheses::test::test ... ok
[INFO] [stdout] test generate_parentheses::test::test_n_equals_0 ... ok
[INFO] [stdout] test hamming_distance::test ... ok
[INFO] [stdout] test implement_strstr::test::test1 ... ok
[INFO] [stdout] test implement_strstr::test::test2 ... ok
[INFO] [stdout] test implement_strstr::test::test3 ... ok
[INFO] [stdout] test implement_strstr::test::test4 ... ok
[INFO] [stdout] test implement_strstr::test::test5 ... ok
[INFO] [stdout] test implement_strstr::test::test6 ... ok
[INFO] [stdout] test implement_strstr::test::test7 ... ok
[INFO] [stdout] test integer_to_roman::test::should_return_iii_given_3 ... ok
[INFO] [stdout] test integer_to_roman::test::should_return_iv_given_4 ... ok
[INFO] [stdout] test integer_to_roman::test::should_return_ix_given_9 ... ok
[INFO] [stdout] test integer_to_roman::test::should_return_lviii_given_58 ... ok
[INFO] [stdout] test integer_to_roman::test::should_return_mcmxciv_given_1994 ... ok
[INFO] [stdout] test jewels_and_stones::all_test ... ok
[INFO] [stdout] test letter_combinations_of_a_phone_number::test::should_work_with_one_letter ... ok
[INFO] [stdout] test letter_combinations_of_a_phone_number::test::should_work_with_two_letter ... ok
[INFO] [stdout] test letter_combinations_of_a_phone_number::test::should_work_with_two_letter_with_invalid_letter ... ok
[INFO] [stdout] test longest_substring_without_repeating_characters::test::should_return_0_given_empty ... ok
[INFO] [stdout] test longest_substring_without_repeating_characters::test::should_return_0_given_empty_string ... ok
[INFO] [stdout] test longest_substring_without_repeating_characters::test::should_return_1_given_bbbbb ... ok
[INFO] [stdout] test longest_substring_without_repeating_characters::test::should_return_3_given_abcabcbb ... ok
[INFO] [stdout] test longest_substring_without_repeating_characters::test::should_return_3_given_pwwkew ... ok
[INFO] [stdout] test maximum_depth_of_binary_tree::test::test ... ok
[INFO] [stdout] test maximum_depth_of_binary_tree::test::test2 ... ok
[INFO] [stdout] test nim_game::test ... ok
[INFO] [stdout] test palindrome_number::test::should_return_false_given_10 ... ok
[INFO] [stdout] test palindrome_number::test::should_return_false_given_negative_number ... ok
[INFO] [stdout] test palindrome_number::test::should_return_true_given_121 ... ok
[INFO] [stdout] test palindrome_number::test::should_return_true_given_zero ... ok
[INFO] [stdout] test peak_index_in_a_mountain_array::test1 ... ok
[INFO] [stdout] test peak_index_in_a_mountain_array::test2 ... ok
[INFO] [stdout] test permutations::test::test ... ok
[INFO] [stdout] test remove_duplicates_from_sorted_array::test::should_return_5_given_0_0_1_1_1_2_2_3_3_4 ... ok
[INFO] [stdout] test remove_element::test::test1 ... ok
[INFO] [stdout] test remove_duplicates_from_sorted_array::test::should_return_2_given_1_1_2 ... ok
[INFO] [stdout] test remove_element::test::test2 ... ok
[INFO] [stdout] test reverse_integer::test::should_return_0_given_1534236469 ... ok
[INFO] [stdout] test reverse_integer::test::should_return_21_given_120 ... ok
[INFO] [stdout] test reverse_integer::test::should_return_321_given_123 ... ok
[INFO] [stdout] test reverse_integer::test::should_return_negative_321_given_negative_123 ... ok
[INFO] [stdout] test robot_return_to_origin::test ... ok
[INFO] [stdout] test binary_tree_level_order_traversal::test::test ... FAILED
[INFO] [stdout] test same_tree::test::test ... ok
[INFO] [stdout] test same_tree::test::test2 ... ok
[INFO] [stdout] test same_tree::test::test3 ... ok
[INFO] [stdout] test search_in_rotated_sorted_array::test::test ... ok
[INFO] [stdout] test search_in_rotated_sorted_array::test::test2 ... ok
[INFO] [stdout] test search_in_rotated_sorted_array::test::test3 ... ok
[INFO] [stdout] test search_in_rotated_sorted_array::test::test4 ... ok
[INFO] [stdout] test search_in_rotated_sorted_array::test::test5 ... ok
[INFO] [stdout] test search_in_rotated_sorted_array::test::test6 ... ok
[INFO] [stdout] test search_in_rotated_sorted_array::test::test_rotated ... ok
[INFO] [stdout] test self_dividing_numbers::test1 ... ok
[INFO] [stdout] test sort_array_by_parity::test1 ... ok
[INFO] [stdout] test sort_array_by_parity_ii::test1 ... ok
[INFO] [stdout] test sort_colors::test::should_sort_given_non_sorted_vec ... ok
[INFO] [stdout] test string_to_integer_atoi::test::should_check_overflow ... ok
[INFO] [stdout] test string_to_integer_atoi::test::should_get_zero_with_internal_space ... ok
[INFO] [stdout] test string_to_integer_atoi::test::should_get_zero_with_prefix_words ... ok
[INFO] [stdout] test string_to_integer_atoi::test::should_work_with_minus_mark ... ok
[INFO] [stdout] test string_to_integer_atoi::test::should_work_with_normal_number ... ok
[INFO] [stdout] test string_to_integer_atoi::test::should_work_with_add_mark ... ok
[INFO] [stdout] test string_to_integer_atoi::test::should_work_with_postfix_external_words ... ok
[INFO] [stdout] test string_to_integer_atoi::test::should_work_with_prefix_space ... ok
[INFO] [stdout] test string_to_integer_atoi::test::should_work_with_both_add_minus_mark ... ok
[INFO] [stdout] test string_to_integer_atoi::test::test ... ok
[INFO] [stdout] test three_sum::test::test ... ok
[INFO] [stdout] test three_sum_closest::test::test ... ok
[INFO] [stdout] test three_sum::test::test2 ... ok
[INFO] [stdout] test to_lower_case::test ... ok
[INFO] [stdout] test two_sum::test1 ... ok
[INFO] [stdout] test two_sum::test2 ... ok
[INFO] [stdout] test two_sum::test3 ... ok
[INFO] [stdout] test unique_morse_code_words::test1 ... ok
[INFO] [stdout] test valid_parentheses::test::test1 ... ok
[INFO] [stdout] test valid_parentheses::test::test2 ... ok
[INFO] [stdout] test valid_parentheses::test::test4 ... ok
[INFO] [stdout] test unique_email_addresses::test ... ok
[INFO] [stdout] test valid_parentheses::test::test3 ... ok
[INFO] [stdout] test valid_parentheses::test::test5 ... ok
[INFO] [stdout] test valid_sudoku::test::test ... ok
[INFO] [stdout] test valid_sudoku::test::test2 ... ok
[INFO] [stdout] test zigzag_conversion::test::should_it_works ... ok
[INFO] [stdout] test zigzag_conversion::test::should_it_works_too ... ok
[INFO] [stdout] test zigzag_conversion::test::show_return_itself_when_number_is_1 ... ok
[INFO] [stdout] test sudoku_solver::test::test_invalid_method ... ok
[INFO] [stdout] test sudoku_solver::test::test ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- binary_tree_level_order_traversal::test::test stdout ----
[INFO] [stdout] thread 'binary_tree_level_order_traversal::test::test' panicked at 'assertion failed: `(left == right)`
[INFO] [stdout]   left: `[[3], [9, 20], [15, 7]]`,
[INFO] [stdout]  right: `[[3], [20, 9], [15, 7]]`', src/binary_tree_level_order_traversal.rs:130:9
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55caa46fe790 - std::backtrace_rs::backtrace::libunwind::trace::hff4d1766e93f64f1
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5
[INFO] [stdout]    1:     0x55caa46fe790 - std::backtrace_rs::backtrace::trace_unsynchronized::h56bbc8eb78770bcb
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55caa46fe790 - std::sys_common::backtrace::_print_fmt::h5c8e75464faca780
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x55caa46fe790 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h48b88277def8b362
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/sys_common/backtrace.rs:46:22
[INFO] [stdout]    4:     0x55caa472149c - core::fmt::write::h3381b3176fe2b3d3
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/core/src/fmt/mod.rs:1115:17
[INFO] [stdout]    5:     0x55caa46fb6f5 - std::io::Write::write_fmt::h5f34a676f60246b5
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/io/mod.rs:1665:15
[INFO] [stdout]    6:     0x55caa470090b - std::sys_common::backtrace::_print::ha537687d6c17dd0d
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/sys_common/backtrace.rs:49:5
[INFO] [stdout]    7:     0x55caa470090b - std::sys_common::backtrace::print::h61376ae57d131d72
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/sys_common/backtrace.rs:36:9
[INFO] [stdout]    8:     0x55caa470090b - std::panicking::default_hook::{{closure}}::h0f7208c0b9644a54
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:208:50
[INFO] [stdout]    9:     0x55caa470041c - std::panicking::default_hook::hdac7fc06578c14ce
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:222:9
[INFO] [stdout]   10:     0x55caa4700fd4 - std::panicking::rust_panic_with_hook::h72b21c283da3d1ef
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:622:17
[INFO] [stdout]   11:     0x55caa4700ab7 - std::panicking::begin_panic_handler::{{closure}}::he5778f1729cff84a
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:519:13
[INFO] [stdout]   12:     0x55caa46fec6c - std::sys_common::backtrace::__rust_end_short_backtrace::h2d11ca8b453b4b1d
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/sys_common/backtrace.rs:141:18
[INFO] [stdout]   13:     0x55caa4700a19 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:515:5
[INFO] [stdout]   14:     0x55caa4643431 - core::panicking::panic_fmt::hf9de31d4acbce4db
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/core/src/panicking.rs:92:14
[INFO] [stdout]   15:     0x55caa471fd88 - core::panicking::assert_failed_inner::h62e8cb2847a6e7ec
[INFO] [stdout]   16:     0x55caa469045a - core::panicking::assert_failed::h3157773a890dfdef
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/core/src/panicking.rs:117:5
[INFO] [stdout]   17:     0x55caa466a69e - leetcode::binary_tree_level_order_traversal::test::test::h4b36fe1d8799ff5c
[INFO] [stdout]                                at /opt/rustwide/workdir/src/binary_tree_level_order_traversal.rs:130:9
[INFO] [stdout]   18:     0x55caa4669f0a - leetcode::binary_tree_level_order_traversal::test::test::{{closure}}::hb9ad98abd99fab3f
[INFO] [stdout]                                at /opt/rustwide/workdir/src/binary_tree_level_order_traversal.rs:109:5
[INFO] [stdout]   19:     0x55caa466e7ce - core::ops::function::FnOnce::call_once::h9ad61d739a683274
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/core/src/ops/function.rs:227:5
[INFO] [stdout]   20:     0x55caa46e3053 - core::ops::function::FnOnce::call_once::hbb52c4519d3137b0
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/core/src/ops/function.rs:227:5
[INFO] [stdout]   21:     0x55caa46e3053 - test::__rust_begin_short_backtrace::h86fe3a2a5a5121af
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/test/src/lib.rs:578:5
[INFO] [stdout]   22:     0x55caa46e1b08 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hfd956bc3d57399be
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/alloc/src/boxed.rs:1572:9
[INFO] [stdout]   23:     0x55caa46e1b08 - <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h40dc93e0ddb5938a
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panic.rs:347:9
[INFO] [stdout]   24:     0x55caa46e1b08 - std::panicking::try::do_call::h90d07750cb47c562
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:401:40
[INFO] [stdout]   25:     0x55caa46e1b08 - std::panicking::try::h063c84733ad2a629
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:365:19
[INFO] [stdout]   26:     0x55caa46e1b08 - std::panic::catch_unwind::h0c464836a84e7c08
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panic.rs:434:14
[INFO] [stdout]   27:     0x55caa46e1b08 - test::run_test_in_process::h5cb06ef620b157fc
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/test/src/lib.rs:601:18
[INFO] [stdout]   28:     0x55caa46e1b08 - test::run_test::run_test_inner::{{closure}}::h76f677f4b93f9828
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/test/src/lib.rs:493:39
[INFO] [stdout]   29:     0x55caa46b029d - test::run_test::run_test_inner::{{closure}}::h366d01fe04f4d67a
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/test/src/lib.rs:520:37
[INFO] [stdout]   30:     0x55caa46b029d - std::sys_common::backtrace::__rust_begin_short_backtrace::h7dfa0de4eb395af2
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/sys_common/backtrace.rs:125:18
[INFO] [stdout]   31:     0x55caa46b4a68 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::hf0a74bb58798037f
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/thread/mod.rs:476:17
[INFO] [stdout]   32:     0x55caa46b4a68 - <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb024e854818586ac
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panic.rs:347:9
[INFO] [stdout]   33:     0x55caa46b4a68 - std::panicking::try::do_call::hb2dd9f1d0d48e41d
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:401:40
[INFO] [stdout]   34:     0x55caa46b4a68 - std::panicking::try::h4717ae7bac8b2bf3
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panicking.rs:365:19
[INFO] [stdout]   35:     0x55caa46b4a68 - std::panic::catch_unwind::h0dc8a061326ce8d8
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/panic.rs:434:14
[INFO] [stdout]   36:     0x55caa46b4a68 - std::thread::Builder::spawn_unchecked::{{closure}}::haa369e2d6fd00aa1
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/thread/mod.rs:475:30
[INFO] [stdout]   37:     0x55caa46b4a68 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h36dcf3de8b056f17
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/core/src/ops/function.rs:227:5
[INFO] [stdout]   38:     0x55caa4705b47 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h65c29e4642be2358
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/alloc/src/boxed.rs:1572:9
[INFO] [stdout]   39:     0x55caa4705b47 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hd0f8f7fbbd9fffbf
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/alloc/src/boxed.rs:1572:9
[INFO] [stdout]   40:     0x55caa4705b47 - std::sys::unix::thread::Thread::new::thread_start::h2fd22fee3ca77b65
[INFO] [stdout]                                at /rustc/53fd98ca776cb875bc9e5514f56b52eb74f9e7a9/library/std/src/sys/unix/thread.rs:74:17
[INFO] [stdout]   41:     0x7fbf261b8609 - start_thread
[INFO] [stdout]   42:     0x7fbf25f8a293 - clone
[INFO] [stdout]   43:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     binary_tree_level_order_traversal::test::test
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 112 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.77s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass '--bin leetcode'
[INFO] running `Command { std: "docker" "inspect" "9209308de13cadfad7edb135cd6049072ae1d445e911f8480215a4a3fb9213ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9209308de13cadfad7edb135cd6049072ae1d445e911f8480215a4a3fb9213ec", kill_on_drop: false }`
[INFO] [stdout] 9209308de13cadfad7edb135cd6049072ae1d445e911f8480215a4a3fb9213ec
