[INFO] cloning repository https://github.com/DrackRamoray/leetcode-solutions-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/DrackRamoray/leetcode-solutions-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDrackRamoray%2Fleetcode-solutions-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDrackRamoray%2Fleetcode-solutions-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] fc39b352ece9544f81c20b1a8712864b920954ef
[INFO] checking DrackRamoray/leetcode-solutions-rust against master#507271bc119683008ec719ecee48814e8ac86c65 for pr-146440
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDrackRamoray%2Fleetcode-solutions-rust" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/DrackRamoray/leetcode-solutions-rust
[INFO] finished tweaking git repo https://github.com/DrackRamoray/leetcode-solutions-rust
[INFO] tweaked toml for git repo https://github.com/DrackRamoray/leetcode-solutions-rust written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/DrackRamoray/leetcode-solutions-rust on toolchain 507271bc119683008ec719ecee48814e8ac86c65
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/DrackRamoray/leetcode-solutions-rust already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "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-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f8bc1cc78e7e5a3b216c35d103b92ef56c3b198deaa8eca230c31bff2eee14ea
[INFO] running `Command { std: "docker" "start" "-a" "f8bc1cc78e7e5a3b216c35d103b92ef56c3b198deaa8eca230c31bff2eee14ea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f8bc1cc78e7e5a3b216c35d103b92ef56c3b198deaa8eca230c31bff2eee14ea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f8bc1cc78e7e5a3b216c35d103b92ef56c3b198deaa8eca230c31bff2eee14ea", kill_on_drop: false }`
[INFO] [stdout] f8bc1cc78e7e5a3b216c35d103b92ef56c3b198deaa8eca230c31bff2eee14ea
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 61efc54716db812db60d348f314bc8b71f308539f3abfc0edee35a796400a98f
[INFO] running `Command { std: "docker" "start" "-a" "61efc54716db812db60d348f314bc8b71f308539f3abfc0edee35a796400a98f", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.137
[INFO] [stderr]     Checking assist v0.1.0 (/opt/rustwide/workdir/assist)
[INFO] [stderr]     Checking easy v0.1.0 (/opt/rustwide/workdir/easy)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> easy/src/remove-duplicates-from-sorted-list/mod.rs:9:24
[INFO] [stdout]   |
[INFO] [stdout] 9 |         while let Some(mut node) = cur.take() {
[INFO] [stdout]   |                        ----^^^^
[INFO] [stdout]   |                        |
[INFO] [stdout]   |                        help: remove this `mut`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cache` is never read
[INFO] [stdout]  --> easy/src/two-sum-iii-data-structure-design/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct TwoSum {
[INFO] [stdout]   |            ------ field in this struct
[INFO] [stdout] 4 |     cache: HashMap<i32, i32>,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add`, and `find` are never used
[INFO] [stdout]   --> easy/src/two-sum-iii-data-structure-design/mod.rs:9:8
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl TwoSum {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout]  8 |
[INFO] [stdout]  9 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     fn add(&mut self, number: i32) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     fn find(&self, value: i32) -> bool {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `queue` is never read
[INFO] [stdout]  --> easy/src/implement-stack-using-queues/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct MyStack {
[INFO] [stdout]   |            ------- field in this struct
[INFO] [stdout] 5 |     queue: VecDeque<i32>,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `push`, `pop`, `top`, and `empty` are never used
[INFO] [stdout]   --> easy/src/implement-stack-using-queues/mod.rs:9:8
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl MyStack {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout]  9 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     fn push(&mut self, x: i32) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     fn pop(&mut self) -> i32 {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     fn top(&self) -> i32 {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     fn empty(&self) -> bool {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `s1` and `s2` are never read
[INFO] [stdout]  --> easy/src/implement-queue-using-stacks/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct MyQueue {
[INFO] [stdout]   |            ------- fields in this struct
[INFO] [stdout] 2 |     s1: Vec<i32>,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 3 |     s2: Vec<i32>
[INFO] [stdout]   |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `push`, `pop`, `peek`, and `empty` are never used
[INFO] [stdout]   --> easy/src/implement-queue-using-stacks/mod.rs:7:8
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl MyQueue {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout]  7 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     fn push(&mut self, x: i32) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     fn pop(&mut self) -> i32 {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn peek(&self) -> i32 {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     fn empty(&self) -> bool {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `List` is never constructed
[INFO] [stdout]  --> easy/src/palindrome-linked-list/mod.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | struct List {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `pop`, and `into_iter` are never used
[INFO] [stdout]   --> easy/src/palindrome-linked-list/mod.rs:8:8
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl List {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout]  8 |     fn new(head: Option<Box<ListNode>>) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     fn pop(&mut self) -> Option<i32> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn into_iter(self) -> IntoIter {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IntoIter` is never constructed
[INFO] [stdout]   --> easy/src/palindrome-linked-list/mod.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | struct IntoIter {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `is_palindrome` is never used
[INFO] [stdout]   --> easy/src/palindrome-linked-list/mod.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl Solution {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 41 |     fn is_palindrome(head: Option<Box<ListNode>>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `s` is never read
[INFO] [stdout]  --> easy/src/range-sum-query-immutable/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct NumArray {
[INFO] [stdout]   |            -------- field in this struct
[INFO] [stdout] 2 |     s: Vec<i32>
[INFO] [stdout]   |     ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `sum_range` are never used
[INFO] [stdout]   --> easy/src/range-sum-query-immutable/mod.rs:7:8
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl NumArray {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout]  6 |
[INFO] [stdout]  7 |     fn new(nums: Vec<i32>) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     fn sum_range(&self, left: i32, right: i32) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `size` and `data` are never read
[INFO] [stdout]  --> easy/src/moving-average-from-data-stream/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct MovingAverage {
[INFO] [stdout]   |            ------------- fields in this struct
[INFO] [stdout] 4 |     size: usize,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 5 |     data: VecDeque<i32>,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `next` are never used
[INFO] [stdout]   --> easy/src/moving-average-from-data-stream/mod.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl MovingAverage {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout]  9 |
[INFO] [stdout] 10 |     fn new(size: i32) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     fn next(&mut self, val: i32) -> f64 {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `logs` is never read
[INFO] [stdout]  --> easy/src/logger-rate-limiter/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Logger {
[INFO] [stdout]   |            ------ field in this struct
[INFO] [stdout] 4 |     logs: HashMap<String, i32>,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `should_print_message` are never used
[INFO] [stdout]   --> easy/src/logger-rate-limiter/mod.rs:9:8
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl Logger {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout]  8 |
[INFO] [stdout]  9 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     fn should_print_message(&mut self, timestamp: i32, message: String) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> easy/src/remove-duplicates-from-sorted-list/mod.rs:9:24
[INFO] [stdout]   |
[INFO] [stdout] 9 |         while let Some(mut node) = cur.take() {
[INFO] [stdout]   |                        ----^^^^
[INFO] [stdout]   |                        |
[INFO] [stdout]   |                        help: remove this `mut`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking getrandom v0.2.8
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking hard v0.1.0 (/opt/rustwide/workdir/hard)
[INFO] [stderr]     Checking medium v0.1.0 (/opt/rustwide/workdir/medium)
[INFO] [stdout] warning: associated functions `merge_k_lists` and `merge` are never used
[INFO] [stdout]   --> hard/src/merge-k-sorted-lists/mod.rs:6:8
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl Solution {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout]  6 |     fn merge_k_lists(lists: Vec<Option<Box<ListNode>>>) -> Option<Box<ListNode>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     fn merge(a: Option<Box<ListNode>>, b: Option<Box<ListNode>>) -> Option<Box<ListNode>> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `is_scramble` and `dfs` are never used
[INFO] [stdout]   --> hard/src/scramble-string/mod.rs:6:8
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl Solution {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout]  6 |     fn is_scramble(s1: String, s2: String) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     fn dfs(s1: &str, s2: &str, mp: &mut HashMap<(usize, usize, usize, usize), bool>, u: usize, v: usize, x: usize, y: usize) -> bool {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `find_words` and `dfs` are never used
[INFO] [stdout]   --> hard/src/word-search-ii/mod.rs:4:8
[INFO] [stdout]    |
[INFO] [stdout]  3 | impl Solution {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout]  4 |     fn find_words(mut board: Vec<Vec<char>>, words: Vec<String>) -> Vec<String> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     fn dfs(board: &mut Vec<Vec<char>>, ans: &mut Vec<String>, trie: &mut Box<Trie>, i: usize, j: usize) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Trie` is never constructed
[INFO] [stdout]   --> hard/src/word-search-ii/mod.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | struct Trie {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `insert` are never used
[INFO] [stdout]   --> hard/src/word-search-ii/mod.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | impl Trie {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 63 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     fn insert(&mut self, word: String) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `alien_order` is never used
[INFO] [stdout]  --> hard/src/alien-dictionary/mod.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | impl Solution {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 6 |     fn alien_order(words: Vec<String>) -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `min_queue` and `max_queue` are never read
[INFO] [stdout]  --> hard/src/find-median-from-data-stream/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct MedianFinder {
[INFO] [stdout]   |            ------------ fields in this struct
[INFO] [stdout] 5 |     min_queue: BinaryHeap<i32>,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 6 |     max_queue: BinaryHeap<Reverse<i32>>,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_num`, and `find_median` are never used
[INFO] [stdout]   --> hard/src/find-median-from-data-stream/mod.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl MedianFinder {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 10 |
[INFO] [stdout] 11 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     fn add_num(&mut self, num: i32) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     fn find_median(&self) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `serialize`, `pre_order`, `deserialize`, and `constructor` are never used
[INFO] [stdout]   --> hard/src/serialize-and-deserialize-binary-tree/mod.rs:9:8
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Codec {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout]  9 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     fn serialize(&self, root: Option<Rc<RefCell<TreeNode>>>) -> String {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     fn pre_order(&self, root: &Option<Rc<RefCell<TreeNode>>>) -> String {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn deserialize(&self, data: String) -> Option<Rc<RefCell<TreeNode>>> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     fn constructor(&self, iter: &mut SplitWhitespace) -> Option<Rc<RefCell<TreeNode>>> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `num_islands2` is never used
[INFO] [stdout]  --> hard/src/number-of-islands-ii/mod.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl Solution {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 4 |     fn num_islands2(m: i32, n: i32, positions: Vec<Vec<i32>>) -> Vec<i32> {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UnionFind` is never constructed
[INFO] [stdout]   --> hard/src/number-of-islands-ii/mod.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | struct UnionFind {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `find`, and `union` are never used
[INFO] [stdout]   --> hard/src/number-of-islands-ii/mod.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | impl UnionFind {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 67 |     fn new(n: usize) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     fn find(&mut self, i: usize) -> usize {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     fn union(&mut self, i: usize, j: usize) -> bool {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `m`, `matrix`, and `row_sum` are never read
[INFO] [stdout]  --> hard/src/range-sum-query-2d-mutable/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct NumMatrix {
[INFO] [stdout]   |            --------- fields in this struct
[INFO] [stdout] 2 |     m: usize,
[INFO] [stdout]   |     ^
[INFO] [stdout] 3 |     matrix: Vec<Vec<i32>>,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 4 |     row_sum: Vec<Vec<i32>>,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `update`, and `sum_region` are never used
[INFO] [stdout]   --> hard/src/range-sum-query-2d-mutable/mod.rs:9:8
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl NumMatrix {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout]  8 |
[INFO] [stdout]  9 |     fn new(matrix: Vec<Vec<i32>>) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     fn update(&mut self, row: i32, col: i32, val: i32) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     fn sum_region(&self, row1: i32, col1: i32, row2: i32, col2: i32) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `indices` is never read
[INFO] [stdout]  --> hard/src/insert-delete-getrandom-o1-duplicates-allowed/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct RandomizedCollection {
[INFO] [stdout]   |            -------------------- field in this struct
[INFO] [stdout] 5 |     nums: Vec<i32>,
[INFO] [stdout] 6 |     indices: HashMap<i32, HashSet<usize>>,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `insert`, and `remove` are never used
[INFO] [stdout]   --> hard/src/insert-delete-getrandom-o1-duplicates-allowed/mod.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl RandomizedCollection {
[INFO] [stdout]    | ------------------------- associated items in this implementation
[INFO] [stdout] 10 |
[INFO] [stdout] 11 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     fn insert(&mut self, val: i32) -> bool {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     fn remove(&mut self, val: i32) -> bool {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `min_abbreviation`, `dfs`, `check`, `abbr`, and `get_size` are never used
[INFO] [stdout]   --> hard/src/minimum-unique-word-abbreviation/mod.rs:4:8
[INFO] [stdout]    |
[INFO] [stdout]  3 | impl Solution {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout]  4 |     fn min_abbreviation(target: String, dictionary: Vec<String>) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     fn dfs(dictionary: &[Vec<char>], mask: &mut u32, ans: &mut u32, target: &[char], begin: usize) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     fn check(target: &[char], word: &[char], mask: u32, n: usize) -> bool {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     fn abbr(target: &[char], mask: u32) -> String {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     fn get_size(mask: u32, n: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `word_squares` and `dfs` are never used
[INFO] [stdout]   --> hard/src/word-squares/mod.rs:6:8
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl Solution {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout]  6 |     fn word_squares(words: Vec<String>) -> Vec<Vec<String>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     fn dfs<'a>(prefix: &HashMap<Vec<char>, Vec<&'a [char]>>, ans: &mut Vec<Vec<String>>, selected: &mut Vec<&'a [char]>, n: usize, m...
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `key`, `val`, `freq`, `prev`, and `next` are never read
[INFO] [stdout]   --> hard/src/lfu-cache/mod.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | struct ListNode {
[INFO] [stdout]    |        -------- fields in this struct
[INFO] [stdout]  6 |     key: i32,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]  7 |     val: i32,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]  8 |     freq: i32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]  9 |     prev: Option<Rc<RefCell<ListNode>>>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 10 |     next: Option<Rc<RefCell<ListNode>>>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> hard/src/lfu-cache/mod.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl ListNode {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 14 |     fn new(key: i32, val: i32) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `head` and `tail` are never read
[INFO] [stdout]   --> hard/src/lfu-cache/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | struct List {
[INFO] [stdout]    |        ---- fields in this struct
[INFO] [stdout] 27 |     head: Option<Rc<RefCell<ListNode>>>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 28 |     tail: Option<Rc<RefCell<ListNode>>>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `pop`, `push`, and `is_empty` are never used
[INFO] [stdout]   --> hard/src/lfu-cache/mod.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl List {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] 32 |     fn pop(&mut self) -> Option<Rc<RefCell<ListNode>>> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     fn push(&mut self, new_node: Option<Rc<RefCell<ListNode>>>) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     fn is_empty(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cap`, `used`, `least_freq`, `data`, and `freq` are never read
[INFO] [stdout]   --> hard/src/lfu-cache/mod.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct LFUCache {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 67 |     cap: i32,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 68 |     used: i32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 69 |     least_freq: i32,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 70 |     data: HashMap<i32, Rc<RefCell<ListNode>>>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 71 |     freq: HashMap<i32, List>
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get`, `put`, and `update` are never used
[INFO] [stdout]    --> hard/src/lfu-cache/mod.rs:76:8
[INFO] [stdout]     |
[INFO] [stdout]  74 | impl LFUCache {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout]  75 |
[INFO] [stdout]  76 |     fn new(capacity: i32) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |     fn get(&mut self, key: i32) -> i32 {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn put(&mut self, key: i32, value: i32) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     fn update(&mut self, node: Rc<RefCell<ListNode>>) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `combination_sum2` and `dfs` are never used
[INFO] [stdout]   --> medium/src/combination-sum-ii/mod.rs:4:8
[INFO] [stdout]    |
[INFO] [stdout]  3 | impl Solution {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout]  4 |     fn combination_sum2(mut candidates: Vec<i32>, target: i32) -> Vec<Vec<i32>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     fn dfs(candidates: &[i32], selected: &mut Vec<i32>, ans: &mut Vec<Vec<i32>>, target: i32, cur: usize, n: usize) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `key`, `val`, `prev`, and `next` are never read
[INFO] [stdout]  --> medium/src/lru-cache/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct ListNode {
[INFO] [stdout]   |        -------- fields in this struct
[INFO] [stdout] 6 |     key: i32,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 7 |     val: i32,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 8 |     prev: Option<Rc<RefCell<ListNode>>>,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 9 |     next: Option<Rc<RefCell<ListNode>>>,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> medium/src/lru-cache/mod.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl ListNode {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 13 |     fn new(key: i32, val: i32) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `head` and `tail` are never read
[INFO] [stdout]   --> medium/src/lru-cache/mod.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct List {
[INFO] [stdout]    |        ---- fields in this struct
[INFO] [stdout] 25 |     head: Option<Rc<RefCell<ListNode>>>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 26 |     tail: Option<Rc<RefCell<ListNode>>>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `push_back`, `pop_front`, and `unlink_node` are never used
[INFO] [stdout]   --> medium/src/lru-cache/mod.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl List {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 30 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     fn push_back(&mut self, node: Option<Rc<RefCell<ListNode>>>) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     fn pop_front(&mut self) -> Option<Rc<RefCell<ListNode>>> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     fn unlink_node(&mut self, node: Option<Rc<RefCell<ListNode>>>) -> Option<Rc<RefCell<ListNode>>> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cap`, `used`, `data`, and `list` are never read
[INFO] [stdout]   --> medium/src/lru-cache/mod.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub struct LRUCache {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 91 |     cap: usize,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 92 |     used: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 93 |     data: HashMap<i32, Rc<RefCell<ListNode>>>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 94 |     list: List,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get`, and `put` are never used
[INFO] [stdout]    --> medium/src/lru-cache/mod.rs:99:8
[INFO] [stdout]     |
[INFO] [stdout]  97 | impl LRUCache {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout]  98 |
[INFO] [stdout]  99 |     fn new(capacity: i32) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     fn get(&mut self, key: i32) -> i32 {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     fn put(&mut self, key: i32, value: i32) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `s` and `m` are never read
[INFO] [stdout]  --> medium/src/min-stack/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct MinStack {
[INFO] [stdout]   |            -------- fields in this struct
[INFO] [stdout] 2 |     s: Vec<i32>,
[INFO] [stdout]   |     ^
[INFO] [stdout] 3 |     m: Vec<i32>
[INFO] [stdout]   |     ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `push`, `pop`, `top`, and `get_min` are never used
[INFO] [stdout]   --> medium/src/min-stack/mod.rs:8:8
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl MinStack {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout]  7 |
[INFO] [stdout]  8 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     fn push(&mut self, val: i32) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     fn pop(&mut self) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn top(&self) -> i32 {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     fn get_min(&self) -> i32 {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `index` and `data` are never read
[INFO] [stdout]  --> medium/src/binary-search-tree-iterator/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct BSTIterator {
[INFO] [stdout]   |            ----------- fields in this struct
[INFO] [stdout] 6 |     index: usize,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 7 |     data: Vec<i32>,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `next`, and `has_next` are never used
[INFO] [stdout]   --> medium/src/binary-search-tree-iterator/mod.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl BSTIterator {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 11 |
[INFO] [stdout] 12 |     fn new(root: Option<Rc<RefCell<TreeNode>>>) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     fn next(&mut self) -> i32 {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     fn has_next(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `children` and `is_end` are never read
[INFO] [stdout]  --> medium/src/implement-trie-prefix-tree/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Trie {
[INFO] [stdout]   |            ---- fields in this struct
[INFO] [stdout] 3 |     children: [Option<Box<Trie>>;26],
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 4 |     is_end: bool,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `insert`, `search`, and `starts_with` are never used
[INFO] [stdout]   --> medium/src/implement-trie-prefix-tree/mod.rs:9:8
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl Trie {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout]  8 |
[INFO] [stdout]  9 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     fn insert(&mut self, word: String) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     fn search(&self, word: String) -> bool {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     fn starts_with(&self, prefix: String) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `children` and `is_end` are never read
[INFO] [stdout]  --> medium/src/design-add-and-search-words-data-structure/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | struct Trie {
[INFO] [stdout]   |        ---- fields in this struct
[INFO] [stdout] 3 |     children: [Option<Box<Trie>>;26],
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 4 |     is_end: bool,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `insert` are never used
[INFO] [stdout]   --> medium/src/design-add-and-search-words-data-structure/mod.rs:8:8
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl Trie {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout]  8 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     fn insert(&mut self, word: &str) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `trie` is never read
[INFO] [stdout]   --> medium/src/design-add-and-search-words-data-structure/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct WordDictionary {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 24 |     trie: Trie,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_word`, `search`, and `dfs` are never used
[INFO] [stdout]   --> medium/src/design-add-and-search-words-data-structure/mod.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl WordDictionary {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 28 |
[INFO] [stdout] 29 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     fn add_word(&mut self, word: String) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fn search(&self, word: String) -> bool {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     fn dfs(word: &[u8], node: &Trie, index: usize) -> bool {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `words` is never read
[INFO] [stdout]  --> medium/src/shortest-word-distance-ii/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct WordDistance {
[INFO] [stdout]   |            ------------ field in this struct
[INFO] [stdout] 2 |     words: Vec<String>,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `shortest` are never used
[INFO] [stdout]   --> medium/src/shortest-word-distance-ii/mod.rs:7:8
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl WordDistance {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout]  6 |
[INFO] [stdout]  7 |     fn new(words_dict: Vec<String>) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     fn shortest(&self, word1: String, word2: String) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pc` and `data` are never read
[INFO] [stdout]  --> medium/src/flatten-2d-vector/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Vector2D {
[INFO] [stdout]   |            -------- fields in this struct
[INFO] [stdout] 2 |     pc: usize,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 3 |     data: Vec<i32>,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `next`, and `has_next` are never used
[INFO] [stdout]   --> medium/src/flatten-2d-vector/mod.rs:8:8
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl Vector2D {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout]  7 |
[INFO] [stdout]  8 |     fn new(vec: Vec<Vec<i32>>) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     fn next(&mut self) -> i32 {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     fn has_next(&mut self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `encode`, and `decode` are never used
[INFO] [stdout]   --> medium/src/encode-and-decode-strings/mod.rs:6:8
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl Codec {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout]  6 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     fn encode(&self, strs: Vec<String>) -> String {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     fn decode(&self, s: String) -> Vec<String> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]  --> medium/src/zigzag-iterator/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct ZigzagIterator {
[INFO] [stdout]   |            -------------- field in this struct
[INFO] [stdout] 4 |     data: VecDeque<i32>
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `next`, and `has_next` are never used
[INFO] [stdout]   --> medium/src/zigzag-iterator/mod.rs:8:8
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl ZigzagIterator {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout]  8 |     fn new(v1: Vec<i32>, v2: Vec<i32>) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     fn next(&mut self) -> i32 {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     fn has_next(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]  --> medium/src/unique-word-abbreviation/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct ValidWordAbbr {
[INFO] [stdout]   |            ------------- field in this struct
[INFO] [stdout] 4 |     data: HashMap<String, HashSet<String>>,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `is_unique` are never used
[INFO] [stdout]   --> medium/src/unique-word-abbreviation/mod.rs:9:8
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl ValidWordAbbr {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout]  8 |
[INFO] [stdout]  9 |     fn new(dictionary: Vec<String>) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     fn is_unique(&self, word: String) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sum` is never read
[INFO] [stdout]  --> medium/src/range-sum-query-2d-immutable/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct NumMatrix {
[INFO] [stdout]   |            --------- field in this struct
[INFO] [stdout] 2 |     sum: Vec<Vec<i32>>,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `sum_region` are never used
[INFO] [stdout]   --> medium/src/range-sum-query-2d-immutable/mod.rs:7:8
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl NumMatrix {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout]  6 |
[INFO] [stdout]  7 |     fn new(matrix: Vec<Vec<i32>>) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     fn sum_region(&self, row1: i32, col1: i32, row2: i32, col2: i32) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bit_tree` is never read
[INFO] [stdout]  --> medium/src/range-sum-query-mutable/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct NumArray {
[INFO] [stdout]   |            -------- field in this struct
[INFO] [stdout] 2 |     bit_tree: BitTree,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `update`, and `sum_range` are never used
[INFO] [stdout]   --> medium/src/range-sum-query-mutable/mod.rs:6:8
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl NumArray {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout]  6 |     fn new(nums: Vec<i32>) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     fn update(&mut self, i: i32, val: i32) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     fn sum_range(&self, i: i32, j: i32) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tree`, `data`, and `n` are never read
[INFO] [stdout]   --> medium/src/range-sum-query-mutable/mod.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | struct BitTree {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 32 |     tree: Vec<i32>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 33 |     data: Vec<i32>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 34 |     n: usize,
[INFO] [stdout]    |     ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get`, `sum`, and `add` are never used
[INFO] [stdout]   --> medium/src/range-sum-query-mutable/mod.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl BitTree {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 38 |     fn new(n: usize) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     fn get(&self, i: usize) -> i32 {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     fn sum(&self, i: usize) -> i32 {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     fn add(&mut self, i: usize, v: i32) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `count_components` is never used
[INFO] [stdout]  --> medium/src/number-of-connected-components-in-an-undirected-graph/mod.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl Solution {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 4 |     fn count_components(n: i32, edges: Vec<Vec<i32>>) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UnionFind` is never constructed
[INFO] [stdout]   --> medium/src/number-of-connected-components-in-an-undirected-graph/mod.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct UnionFind {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `find`, and `union` are never used
[INFO] [stdout]   --> medium/src/number-of-connected-components-in-an-undirected-graph/mod.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl UnionFind {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 21 |     fn new(n: usize) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     fn find(&mut self, x: usize) -> usize {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     fn union(&mut self, x: usize, y: usize) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NestedIterator` is never constructed
[INFO] [stdout]  --> medium/src/flatten-nested-list-iterator/mod.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct NestedIterator {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `next`, `has_next`, and `flatten` are never used
[INFO] [stdout]   --> medium/src/flatten-nested-list-iterator/mod.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl NestedIterator {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 13 |
[INFO] [stdout] 14 |     fn new(nested_list: Vec<NestedInteger>) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     fn next(&mut self) -> i32 {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn has_next(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn flatten(nested_list: &Vec<NestedInteger>, data: &mut Vec<i32>) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `row_sum`, `col_sum`, `left_diag`, `right_diag`, and `n` are never read
[INFO] [stdout]  --> medium/src/design-tic-tac-toe/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct TicTacToe {
[INFO] [stdout]   |            --------- fields in this struct
[INFO] [stdout] 2 |     row_sum: [Vec<i32>;2],
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 3 |     col_sum: [Vec<i32>;2],
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 4 |     left_diag: [i32;2],
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 5 |     right_diag: [i32;2],
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 6 |     n: i32,
[INFO] [stdout]   |     ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `make_a_move` are never used
[INFO] [stdout]   --> medium/src/design-tic-tac-toe/mod.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl TicTacToe {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 10 |
[INFO] [stdout] 11 |     fn new(n: i32) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn make_a_move(&mut self, row: i32, col: i32, player: i32) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `snake`, `food`, `screen`, `height`, `width`, and `score` are never read
[INFO] [stdout]   --> medium/src/design-snake-game/mod.rs:5:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub struct SnakeGame {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout]  5 |     snake: VecDeque<(i32, i32)>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]  6 |     food: Vec<(i32, i32)>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]  7 |     screen: HashSet<(i32, i32)>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]  8 |     height: i32,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]  9 |     width: i32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 10 |     score: i32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `make_a_move` are never used
[INFO] [stdout]   --> medium/src/design-snake-game/mod.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl SnakeGame {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 14 |     fn new(width: i32, height: i32, food: Vec<Vec<i32>>) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn make_a_move(&mut self, direction: String) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `followers` and `twitters` are never read
[INFO] [stdout]  --> medium/src/design-twitter/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct User {
[INFO] [stdout]   |        ---- fields in this struct
[INFO] [stdout] 5 |     followers: HashSet<i32>,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 6 |     twitters: Vec<i32>
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> medium/src/design-twitter/mod.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl User {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 10 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     fn follow(&mut self, user_id: i32) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn unfollow(&mut self, user_id: i32) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     fn get_followers(&self) -> Vec<i32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     fn post_twitter(&mut self, tweet_id: i32) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     fn del_twitter(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     fn get_twitters(&self) -> Vec<i32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     fn get_twitter_size(&self) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `size`, `time`, `tweet_time`, and `users` are never read
[INFO] [stdout]   --> medium/src/design-twitter/mod.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Twitter {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 47 |     size: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 48 |     time: i32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 49 |     tweet_time: HashMap<i32, i32>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 50 |     users: HashMap<i32, User>
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_user`, `post_tweet`, `get_news_feed`, `follow`, and `unfollow` are never used
[INFO] [stdout]    --> medium/src/design-twitter/mod.rs:55:8
[INFO] [stdout]     |
[INFO] [stdout]  53 | impl Twitter {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout]  54 |
[INFO] [stdout]  55 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  64 |     fn add_user(&mut self, user_id: i32) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     fn post_tweet(&mut self, user_id: i32, tweet_id: i32) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     fn get_news_feed(&self, user_id: i32) -> Vec<i32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     fn follow(&mut self, follower_id: i32, followee_id: i32) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     fn unfollow(&mut self, follower_id: i32, followee_id: i32) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `hits` is never read
[INFO] [stdout]  --> medium/src/design-hit-counter/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct HitCounter {
[INFO] [stdout]   |            ---------- field in this struct
[INFO] [stdout] 4 |     hits: VecDeque<i32>,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `hit`, and `get_hits` are never used
[INFO] [stdout]   --> medium/src/design-hit-counter/mod.rs:9:8
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl HitCounter {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout]  8 |
[INFO] [stdout]  9 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     fn hit(&mut self, timestamp: i32) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     fn get_hits(&mut self, timestamp: i32) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `nums` is never read
[INFO] [stdout]  --> medium/src/design-phone-directory/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct PhoneDirectory {
[INFO] [stdout]   |            -------------- field in this struct
[INFO] [stdout] 4 |     nums: HashSet<i32>,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get`, `check`, and `release` are never used
[INFO] [stdout]   --> medium/src/design-phone-directory/mod.rs:9:8
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl PhoneDirectory {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout]  8 |
[INFO] [stdout]  9 |     fn new(max_numbers: i32) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     fn get(&mut self) -> i32 {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     fn check(&self, number: i32) -> bool {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     fn release(&mut self, number: i32) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `indices` is never read
[INFO] [stdout]  --> medium/src/insert-delete-getrandom-o1/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct RandomizedSet {
[INFO] [stdout]   |            ------------- field in this struct
[INFO] [stdout] 5 |     nums: Vec<i32>,
[INFO] [stdout] 6 |     indices: HashMap<i32, usize>,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `insert`, and `remove` are never used
[INFO] [stdout]   --> medium/src/insert-delete-getrandom-o1/mod.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl RandomizedSet {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 10 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     fn insert(&mut self, val: i32) -> bool {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     fn remove(&mut self, val: i32) -> bool {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `serialize`, `pre_order`, `deserialize`, and `constructor` are never used
[INFO] [stdout]   --> medium/src/serialize-and-deserialize-bst/mod.rs:9:8
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Codec {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout]  9 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     fn serialize(&self, root: Option<Rc<RefCell<TreeNode>>>) -> String {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     fn pre_order(&self, root: &Option<Rc<RefCell<TreeNode>>>) -> String {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn deserialize(&self, data: String) -> Option<Rc<RefCell<TreeNode>>> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     fn constructor(&self, iter: &mut SplitWhitespace) -> Option<Rc<RefCell<TreeNode>>> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `circular_array_loop` and `next` are never used
[INFO] [stdout]   --> medium/src/circular-array-loop/mod.rs:4:8
[INFO] [stdout]    |
[INFO] [stdout]  3 | impl Solution {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout]  4 |     fn circular_array_loop(mut nums: Vec<i32>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     fn next(nums: &[i32], i: usize) -> usize {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking leetcode-solutions-rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.73s
[INFO] running `Command { std: "docker" "inspect" "61efc54716db812db60d348f314bc8b71f308539f3abfc0edee35a796400a98f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "61efc54716db812db60d348f314bc8b71f308539f3abfc0edee35a796400a98f", kill_on_drop: false }`
[INFO] [stdout] 61efc54716db812db60d348f314bc8b71f308539f3abfc0edee35a796400a98f
