[INFO] cloning repository https://github.com/CharlieChai/baby_code_rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/CharlieChai/baby_code_rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCharlieChai%2Fbaby_code_rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCharlieChai%2Fbaby_code_rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] afb4109bbe64c9f6190f57b106224b527f465501
[INFO] checking CharlieChai/baby_code_rust against try#ed606620234c6b50f2414162c4bbabd5f4a925f3 for pr-147995
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCharlieChai%2Fbaby_code_rust" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/CharlieChai/baby_code_rust
[INFO] finished tweaking git repo https://github.com/CharlieChai/baby_code_rust
[INFO] tweaked toml for git repo https://github.com/CharlieChai/baby_code_rust written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/CharlieChai/baby_code_rust on toolchain ed606620234c6b50f2414162c4bbabd5f4a925f3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ed606620234c6b50f2414162c4bbabd5f4a925f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/CharlieChai/baby_code_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" "+ed606620234c6b50f2414162c4bbabd5f4a925f3" "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-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ed606620234c6b50f2414162c4bbabd5f4a925f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 90416d25b62e1c38ac8ac31cd2acfff5784a001dbdda86da3b0552378df8e5da
[INFO] running `Command { std: "docker" "start" "-a" "90416d25b62e1c38ac8ac31cd2acfff5784a001dbdda86da3b0552378df8e5da", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "90416d25b62e1c38ac8ac31cd2acfff5784a001dbdda86da3b0552378df8e5da", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "90416d25b62e1c38ac8ac31cd2acfff5784a001dbdda86da3b0552378df8e5da", kill_on_drop: false }`
[INFO] [stdout] 90416d25b62e1c38ac8ac31cd2acfff5784a001dbdda86da3b0552378df8e5da
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ed606620234c6b50f2414162c4bbabd5f4a925f3" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cc36d5a55260371c0630ed85f97889ee23b22b525e3accd4878a5ab0d36fc123
[INFO] running `Command { std: "docker" "start" "-a" "cc36d5a55260371c0630ed85f97889ee23b22b525e3accd4878a5ab0d36fc123", kill_on_drop: false }`
[INFO] [stderr]    Compiling cpal v0.15.3
[INFO] [stderr]    Compiling sdl2 v0.37.0
[INFO] [stderr]     Checking dasp_sample v0.11.0
[INFO] [stderr]     Checking c_vec v2.0.0
[INFO] [stderr]    Compiling cc v1.2.7
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking ringbuf v0.3.3
[INFO] [stderr]    Compiling syn v2.0.90
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking alsa v0.9.1
[INFO] [stderr]    Compiling cmake v0.1.52
[INFO] [stderr]    Compiling sdl2-sys v0.37.0
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking every_day_algorithm v0.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::ptr::null_mut`
[INFO] [stdout]  --> src/data_structure/list.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ptr::null_mut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sdl2::rect::Rect`
[INFO] [stdout]  --> src/data_structure/mandelbrot_set.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use sdl2::rect::Rect;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/leetcode/lc_882.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/leetcode/lc_996.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::leetcode`
[INFO] [stdout]  --> src/leetcode/leetcode.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::leetcode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::max`
[INFO] [stdout]  --> src/leetcode/leetcode.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cmp::max;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]  --> src/leetcode/leetcode.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::convert::TryInto;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Index`
[INFO] [stdout]  --> src/leetcode/leetcode.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use std::ops::Index;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> src/leetcode/leetcode.rs:207:21
[INFO] [stdout]     |
[INFO] [stdout] 207 |                 + i[(num % 10)];
[INFO] [stdout]     |                     ^        ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 207 -                 + i[(num % 10)];
[INFO] [stdout] 207 +                 + i[num % 10 ];
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around `return` value
[INFO] [stdout]    --> src/leetcode/leetcode.rs:257:24
[INFO] [stdout]     |
[INFO] [stdout] 257 |                 return { ret };
[INFO] [stdout]     |                        ^^   ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_braces)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these braces
[INFO] [stdout]     |
[INFO] [stdout] 257 -                 return { ret };
[INFO] [stdout] 257 +                 return ret ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/leetcode/leetcode.rs:131:13
[INFO] [stdout]     |
[INFO] [stdout] 112 | /             loop {
[INFO] [stdout] 113 | |                 let mut last = 0;
[INFO] [stdout] 114 | |                 for str in strs.iter() {
[INFO] [stdout] 115 | |                     if str.len() == 0 || idx >= str.len() {
[INFO] [stdout] ...   |
[INFO] [stdout] 129 | |                 idx += 1;
[INFO] [stdout] 130 | |             }
[INFO] [stdout]     | |_____________- any code following this expression is unreachable
[INFO] [stdout] 131 |               String::from_utf8(result).unwrap()
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::null_mut`
[INFO] [stdout]  --> src/data_structure/list.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ptr::null_mut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sdl2::rect::Rect`
[INFO] [stdout]  --> src/data_structure/mandelbrot_set.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use sdl2::rect::Rect;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/leetcode/lc_882.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/leetcode/lc_996.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::leetcode`
[INFO] [stdout]  --> src/leetcode/leetcode.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::leetcode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::max`
[INFO] [stdout]  --> src/leetcode/leetcode.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cmp::max;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]  --> src/leetcode/leetcode.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::convert::TryInto;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Index`
[INFO] [stdout]  --> src/leetcode/leetcode.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use std::ops::Index;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> src/leetcode/leetcode.rs:207:21
[INFO] [stdout]     |
[INFO] [stdout] 207 |                 + i[(num % 10)];
[INFO] [stdout]     |                     ^        ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 207 -                 + i[(num % 10)];
[INFO] [stdout] 207 +                 + i[num % 10 ];
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around `return` value
[INFO] [stdout]    --> src/leetcode/leetcode.rs:257:24
[INFO] [stdout]     |
[INFO] [stdout] 257 |                 return { ret };
[INFO] [stdout]     |                        ^^   ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_braces)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these braces
[INFO] [stdout]     |
[INFO] [stdout] 257 -                 return { ret };
[INFO] [stdout] 257 +                 return ret ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/leetcode/leetcode.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 34 |             let mut res: i32 = 0;
[INFO] [stdout]    |                 ----^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]   --> src/leetcode/leetcode.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 34 |             let mut res: i32 = 0;
[INFO] [stdout]    |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last` is never read
[INFO] [stdout]    --> src/leetcode/leetcode.rs:128:17
[INFO] [stdout]     |
[INFO] [stdout] 128 |                 last = 0;
[INFO] [stdout]     |                 ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/leetcode/leetcode.rs:152:18
[INFO] [stdout]     |
[INFO] [stdout] 152 |             let (mut ret, mut l, mut r) = (0, 0, 1);
[INFO] [stdout]     |                  ----^^^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ret`
[INFO] [stdout]    --> src/leetcode/leetcode.rs:152:18
[INFO] [stdout]     |
[INFO] [stdout] 152 |             let (mut ret, mut l, mut r) = (0, 0, 1);
[INFO] [stdout]     |                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `f` is never read
[INFO] [stdout]    --> src/leetcode/leetcode.rs:169:21
[INFO] [stdout]     |
[INFO] [stdout] 169 |                     f = false;
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/leetcode/leetcode.rs:222:66
[INFO] [stdout]     |
[INFO] [stdout] 222 |                 let (l, ok) = match ls.iter().enumerate().find(|(i, &c)| c.eq(&next_char)) {
[INFO] [stdout]     |                                                                  ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/leetcode/leetcode.rs:259:17
[INFO] [stdout]     |
[INFO] [stdout] 259 |             let mut path = String::new();
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nums`
[INFO] [stdout]    --> src/leetcode/leetcode.rs:278:34
[INFO] [stdout]     |
[INFO] [stdout] 278 |         pub fn remove_duplicates(nums: &mut Vec<i32>) -> i32 {
[INFO] [stdout]     |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_nums`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/leetcode/leetcode.rs:345:30
[INFO] [stdout]     |
[INFO] [stdout] 345 |         pub fn count_and_say(n: i32) -> String {
[INFO] [stdout]     |                              ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/leetcode/leetcode.rs:412:17
[INFO] [stdout]     |
[INFO] [stdout] 412 |             for i in 0..3 {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/leetcode/leetcode.rs:441:17
[INFO] [stdout]     |
[INFO] [stdout] 441 |             let mut ret: Vec<Vec<i32>> = vec![vec![1]];
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_rows`
[INFO] [stdout]    --> src/leetcode/leetcode.rs:440:25
[INFO] [stdout]     |
[INFO] [stdout] 440 |         pub fn generate(num_rows: i32) -> Vec<Vec<i32>> {
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `sum` is never read
[INFO] [stdout]    --> src/leetcode/leetcode.rs:493:27
[INFO] [stdout]     |
[INFO] [stdout] 493 |             let mut sum = 0;
[INFO] [stdout]     |                           ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/leetcode/leetcode.rs:543:17
[INFO] [stdout]     |
[INFO] [stdout] 543 |             for i in 0..k {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/leetcode/leetcode.rs:599:17
[INFO] [stdout]     |
[INFO] [stdout] 599 |             for i in 0..l {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rr`
[INFO] [stdout]    --> src/leetcode/leetcode.rs:742:17
[INFO] [stdout]     |
[INFO] [stdout] 742 |             for rr in 0..r {
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_rr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cc`
[INFO] [stdout]    --> src/leetcode/leetcode.rs:744:21
[INFO] [stdout]     |
[INFO] [stdout] 744 |                 for cc in 0..c {
[INFO] [stdout]     |                     ^^ help: if this is intentional, prefix it with an underscore: `_cc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `sum` is never read
[INFO] [stdout]    --> src/leetcode/leetcode.rs:764:27
[INFO] [stdout]     |
[INFO] [stdout] 764 |             let mut sum = 0;
[INFO] [stdout]     |                           ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `SelectStatement` is more private than the item `parse_sql`
[INFO] [stdout]    --> src/parser/sql_parser.rs:211:1
[INFO] [stdout]     |
[INFO] [stdout] 211 | pub fn parse_sql(sql: &str) -> Option<SelectStatement> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `parse_sql` is reachable at visibility `pub(in crate::parser)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `SelectStatement` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/parser/sql_parser.rs:20:1
[INFO] [stdout]     |
[INFO] [stdout]  20 | struct SelectStatement {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Graph` is never constructed
[INFO] [stdout]  --> src/data_structure/bfs.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Graph {
[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_edge`, and `bfs` are never used
[INFO] [stdout]   --> src/data_structure/bfs.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Graph {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 10 |     // Create a new graph
[INFO] [stdout] 11 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     fn add_edge(&mut self, src: i32, dest: i32) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     fn bfs(&self, start: i32) -> Vec<i32> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Link` is never used
[INFO] [stdout]  --> src/data_structure/list.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | type Link<T> = Option<Rc<RefCell<Node<T>>>>;
[INFO] [stdout]   |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]  --> src/data_structure/list.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | struct Node<T> {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/data_structure/list.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl<T> Node<T> {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 15 |     fn new(value: T) -> Rc<RefCell<Self>> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DoublyLinkedList` is never constructed
[INFO] [stdout]   --> src/data_structure/list.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct DoublyLinkedList<T> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/data_structure/list.rs:32:12
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl<T> DoublyLinkedList<T> {
[INFO] [stdout]     | --------------------------- associated items in this implementation
[INFO] [stdout]  32 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  40 |     pub fn append(&mut self, value: T) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |     pub fn prepend(&mut self, value: T) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  72 |     pub fn pop_front(&mut self) -> Option<T> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn pop_back(&mut self) -> Option<T> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH` is never used
[INFO] [stdout]  --> src/data_structure/mandelbrot_set.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const WIDTH: u32 = 800;
[INFO] [stdout]   |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEIGHT` is never used
[INFO] [stdout]   --> src/data_structure/mandelbrot_set.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const HEIGHT: u32 = 600;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_ITER` is never used
[INFO] [stdout]   --> src/data_structure/mandelbrot_set.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const MAX_ITER: u32 = 255;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mandelbrot` is never used
[INFO] [stdout]   --> src/data_structure/mandelbrot_set.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn mandelbrot(c_re: f64, c_im: f64, max_iter: u32) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_mandelbrot` is never used
[INFO] [stdout]   --> src/data_structure/mandelbrot_set.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn draw_mandelbrot(canvas: &mut Canvas<Window>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw` is never used
[INFO] [stdout]   --> src/data_structure/mandelbrot_set.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn draw() {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Layer` is never constructed
[INFO] [stdout]  --> src/deep_learning/neural.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Layer {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/deep_learning/neural.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Layer {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 11 |     pub fn new(input_size: usize, output_size: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Neural` is never constructed
[INFO] [stdout]   --> src/deep_learning/neural.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Neural {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `sigmoid`, `sigmoid_derivative`, `forward`, and `train` are never used
[INFO] [stdout]   --> src/deep_learning/neural.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl Neural {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 32 |     pub fn new(layer_sizes: &[usize]) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     fn sigmoid(x: f64) -> f64 {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     fn sigmoid_derivative(x: f64) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn forward(&mut self, inputs: &[f64]) -> Vec<f64> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn train(&mut self, inputs: &[f64], targets: &[f64]) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]  --> src/deep_learning/train.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn main() {
[INFO] [stdout]   |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `valid_tic_tac_toe` is never used
[INFO] [stdout]  --> src/leetcode/lc_743.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn valid_tic_tac_toe(board: Vec<String>) -> bool {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_winner` is never used
[INFO] [stdout]   --> src/leetcode/lc_743.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn is_winner(board: &Vec<String>, player: char) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `num_matching_subseq` is never used
[INFO] [stdout]  --> src/leetcode/lc_792.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub fn num_matching_subseq(s: String, words: Vec<String>) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `preimage_size_fzf` is never used
[INFO] [stdout]  --> src/leetcode/lc_793.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub fn preimage_size_fzf(k: i32) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `valid_tic_tac_toe` is never used
[INFO] [stdout]  --> src/leetcode/lc_794.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn valid_tic_tac_toe(board: Vec<String>) -> bool {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_winner` is never used
[INFO] [stdout]   --> src/leetcode/lc_794.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn is_winner(board: &Vec<String>, player: char) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]  --> src/leetcode/lc_795.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Solution {}
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `num_subarray_bounded_max` is never used
[INFO] [stdout]  --> src/leetcode/lc_795.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl Solution {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 4 |     pub fn num_subarray_bounded_max(nums: Vec<i32>, left: i32, right: i32) -> i32 {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]  --> src/leetcode/lc_796.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Solution {}
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `rotate_string` is never used
[INFO] [stdout]  --> src/leetcode/lc_796.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl Solution {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 4 |     pub fn rotate_string(s: String, goal: String) -> bool {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]  --> src/leetcode/lc_797.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Solution {}
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `all_paths_source_target` and `dfs` are never used
[INFO] [stdout]   --> src/leetcode/lc_797.rs:4:12
[INFO] [stdout]    |
[INFO] [stdout]  3 | impl Solution {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout]  4 |     pub fn all_paths_source_target(graph: Vec<Vec<i32>>) -> Vec<Vec<i32>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     fn dfs(
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]  --> src/leetcode/lc_798.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Solution {}
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `best_rotation` is never used
[INFO] [stdout]  --> src/leetcode/lc_798.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl Solution {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 4 |     pub fn best_rotation(nums: Vec<i32>) -> i32 {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]  --> src/leetcode/lc_799.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Solution {}
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `champagne_tower` is never used
[INFO] [stdout]  --> src/leetcode/lc_799.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl Solution {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 4 |     pub fn champagne_tower(poured: i32, query_row: i32, query_glass: i32) -> f64 {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]  --> src/leetcode/lc_800.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Solution {}
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `similar_rgb` is never used
[INFO] [stdout]  --> src/leetcode/lc_800.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl Solution {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 4 |     pub fn similar_rgb(color: String) -> String {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TreeNode` is never constructed
[INFO] [stdout]  --> src/leetcode/lc_865.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct TreeNode {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/leetcode/lc_865.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl TreeNode {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 13 |     #[inline]
[INFO] [stdout] 14 |     pub fn new(val: i32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]   --> src/leetcode/lc_865.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | struct Solution {}
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `subtree_with_all_deepest` is never used
[INFO] [stdout]   --> src/leetcode/lc_865.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Solution {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 26 |     pub fn subtree_with_all_deepest(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]  --> src/leetcode/lc_881.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Solution {}
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `num_rescue_boats` is never used
[INFO] [stdout]  --> src/leetcode/lc_881.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl Solution {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 4 |     pub fn num_rescue_boats(mut people: Vec<i32>, limit: i32) -> i32 {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]  --> src/leetcode/lc_882.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Solution {}
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `reachable_nodes` is never used
[INFO] [stdout]  --> src/leetcode/lc_882.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl Solution {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn reachable_nodes(edges: Vec<Vec<i32>>, max_moves: i32, n: i32) -> i32 {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]  --> src/leetcode/lc_883.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Solution {}
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `projection_area` is never used
[INFO] [stdout]  --> src/leetcode/lc_883.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl Solution {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 4 |     pub fn projection_area(grid: Vec<Vec<i32>>) -> i32 {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]  --> src/leetcode/lc_884.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Solution {}
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `spiral_matrix_iii` is never used
[INFO] [stdout]  --> src/leetcode/lc_884.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl Solution {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 4 |     pub fn spiral_matrix_iii(rows: i32, cols: i32, r0: i32, c0: i32) -> Vec<Vec<i32>> {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]  --> src/leetcode/lc_886.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Solution {}
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `possible_bipartition` is never used
[INFO] [stdout]  --> src/leetcode/lc_886.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl Solution {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 4 |     pub fn possible_bipartition(n: i32, dislikes: Vec<Vec<i32>>) -> bool {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]  --> src/leetcode/lc_887.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Solution {}
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `super_egg_drop` is never used
[INFO] [stdout]  --> src/leetcode/lc_887.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl Solution {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 4 |     pub fn super_egg_drop(k: i32, n: i32) -> i32 {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]  --> src/leetcode/lc_888.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | struct Solution {}
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `fair_candy_swap` is never used
[INFO] [stdout]  --> src/leetcode/lc_888.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | impl Solution {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 6 |     pub fn fair_candy_swap(alice_sizes: Vec<i32>, bob_sizes: Vec<i32>) -> Vec<i32> {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]  --> src/leetcode/lc_899.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Solution {}
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `orderly_queue` is never used
[INFO] [stdout]  --> src/leetcode/lc_899.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl Solution {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 4 |     pub fn orderly_queue(mut s: String, k: i32) -> String {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RLEIterator` is never constructed
[INFO] [stdout]  --> src/leetcode/lc_900.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct RLEIterator {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `next` are never used
[INFO] [stdout]   --> src/leetcode/lc_900.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl RLEIterator {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout]  8 |     pub fn new(encoding: Vec<i32>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn next(&mut self, n: i32) -> i32 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]  --> src/leetcode/lc_991.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Solution {}
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `broken_calc` is never used
[INFO] [stdout]  --> src/leetcode/lc_991.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl Solution {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 4 |     pub fn broken_calc(start_value: i32, target: i32) -> i32 {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]  --> src/leetcode/lc_992.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Solution {}
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `subarrays_with_k_distinct` is never used
[INFO] [stdout]  --> src/leetcode/lc_992.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl Solution {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 4 |     pub fn subarrays_with_k_distinct(nums: Vec<i32>, k: i32) -> i32 {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TreeNode` is never constructed
[INFO] [stdout]  --> src/leetcode/lc_993.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct TreeNode {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/leetcode/lc_993.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl TreeNode {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 14 |     #[inline]
[INFO] [stdout] 15 |     pub fn new(val: i32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]   --> src/leetcode/lc_993.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct Solution {}
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `is_cousins` is never used
[INFO] [stdout]   --> src/leetcode/lc_993.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl Solution {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 27 |     pub fn is_cousins(root: Option<Rc<RefCell<TreeNode>>>, x: i32, y: i32) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]  --> src/leetcode/lc_994.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | struct Solution {}
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `oranges_rotting` is never used
[INFO] [stdout]  --> src/leetcode/lc_994.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | impl Solution {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 6 |     pub fn oranges_rotting(mut grid: Vec<Vec<i32>>) -> i32 {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]  --> src/leetcode/lc_995.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Solution {}
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `min_k_bit_flips` is never used
[INFO] [stdout]  --> src/leetcode/lc_995.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl Solution {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 4 |     pub fn min_k_bit_flips(nums: Vec<i32>, k: i32) -> i32 {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]  --> src/leetcode/lc_996.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | struct Solution {}
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `num_squareful_perms` is never used
[INFO] [stdout]  --> src/leetcode/lc_996.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | impl Solution {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 6 |     pub fn num_squareful_perms(nums: Vec<i32>) -> i32 {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]  --> src/leetcode/lc_997.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Solution {}
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `find_judge` is never used
[INFO] [stdout]  --> src/leetcode/lc_997.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl Solution {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 4 |     pub fn find_judge(n: i32, trust: Vec<Vec<i32>>) -> i32 {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TreeNode` is never constructed
[INFO] [stdout]  --> src/leetcode/lc_998.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct TreeNode {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/leetcode/lc_998.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl TreeNode {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 13 |     #[inline]
[INFO] [stdout] 14 |     pub fn new(val: i32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]   --> src/leetcode/lc_998.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | struct Solution {}
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `insert_into_max_tree` is never used
[INFO] [stdout]   --> src/leetcode/lc_998.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Solution {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 26 |     pub fn insert_into_max_tree(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]  --> src/leetcode/lc_999.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Solution;
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `num_rook_captures` is never used
[INFO] [stdout]  --> src/leetcode/lc_999.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl Solution {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 4 |     pub fn num_rook_captures(board: Vec<Vec<char>>) -> i32 {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Token` is never used
[INFO] [stdout]  --> src/parser/sql_parser.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | enum Token {
[INFO] [stdout]   |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SelectStatement` is never constructed
[INFO] [stdout]   --> src/parser/sql_parser.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct SelectStatement {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Condition` is never constructed
[INFO] [stdout]   --> src/parser/sql_parser.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct Condition {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Lexer` is never constructed
[INFO] [stdout]   --> src/parser/sql_parser.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct Lexer<'a> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `next_token`, `skip_whitespace`, `read_identifier`, and `read_number` are never used
[INFO] [stdout]   --> src/parser/sql_parser.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl<'a> Lexer<'a> {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 38 |     fn new(input: &'a str) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     fn next_token(&mut self) -> Token {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     fn skip_whitespace(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     fn read_identifier(&mut self) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn read_number(&mut self) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Parser` is never constructed
[INFO] [stdout]    --> src/parser/sql_parser.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | struct Parser<'a> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `parse_select`, `parse_condition`, and `next_token` are never used
[INFO] [stdout]    --> src/parser/sql_parser.rs:115:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl<'a> Parser<'a> {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 115 |     fn new(input: &'a str) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     fn parse_select(&mut self) -> Option<SelectStatement> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     fn parse_condition(&mut self) -> Condition {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     fn next_token(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_sql` is never used
[INFO] [stdout]    --> src/parser/sql_parser.rs:211:8
[INFO] [stdout]     |
[INFO] [stdout] 211 | pub fn parse_sql(sql: &str) -> Option<SelectStatement> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/leetcode/leetcode.rs:409:34
[INFO] [stdout]     |
[INFO] [stdout] 409 |             let mut i = unsafe { std::mem::transmute::<f64, i64>(n) }; // why use "transmute"?
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 409 -             let mut i = unsafe { std::mem::transmute::<f64, i64>(n) }; // why use "transmute"?
[INFO] [stdout] 409 +             let mut i = unsafe { f64::to_bits(n).cast_signed() }; // why use "transmute"?
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/leetcode/leetcode.rs:411:26
[INFO] [stdout]     |
[INFO] [stdout] 411 |             n = unsafe { std::mem::transmute::<i64, f64>(i) };
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 411 -             n = unsafe { std::mem::transmute::<i64, f64>(i) };
[INFO] [stdout] 411 +             n = unsafe { f64::from_bits(i64::cast_unsigned(i)) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sdl2::rect::Rect`
[INFO] [stdout]  --> src/bin/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use sdl2::rect::Rect;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/leetcode/leetcode.rs:131:13
[INFO] [stdout]     |
[INFO] [stdout] 112 | /             loop {
[INFO] [stdout] 113 | |                 let mut last = 0;
[INFO] [stdout] 114 | |                 for str in strs.iter() {
[INFO] [stdout] 115 | |                     if str.len() == 0 || idx >= str.len() {
[INFO] [stdout] ...   |
[INFO] [stdout] 129 | |                 idx += 1;
[INFO] [stdout] 130 | |             }
[INFO] [stdout]     | |_____________- any code following this expression is unreachable
[INFO] [stdout] 131 |               String::from_utf8(result).unwrap()
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Point`
[INFO] [stdout]  --> src/bin/oscilloscope.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | use sdl2::rect::{Point, Rect};
[INFO] [stdout]   |                  ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Font`
[INFO] [stdout]  --> src/bin/oscilloscope.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | use sdl2::ttf::{self, Font};
[INFO] [stdout]   |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Point`
[INFO] [stdout]  --> src/bin/oscilloscope.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | use sdl2::rect::{Point, Rect};
[INFO] [stdout]   |                  ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Font`
[INFO] [stdout]  --> src/bin/oscilloscope.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | use sdl2::ttf::{self, Font};
[INFO] [stdout]   |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/bin/oscilloscope.rs:33:14
[INFO] [stdout]    |
[INFO] [stdout] 33 |         for (i, &sample) in input.iter().enumerate() {
[INFO] [stdout]    |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/bin/oscilloscope.rs:33:14
[INFO] [stdout]    |
[INFO] [stdout] 33 |         for (i, &sample) in input.iter().enumerate() {
[INFO] [stdout]    |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sdl2::rect::Rect`
[INFO] [stdout]  --> src/bin/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use sdl2::rect::Rect;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spec`
[INFO] [stdout]    --> src/bin/oscilloscope.rs:131:69
[INFO] [stdout]     |
[INFO] [stdout] 131 |     let device = audio_subsystem.open_capture(None, &desired_spec, |spec| AudioInputCallback {
[INFO] [stdout]     |                                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_spec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `audio_callback`
[INFO] [stdout]    --> src/bin/oscilloscope.rs:127:9
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let audio_callback = AudioInputCallback {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_audio_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLUR_AMOUNT` is never used
[INFO] [stdout]   --> src/bin/oscilloscope.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const BLUR_AMOUNT: f32 = 0.8; // 像素模糊程度
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spec`
[INFO] [stdout]    --> src/bin/oscilloscope.rs:131:69
[INFO] [stdout]     |
[INFO] [stdout] 131 |     let device = audio_subsystem.open_capture(None, &desired_spec, |spec| AudioInputCallback {
[INFO] [stdout]     |                                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_spec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `audio_callback`
[INFO] [stdout]    --> src/bin/oscilloscope.rs:127:9
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let audio_callback = AudioInputCallback {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_audio_callback`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLUR_AMOUNT` is never used
[INFO] [stdout]   --> src/bin/oscilloscope.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const BLUR_AMOUNT: f32 = 0.8; // 像素模糊程度
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/leetcode/lc_865.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut root = create_node(3);
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/leetcode/lc_865.rs:127:13
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let mut root = create_node(0);
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/leetcode/lc_993.rs:82:13
[INFO] [stdout]    |
[INFO] [stdout] 82 |         let mut root = create_node(1);
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/leetcode/lc_993.rs:97:13
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let mut root = create_node(1);
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/leetcode/lc_993.rs:119:13
[INFO] [stdout]     |
[INFO] [stdout] 119 |         let mut root = create_node(1);
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/leetcode/lc_998.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let mut root = create_node(4);
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/leetcode/leetcode.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 34 |             let mut res: i32 = 0;
[INFO] [stdout]    |                 ----^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]   --> src/leetcode/leetcode.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 34 |             let mut res: i32 = 0;
[INFO] [stdout]    |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last` is never read
[INFO] [stdout]    --> src/leetcode/leetcode.rs:128:17
[INFO] [stdout]     |
[INFO] [stdout] 128 |                 last = 0;
[INFO] [stdout]     |                 ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/leetcode/leetcode.rs:152:18
[INFO] [stdout]     |
[INFO] [stdout] 152 |             let (mut ret, mut l, mut r) = (0, 0, 1);
[INFO] [stdout]     |                  ----^^^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ret`
[INFO] [stdout]    --> src/leetcode/leetcode.rs:152:18
[INFO] [stdout]     |
[INFO] [stdout] 152 |             let (mut ret, mut l, mut r) = (0, 0, 1);
[INFO] [stdout]     |                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `f` is never read
[INFO] [stdout]    --> src/leetcode/leetcode.rs:169:21
[INFO] [stdout]     |
[INFO] [stdout] 169 |                     f = false;
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/leetcode/leetcode.rs:222:66
[INFO] [stdout]     |
[INFO] [stdout] 222 |                 let (l, ok) = match ls.iter().enumerate().find(|(i, &c)| c.eq(&next_char)) {
[INFO] [stdout]     |                                                                  ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/leetcode/leetcode.rs:259:17
[INFO] [stdout]     |
[INFO] [stdout] 259 |             let mut path = String::new();
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nums`
[INFO] [stdout]    --> src/leetcode/leetcode.rs:278:34
[INFO] [stdout]     |
[INFO] [stdout] 278 |         pub fn remove_duplicates(nums: &mut Vec<i32>) -> i32 {
[INFO] [stdout]     |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_nums`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/leetcode/leetcode.rs:345:30
[INFO] [stdout]     |
[INFO] [stdout] 345 |         pub fn count_and_say(n: i32) -> String {
[INFO] [stdout]     |                              ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/leetcode/leetcode.rs:412:17
[INFO] [stdout]     |
[INFO] [stdout] 412 |             for i in 0..3 {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/leetcode/leetcode.rs:441:17
[INFO] [stdout]     |
[INFO] [stdout] 441 |             let mut ret: Vec<Vec<i32>> = vec![vec![1]];
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_rows`
[INFO] [stdout]    --> src/leetcode/leetcode.rs:440:25
[INFO] [stdout]     |
[INFO] [stdout] 440 |         pub fn generate(num_rows: i32) -> Vec<Vec<i32>> {
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `sum` is never read
[INFO] [stdout]    --> src/leetcode/leetcode.rs:493:27
[INFO] [stdout]     |
[INFO] [stdout] 493 |             let mut sum = 0;
[INFO] [stdout]     |                           ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/leetcode/leetcode.rs:543:17
[INFO] [stdout]     |
[INFO] [stdout] 543 |             for i in 0..k {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/leetcode/leetcode.rs:599:17
[INFO] [stdout]     |
[INFO] [stdout] 599 |             for i in 0..l {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rr`
[INFO] [stdout]    --> src/leetcode/leetcode.rs:742:17
[INFO] [stdout]     |
[INFO] [stdout] 742 |             for rr in 0..r {
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_rr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cc`
[INFO] [stdout]    --> src/leetcode/leetcode.rs:744:21
[INFO] [stdout]     |
[INFO] [stdout] 744 |                 for cc in 0..c {
[INFO] [stdout]     |                     ^^ help: if this is intentional, prefix it with an underscore: `_cc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `sum` is never read
[INFO] [stdout]    --> src/leetcode/leetcode.rs:764:27
[INFO] [stdout]     |
[INFO] [stdout] 764 |             let mut sum = 0;
[INFO] [stdout]     |                           ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/leetcode/leetcode.rs:1210:9
[INFO] [stdout]      |
[INFO] [stdout] 1210 |     let mut arr: Vec<&str> = vec!["flower", "flow", "flight"];
[INFO] [stdout]      |         ----^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/leetcode/leetcode.rs:1211:9
[INFO] [stdout]      |
[INFO] [stdout] 1211 |     let mut target = 0;
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/leetcode/leetcode.rs:1233:9
[INFO] [stdout]      |
[INFO] [stdout] 1233 |     let mut str1 = "this is a   pen  ";
[INFO] [stdout]      |         ----^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `SelectStatement` is more private than the item `sql_parser::parse_sql`
[INFO] [stdout]    --> src/parser/sql_parser.rs:211:1
[INFO] [stdout]     |
[INFO] [stdout] 211 | pub fn parse_sql(sql: &str) -> Option<SelectStatement> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `sql_parser::parse_sql` is reachable at visibility `pub(in crate::parser)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `SelectStatement` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/parser/sql_parser.rs:20:1
[INFO] [stdout]     |
[INFO] [stdout]  20 | struct SelectStatement {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `prepend` is never used
[INFO] [stdout]   --> src/data_structure/list.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl<T> DoublyLinkedList<T> {
[INFO] [stdout]    | --------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn prepend(&mut self, value: T) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH` is never used
[INFO] [stdout]  --> src/data_structure/mandelbrot_set.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const WIDTH: u32 = 800;
[INFO] [stdout]   |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEIGHT` is never used
[INFO] [stdout]   --> src/data_structure/mandelbrot_set.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const HEIGHT: u32 = 600;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_ITER` is never used
[INFO] [stdout]   --> src/data_structure/mandelbrot_set.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const MAX_ITER: u32 = 255;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mandelbrot` is never used
[INFO] [stdout]   --> src/data_structure/mandelbrot_set.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn mandelbrot(c_re: f64, c_im: f64, max_iter: u32) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_mandelbrot` is never used
[INFO] [stdout]   --> src/data_structure/mandelbrot_set.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn draw_mandelbrot(canvas: &mut Canvas<Window>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw` is never used
[INFO] [stdout]   --> src/data_structure/mandelbrot_set.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn draw() {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `sigmoid_derivative` is never used
[INFO] [stdout]   --> src/deep_learning/neural.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl Neural {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     fn sigmoid_derivative(x: f64) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]  --> src/deep_learning/train.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn main() {
[INFO] [stdout]   |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Solution` is never constructed
[INFO] [stdout]  --> src/leetcode/lc_994.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | struct Solution {}
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `oranges_rotting` is never used
[INFO] [stdout]  --> src/leetcode/lc_994.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | impl Solution {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 6 |     pub fn oranges_rotting(mut grid: Vec<Vec<i32>>) -> i32 {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `String` is never constructed
[INFO] [stdout]   --> src/parser/sql_parser.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | enum Token {
[INFO] [stdout]    |      ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 12 |     String(String),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `left`, `operator`, and `right` are never read
[INFO] [stdout]   --> src/parser/sql_parser.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct Condition {
[INFO] [stdout]    |        --------- fields in this struct
[INFO] [stdout] 28 |     left: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 29 |     operator: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 30 |     right: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Condition` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/leetcode/leetcode.rs:409:34
[INFO] [stdout]     |
[INFO] [stdout] 409 |             let mut i = unsafe { std::mem::transmute::<f64, i64>(n) }; // why use "transmute"?
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 409 -             let mut i = unsafe { std::mem::transmute::<f64, i64>(n) }; // why use "transmute"?
[INFO] [stdout] 409 +             let mut i = unsafe { f64::to_bits(n).cast_signed() }; // why use "transmute"?
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/leetcode/leetcode.rs:411:26
[INFO] [stdout]     |
[INFO] [stdout] 411 |             n = unsafe { std::mem::transmute::<i64, f64>(i) };
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 411 -             n = unsafe { std::mem::transmute::<i64, f64>(i) };
[INFO] [stdout] 411 +             n = unsafe { f64::from_bits(i64::cast_unsigned(i)) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 03s
[INFO] running `Command { std: "docker" "inspect" "cc36d5a55260371c0630ed85f97889ee23b22b525e3accd4878a5ab0d36fc123", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cc36d5a55260371c0630ed85f97889ee23b22b525e3accd4878a5ab0d36fc123", kill_on_drop: false }`
[INFO] [stdout] cc36d5a55260371c0630ed85f97889ee23b22b525e3accd4878a5ab0d36fc123
