[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] testing CharlieChai/baby_code_rust against master#1ef7943ee607160a564655b6596f83670ef95df5 for pr-146098-6
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCharlieChai%2Fbaby_code_rust" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/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-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/CharlieChai/baby_code_rust on toolchain 1ef7943ee607160a564655b6596f83670ef95df5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "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" "+1ef7943ee607160a564655b6596f83670ef95df5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded c_vec v2.0.0
[INFO] [stderr]   Downloaded cc v1.2.7
[INFO] [stderr]   Downloaded winnow v0.6.22
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6a32f171055877724b3049463236802c12797e8a2c74bd9ba6e3eec1dbdeafe0
[INFO] running `Command { std: "docker" "start" "-a" "6a32f171055877724b3049463236802c12797e8a2c74bd9ba6e3eec1dbdeafe0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6a32f171055877724b3049463236802c12797e8a2c74bd9ba6e3eec1dbdeafe0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6a32f171055877724b3049463236802c12797e8a2c74bd9ba6e3eec1dbdeafe0", kill_on_drop: false }`
[INFO] [stdout] 6a32f171055877724b3049463236802c12797e8a2c74bd9ba6e3eec1dbdeafe0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 34fc3de8438a8e21ba64d87ad33f1694d32e52712cac1f35a887ae43a3e3be16
[INFO] running `Command { std: "docker" "start" "-a" "34fc3de8438a8e21ba64d87ad33f1694d32e52712cac1f35a887ae43a3e3be16", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.167
[INFO] [stderr]    Compiling proc-macro2 v1.0.92
[INFO] [stderr]    Compiling unicode-ident v1.0.14
[INFO] [stderr]    Compiling version-compare v0.1.1
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling cc v1.2.7
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]    Compiling sdl2 v0.37.0
[INFO] [stderr]    Compiling bitflags v2.6.0
[INFO] [stderr]    Compiling cpal v0.15.3
[INFO] [stderr]    Compiling c_vec v2.0.0
[INFO] [stderr]    Compiling dasp_sample v0.11.0
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling ringbuf v0.3.3
[INFO] [stderr]    Compiling syn v2.0.90
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling cmake v0.1.52
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling alsa v0.9.1
[INFO] [stderr]    Compiling sdl2-sys v0.37.0
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling 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: 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: 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: `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] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note:  "cc" "-m64" "/tmp/rustceuMx94/symbols.o" "<3 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/{libsdl2-99ab44e30d107c14,libc_vec-e600cd7c50fb0387,libsdl2_sys-be10d9b951916c2e,libbitflags-e2b4db6c651223da,liblazy_static-b3603208c0de2608,liblibc-5e55fe64a3e27196}.rlib" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/tmp/rustceuMx94/raw-dylibs" "-B<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/opt/rustwide/target/debug/build/sdl2-sys-d11d0b29331addbb/out/lib64" "-L" "/opt/rustwide/target/debug/build/sdl2-sys-d11d0b29331addbb/out/lib" "-L" "/usr/lib/x86_64-linux-gnu" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/oscilloscope-7b94bfe0fcc8a650" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
[INFO] [stdout]   = note: some arguments are omitted. use `--verbose` to show all linker arguments
[INFO] [stdout]   = note: rust-lld: error: undefined symbol: TTF_RenderText_Blended
[INFO] [stdout]           >>> referenced by font.rs:188 (/opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/sdl2-0.37.0/src/sdl2/ttf/font.rs:188)
[INFO] [stdout]           >>>               /opt/rustwide/target/debug/deps/oscilloscope-7b94bfe0fcc8a650.oscilloscope.461d9379b94891c2-cgu.1.rcgu.o:(sdl2::ttf::font::PartialRendering::blended::h2be0d8c8e0a3e78e)
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: TTF_RenderUTF8_Blended
[INFO] [stdout]           >>> referenced by font.rs:185 (/opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/sdl2-0.37.0/src/sdl2/ttf/font.rs:185)
[INFO] [stdout]           >>>               /opt/rustwide/target/debug/deps/oscilloscope-7b94bfe0fcc8a650.oscilloscope.461d9379b94891c2-cgu.1.rcgu.o:(sdl2::ttf::font::PartialRendering::blended::h2be0d8c8e0a3e78e)
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: TTF_OpenFont
[INFO] [stdout]           >>> referenced by font.rs:260 (/opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/sdl2-0.37.0/src/sdl2/ttf/font.rs:260)
[INFO] [stdout]           >>>               /opt/rustwide/target/debug/deps/oscilloscope-7b94bfe0fcc8a650.oscilloscope.461d9379b94891c2-cgu.1.rcgu.o:(sdl2::ttf::font::internal_load_font::hbe2e83b1fb303d0d)
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: TTF_WasInit
[INFO] [stdout]           >>> referenced by font.rs:246 (src/sdl2/ttf/font.rs:246)
[INFO] [stdout]           >>>               sdl2-99ab44e30d107c14.sdl2.16ef54cf6e29d339-cgu.2.rcgu.o:(_$LT$sdl2..ttf..font..Font$u20$as$u20$core..ops..drop..Drop$GT$::drop::h481c0ef0b858f079) in archive /opt/rustwide/target/debug/deps/libsdl2-99ab44e30d107c14.rlib
[INFO] [stdout]           >>> referenced by context.rs:120 (src/sdl2/ttf/context.rs:120)
[INFO] [stdout]           >>>               sdl2-99ab44e30d107c14.sdl2.16ef54cf6e29d339-cgu.1.rcgu.o:(sdl2::ttf::context::init::h6a37087b6e9568ca) in archive /opt/rustwide/target/debug/deps/libsdl2-99ab44e30d107c14.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: TTF_CloseFont
[INFO] [stdout]           >>> referenced by font.rs:247 (src/sdl2/ttf/font.rs:247)
[INFO] [stdout]           >>>               sdl2-99ab44e30d107c14.sdl2.16ef54cf6e29d339-cgu.2.rcgu.o:(_$LT$sdl2..ttf..font..Font$u20$as$u20$core..ops..drop..Drop$GT$::drop::h481c0ef0b858f079) in archive /opt/rustwide/target/debug/deps/libsdl2-99ab44e30d107c14.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: TTF_Init
[INFO] [stdout]           >>> referenced by context.rs:122 (src/sdl2/ttf/context.rs:122)
[INFO] [stdout]           >>>               sdl2-99ab44e30d107c14.sdl2.16ef54cf6e29d339-cgu.1.rcgu.o:(sdl2::ttf::context::init::h6a37087b6e9568ca) in archive /opt/rustwide/target/debug/deps/libsdl2-99ab44e30d107c14.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: TTF_Quit
[INFO] [stdout]           >>> referenced by context.rs:23 (src/sdl2/ttf/context.rs:23)
[INFO] [stdout]           >>>               sdl2-99ab44e30d107c14.sdl2.16ef54cf6e29d339-cgu.1.rcgu.o:(_$LT$sdl2..ttf..context..Sdl2TtfContext$u20$as$u20$core..ops..drop..Drop$GT$::drop::h5d8a80fc6569ad6a) in archive /opt/rustwide/target/debug/deps/libsdl2-99ab44e30d107c14.rlib
[INFO] [stdout]           collect2: error: ld returned 1 exit status
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `every_day_algorithm` (bin "oscilloscope") due to 1 previous error; 6 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "34fc3de8438a8e21ba64d87ad33f1694d32e52712cac1f35a887ae43a3e3be16", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "34fc3de8438a8e21ba64d87ad33f1694d32e52712cac1f35a887ae43a3e3be16", kill_on_drop: false }`
[INFO] [stdout] 34fc3de8438a8e21ba64d87ad33f1694d32e52712cac1f35a887ae43a3e3be16
