[INFO] cloning repository https://github.com/binliexc/LineSegmentTree-
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/binliexc/LineSegmentTree-" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbinliexc%2FLineSegmentTree-", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbinliexc%2FLineSegmentTree-'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 00ae9e9473f21efba1f327604c79cb5202457b32
[INFO] checking binliexc/LineSegmentTree- against try#47eaa3b85fbe5fa2b3b731b5fecdc5954cbfc268 for pr-149058
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbinliexc%2FLineSegmentTree-" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/binliexc/LineSegmentTree-
[INFO] finished tweaking git repo https://github.com/binliexc/LineSegmentTree-
[INFO] tweaked toml for git repo https://github.com/binliexc/LineSegmentTree- written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/binliexc/LineSegmentTree- on toolchain 47eaa3b85fbe5fa2b3b731b5fecdc5954cbfc268
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+47eaa3b85fbe5fa2b3b731b5fecdc5954cbfc268" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/binliexc/LineSegmentTree- 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" "+47eaa3b85fbe5fa2b3b731b5fecdc5954cbfc268" "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-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+47eaa3b85fbe5fa2b3b731b5fecdc5954cbfc268" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0180a8813424f932a2032e6984e8233d32f6d0fd6d517d4e63e6dd1113a56c12
[INFO] running `Command { std: "docker" "start" "-a" "0180a8813424f932a2032e6984e8233d32f6d0fd6d517d4e63e6dd1113a56c12", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0180a8813424f932a2032e6984e8233d32f6d0fd6d517d4e63e6dd1113a56c12", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0180a8813424f932a2032e6984e8233d32f6d0fd6d517d4e63e6dd1113a56c12", kill_on_drop: false }`
[INFO] [stdout] 0180a8813424f932a2032e6984e8233d32f6d0fd6d517d4e63e6dd1113a56c12
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+47eaa3b85fbe5fa2b3b731b5fecdc5954cbfc268" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 88f2cbf1c70b8e880ebd6490ded8efca76405b6e2d114c2dc36022a3930d2d15
[INFO] running `Command { std: "docker" "start" "-a" "88f2cbf1c70b8e880ebd6490ded8efca76405b6e2d114c2dc36022a3930d2d15", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.85
[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 clrs_algorithms v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `thread::sleep`
[INFO] [stdout]  --> src/line_segment_tree.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     thread::sleep,
[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: `std::process::id`
[INFO] [stdout]  --> src/binary_indexed_tree.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::process::id;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread::sleep`
[INFO] [stdout]  --> src/line_segment_tree.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     thread::sleep,
[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: `std::process::id`
[INFO] [stdout]  --> src/binary_indexed_tree.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::process::id;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/basic_difference.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn max_flow(n: usize, pipes: &[(usize, usize)], paths: &[(usize, usize)]) -> isize {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pipes`
[INFO] [stdout]   --> src/basic_difference.rs:31:27
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn max_flow(n: usize, pipes: &[(usize, usize)], paths: &[(usize, usize)]) -> isize {
[INFO] [stdout]    |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_pipes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `paths`
[INFO] [stdout]   --> src/basic_difference.rs:31:53
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn max_flow(n: usize, pipes: &[(usize, usize)], paths: &[(usize, usize)]) -> isize {
[INFO] [stdout]    |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_paths`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/graph/basic/dfs.rs:145:43
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub fn topological_sort(s: char, e: char, mut edges: Vec<(char, char)>) -> Vec<char> {
[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: struct `LineSegmentTree` is never constructed
[INFO] [stdout]  --> src/line_segment_tree.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct LineSegmentTree {
[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`, `query`, `change`, and `get_m` are never used
[INFO] [stdout]   --> src/line_segment_tree.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl LineSegmentTree {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new(elements: Vec<isize>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn query(&self, mut s: usize, mut t: usize) -> isize {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn change(&mut self, mut n: usize, new_val: isize) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     fn get_m(len: usize) -> usize {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `closest_second_power` is never used
[INFO] [stdout]   --> src/line_segment_tree.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn closest_second_power(mut n: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LineSegmentTreeRmq` is never constructed
[INFO] [stdout]   --> src/line_segment_tree.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub struct LineSegmentTreeRmq {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_x`, and `max` are never used
[INFO] [stdout]    --> src/line_segment_tree.rs:94:12
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl LineSegmentTreeRmq {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout]  94 |     pub fn new(elements: Vec<isize>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn add_x(&mut self, mut s: usize, mut e: usize, x: isize) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn max(&self, mut s: usize, mut e: usize) -> isize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `LineSegmentTree3` is never used
[INFO] [stdout]    --> src/line_segment_tree.rs:224:11
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub trait LineSegmentTree3 {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `LineSegmentTree4` is never used
[INFO] [stdout]    --> src/line_segment_tree.rs:286:11
[INFO] [stdout]     |
[INFO] [stdout] 286 | pub trait LineSegmentTree4 {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BinaryIndexedTree` is never constructed
[INFO] [stdout]  --> src/binary_indexed_tree.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct BinaryIndexedTree {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_sum`, and `change` are never used
[INFO] [stdout]   --> src/binary_indexed_tree.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl BinaryIndexedTree {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout] 13 |     // 时间复杂度 nlgn 的初始化方法
[INFO] [stdout] 14 |     pub fn new(a: Vec<isize>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn get_sum(self, mut x: usize) -> isize {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn change(&mut self, mut idx: usize, new_val: isize) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lowbit` is never used
[INFO] [stdout]   --> src/binary_indexed_tree.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn lowbit(x: isize) -> usize {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `minimal_score` is never used
[INFO] [stdout]  --> src/basic_difference.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn minimal_score(org: &[isize], range_modify: &[(usize, usize, isize)]) -> isize {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `max_flow` is never used
[INFO] [stdout]   --> src/basic_difference.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn max_flow(n: usize, pipes: &[(usize, usize)], paths: &[(usize, usize)]) -> isize {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pure_interval_sum` is never used
[INFO] [stdout]  --> src/interval_sum.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub fn pure_interval_sum(prefix_sum_vec: &Vec<i32>, s: usize, e: usize) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prefix_sum` is never used
[INFO] [stdout]  --> src/interval_sum.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn prefix_sum(v: Vec<i32>) -> Vec<i32> {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `List` is never constructed
[INFO] [stdout]  --> src/lists/first.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct List {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Link` is never used
[INFO] [stdout]  --> src/lists/first.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | enum Link {
[INFO] [stdout]   |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]   --> src/lists/first.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Node {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `push`, and `pop` are never used
[INFO] [stdout]   --> src/lists/first.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl List {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 16 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn push(&mut self, ele: i32) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn pop(&mut self) -> Option<i32> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `List` is never constructed
[INFO] [stdout]  --> src/lists/second.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct List<T> {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Link` is never used
[INFO] [stdout]  --> src/lists/second.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | type Link<T> = Option<Box<Node<T>>>;
[INFO] [stdout]   |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]  --> src/lists/second.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Node<T> {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/lists/second.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<T> List<T> {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn push(&mut self, ele: T) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn pop(&mut self) -> Option<T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn peek(&self) -> Option<&T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn peed_mut(&mut self) -> Option<&mut T> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn into_iter(self) -> IntoIter<T> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn iter(&self) -> Iter<T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn iter_mut(&mut self) -> IterMut<T> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IntoIter` is never constructed
[INFO] [stdout]   --> src/lists/second.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct IntoIter<T>(List<T>);
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Iter` is never constructed
[INFO] [stdout]   --> src/lists/second.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub struct Iter<'a, T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IterMut` is never constructed
[INFO] [stdout]    --> src/lists/second.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct IterMut<'a, T> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `List` is never constructed
[INFO] [stdout]  --> src/lists/third.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct List<T> {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Link` is never used
[INFO] [stdout]  --> src/lists/third.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | type Link<T> = Option<Rc<Node<T>>>;
[INFO] [stdout]   |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]  --> src/lists/third.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct Node<T> {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `head`, `prepend`, `tail`, `into_iter`, and `iter` are never used
[INFO] [stdout]   --> src/lists/third.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl<T> List<T> {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn head(&self) -> Option<&T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn prepend(&self, ele: T) -> List<T> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn tail(&self) -> List<T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn into_iter(&self) -> IntoIter<T>
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |      pub fn iter(&self) -> Iter<T> {
[INFO] [stdout]    |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IntoIter` is never constructed
[INFO] [stdout]   --> src/lists/third.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct IntoIter<T: Clone>(List<T>);
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Iter` is never constructed
[INFO] [stdout]   --> src/lists/third.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub struct Iter<'a, T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `List` is never constructed
[INFO] [stdout]  --> src/lists/fourth.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct List<T> {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Link` is never used
[INFO] [stdout]   --> src/lists/fourth.rs:11:6
[INFO] [stdout]    |
[INFO] [stdout] 11 | 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/lists/fourth.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct Node<T> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `push_front`, `pop_front`, and `peek_front` are never used
[INFO] [stdout]   --> src/lists/fourth.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl<T> List<T> {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 21 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn push_front(&mut self, ele: T) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn pop_front(&mut self) -> Option<T> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn peek_front(&self) -> Option<Ref<T>> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/lists/fourth.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | impl<T> Node<T> {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 80 |     pub fn new(ele: T) -> Rc<RefCell<Self>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `List` is never constructed
[INFO] [stdout]  --> src/lists/fifth.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct List<T> {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Link` is never used
[INFO] [stdout]  --> src/lists/fifth.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 | type Link<T> = *mut Node<T>;
[INFO] [stdout]   |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]  --> src/lists/fifth.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct Node<T> {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/lists/fifth.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl<T> List<T> {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn push(&mut self, ele: T) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn pop(&mut self) -> Option<T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn into_iter(self) -> IntoIter<T> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn iter(&self) -> Iter<'_, T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn iter_mut(&mut self) -> IterMut<'_, T> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn peek(&self) -> Option<&T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn peek_mut(&mut self) -> Option<&mut T> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IntoIter` is never constructed
[INFO] [stdout]   --> src/lists/fifth.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub struct IntoIter<T>(List<T>);
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Iter` is never constructed
[INFO] [stdout]   --> src/lists/fifth.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub struct Iter<'a, T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IterMut` is never constructed
[INFO] [stdout]    --> src/lists/fifth.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub struct IterMut<'a, T> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MaxHeap` is never constructed
[INFO] [stdout]  --> src/heap.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct MaxHeap {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `max_heapify`, `peek_max`, `extract_max`, `remove`, and `push` are never used
[INFO] [stdout]   --> src/heap.rs:7:12
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl MaxHeap {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout]  6 |     // 注意: 数组v的第一个元素是v[1], v[0]不参与构造
[INFO] [stdout]  7 |     pub fn new(mut v: Vec<i32>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     fn max_heapify(v: &mut Vec<i32>, idx: usize) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn peek_max(&self) -> Option<i32> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn extract_max(&mut self) -> Option<i32> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn remove(&mut self, ele: i32) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub fn push(&mut self, ele: i32) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `NODE_CONTAINER` is never used
[INFO] [stdout]  --> src/disjoint_set/disjoint_set_org.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub static mut NODE_CONTAINER: OnceLock<HashMap<isize, *mut Node>> = OnceLock::new();
[INFO] [stdout]   |                ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Set` is never constructed
[INFO] [stdout]  --> src/disjoint_set/disjoint_set_org.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Set {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]   --> src/disjoint_set/disjoint_set_org.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Node {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `make_set`, `union`, and `find_set` are never used
[INFO] [stdout]   --> src/disjoint_set/disjoint_set_org.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl Set {
[INFO] [stdout]    | -------- associated functions in this implementation
[INFO] [stdout] 21 |     pub fn make_set(val: isize) -> *mut Set {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn union(a: Box<Set>, b: Box<Set>) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub fn find_set(val: isize) -> Box<Set> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]  --> src/disjoint_set/disjoint_set_upgrade.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Node {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `make_set`, `find_set`, and `union` are never used
[INFO] [stdout]   --> src/disjoint_set/disjoint_set_upgrade.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Node {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] 11 |     pub fn make_set(val: usize) -> *mut Node {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn find_set(ptr: *mut Node) -> *mut Node {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn union(a_ptr: *mut Node, b_ptr: *mut Node) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `offline_minimum` is never used
[INFO] [stdout]  --> src/disjoint_set/offline_minimum.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn offline_minimum(n: usize, m: usize, seq: Vec<char>) -> Vec<usize> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_real_k` is never used
[INFO] [stdout]   --> src/disjoint_set/offline_minimum.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn find_real_k(k: &mut Vec<usize>, idx: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Container` is never constructed
[INFO] [stdout]  --> src/disjoint_set/depth_determination.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Container {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TreeNode` is never constructed
[INFO] [stdout]  --> src/disjoint_set/depth_determination.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct TreeNode {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `make_tree`, `find_depth`, `find_node_depth`, `graft`, and `graft_node` are never used
[INFO] [stdout]   --> src/disjoint_set/depth_determination.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Container {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 16 |     // 容器包含的节点值范围在[0, max]
[INFO] [stdout] 17 |     pub fn new(max: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn make_tree(&mut self, val: usize) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn find_depth(&mut self, val: usize) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     fn find_node_depth(n: &mut TreeNode) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn graft(&mut self, idx_r: usize, idx_v: usize) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     fn graft_node(r: &mut TreeNode, v: &mut TreeNode) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TreeNode` is never constructed
[INFO] [stdout]  --> src/disjoint_set/offline_lca.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct TreeNode {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `offline_lca` is never used
[INFO] [stdout]  --> src/disjoint_set/offline_lca.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn offline_lca(root: &TreeNode, range: usize, p: Vec<(usize, usize)>) -> Vec<(usize, usize, usize)> {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lca` is never used
[INFO] [stdout]   --> src/disjoint_set/offline_lca.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn lca(n: &TreeNode, marks: &mut Vec<bool>, pairs: &Vec<Vec<usize>>, res: &mut Vec<(usize, usize, usize)>, disjoint_set: &mut Disjoi...
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]   --> src/disjoint_set/offline_lca.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | struct Node {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DisjointSet` is never constructed
[INFO] [stdout]   --> src/disjoint_set/offline_lca.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | struct DisjointSet {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `make_set`, `union`, and `find_set` are never used
[INFO] [stdout]   --> src/disjoint_set/offline_lca.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl DisjointSet {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 48 |     pub fn new(size: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn make_set(&mut self, val: usize) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn union(&mut self, u: usize, v: usize) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn find_set(&mut self, i: usize) -> Result<usize, String> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `universal_sink` is never used
[INFO] [stdout]  --> src/graph/representation/adjacency_matrix.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn universal_sink(matrix: &Vec<Vec<usize>>) -> Option<usize> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `incidence_matrix` is never used
[INFO] [stdout]   --> src/graph/representation/adjacency_matrix.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn incidence_matrix(range: usize, mut edges: Vec<(usize, usize)>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `val` is never read
[INFO] [stdout]   --> src/graph/basic/bfs.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Node {
[INFO] [stdout]    |        ---- field in this struct
[INFO] [stdout] 11 |     val: usize,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lists/second.rs:51:17
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn iter(&self) -> Iter<T> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn iter(&self) -> Iter<'_, T> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lists/second.rs:60:21
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn iter_mut(&mut self) -> IterMut<T> {
[INFO] [stdout]    |                     ^^^^^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn iter_mut(&mut self) -> IterMut<'_, T> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lists/third.rs:51:18
[INFO] [stdout]    |
[INFO] [stdout] 51 |      pub fn iter(&self) -> Iter<T> {
[INFO] [stdout]    |                  ^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 51 |      pub fn iter(&self) -> Iter<'_, T> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lists/fourth.rs:70:23
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn peek_front(&self) -> Option<Ref<T>> {
[INFO] [stdout]    |                       ^^^^^            ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn peek_front(&self) -> Option<Ref<'_, T>> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/disjoint_set/disjoint_set_org.rs:34:34
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let container = unsafe { NODE_CONTAINER.get_mut_or_init(|| HashMap::new()) };
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/disjoint_set/disjoint_set_org.rs:81:34
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let container = unsafe { NODE_CONTAINER.get().unwrap() };
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/disjoint_set/offline_lca.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     disjoint_set.make_set(n.val);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let _ = disjoint_set.make_set(n.val);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/disjoint_set/offline_lca.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |         disjoint_set.union(child.val, n.val);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let _ = disjoint_set.union(child.val, n.val);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/basic_difference.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn max_flow(n: usize, pipes: &[(usize, usize)], paths: &[(usize, usize)]) -> isize {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pipes`
[INFO] [stdout]   --> src/basic_difference.rs:31:27
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn max_flow(n: usize, pipes: &[(usize, usize)], paths: &[(usize, usize)]) -> isize {
[INFO] [stdout]    |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_pipes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `paths`
[INFO] [stdout]   --> src/basic_difference.rs:31:53
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn max_flow(n: usize, pipes: &[(usize, usize)], paths: &[(usize, usize)]) -> isize {
[INFO] [stdout]    |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_paths`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/disjoint_set/offline_minimum.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let mut seq = vec!['4', '8', 'E', '3', 'E', '9', '2', '6', 'E', 'E', 'E', '1', '7', 'E', '5'];
[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 import: `TreeNode`
[INFO] [stdout]  --> src/main.rs:4:53
[INFO] [stdout]   |
[INFO] [stdout] 4 | use disjoint_set::{depth_determination::{Container, TreeNode}, offline_lca::{offline_lca, TreeNode as LcaTreeNode}};
[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: `std::process::id`
[INFO] [stdout]  --> src/binary_indexed_tree.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::process::id;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread::sleep`
[INFO] [stdout]  --> src/line_segment_tree.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     thread::sleep,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/graph/basic/dfs.rs:145:43
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub fn topological_sort(s: char, e: char, mut edges: Vec<(char, char)>) -> Vec<char> {
[INFO] [stdout]     |                                           ----^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `order`
[INFO] [stdout]    --> src/graph/basic/scc.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 124 |         let order = dfs_order(&mut al);
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_order`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `query`, `change`, and `get_m` are never used
[INFO] [stdout]   --> src/line_segment_tree.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl LineSegmentTree {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new(elements: Vec<isize>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn query(&self, mut s: usize, mut t: usize) -> isize {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn change(&mut self, mut n: usize, new_val: isize) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     fn get_m(len: usize) -> usize {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `insert_x`, `remove_x`, `x_rank`, and `x_exists` are never used
[INFO] [stdout]    --> src/line_segment_tree.rs:292:8
[INFO] [stdout]     |
[INFO] [stdout] 286 | pub trait LineSegmentTree4 {
[INFO] [stdout]     |           ---------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 292 |     fn insert_x(&mut self, x: usize);
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 293 |
[INFO] [stdout] 294 |     fn remove_x(&mut self, x: usize);
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 298 |     fn x_rank(&self, x: usize) -> usize;
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 299 |
[INFO] [stdout] 300 |     fn x_exists(&self, x: usize) -> bool;
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BinaryIndexedTree` is never constructed
[INFO] [stdout]  --> src/binary_indexed_tree.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct BinaryIndexedTree {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_sum`, and `change` are never used
[INFO] [stdout]   --> src/binary_indexed_tree.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl BinaryIndexedTree {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout] 13 |     // 时间复杂度 nlgn 的初始化方法
[INFO] [stdout] 14 |     pub fn new(a: Vec<isize>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn get_sum(self, mut x: usize) -> isize {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn change(&mut self, mut idx: usize, new_val: isize) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lowbit` is never used
[INFO] [stdout]   --> src/binary_indexed_tree.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn lowbit(x: isize) -> usize {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `max_flow` is never used
[INFO] [stdout]   --> src/basic_difference.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn max_flow(n: usize, pipes: &[(usize, usize)], paths: &[(usize, usize)]) -> isize {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `iter_mut` is never used
[INFO] [stdout]   --> src/lists/second.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<T> List<T> {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn iter_mut(&mut self) -> IterMut<T> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IterMut` is never constructed
[INFO] [stdout]    --> src/lists/second.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct IterMut<'a, T> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/lists/fourth.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | impl<T> Node<T> {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 80 |     pub fn new(ele: T) -> Rc<RefCell<Self>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `into_iter`, `iter`, `iter_mut`, `peek`, and `peek_mut` are never used
[INFO] [stdout]   --> src/lists/fifth.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl<T> List<T> {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn into_iter(self) -> IntoIter<T> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn iter(&self) -> Iter<'_, T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn iter_mut(&mut self) -> IterMut<'_, T> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn peek(&self) -> Option<&T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn peek_mut(&mut self) -> Option<&mut T> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IntoIter` is never constructed
[INFO] [stdout]   --> src/lists/fifth.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub struct IntoIter<T>(List<T>);
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Iter` is never constructed
[INFO] [stdout]   --> src/lists/fifth.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub struct Iter<'a, T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IterMut` is never constructed
[INFO] [stdout]    --> src/lists/fifth.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub struct IterMut<'a, T> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `val` is never read
[INFO] [stdout]   --> src/disjoint_set/disjoint_set_org.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Node {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 15 |     val: isize,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Node` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `val` is never read
[INFO] [stdout]  --> src/disjoint_set/disjoint_set_upgrade.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Node {
[INFO] [stdout]   |            ---- field in this struct
[INFO] [stdout] 5 |     val: usize,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Container` is never constructed
[INFO] [stdout]  --> src/disjoint_set/depth_determination.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Container {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TreeNode` is never constructed
[INFO] [stdout]  --> src/disjoint_set/depth_determination.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct TreeNode {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `make_tree`, `find_depth`, `find_node_depth`, `graft`, and `graft_node` are never used
[INFO] [stdout]   --> src/disjoint_set/depth_determination.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Container {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 16 |     // 容器包含的节点值范围在[0, max]
[INFO] [stdout] 17 |     pub fn new(max: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn make_tree(&mut self, val: usize) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn find_depth(&mut self, val: usize) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     fn find_node_depth(n: &mut TreeNode) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn graft(&mut self, idx_r: usize, idx_v: usize) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     fn graft_node(r: &mut TreeNode, v: &mut TreeNode) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TreeNode` is never constructed
[INFO] [stdout]  --> src/disjoint_set/offline_lca.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct TreeNode {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `offline_lca` is never used
[INFO] [stdout]  --> src/disjoint_set/offline_lca.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn offline_lca(root: &TreeNode, range: usize, p: Vec<(usize, usize)>) -> Vec<(usize, usize, usize)> {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lca` is never used
[INFO] [stdout]   --> src/disjoint_set/offline_lca.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn lca(n: &TreeNode, marks: &mut Vec<bool>, pairs: &Vec<Vec<usize>>, res: &mut Vec<(usize, usize, usize)>, disjoint_set: &mut Disjoi...
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]   --> src/disjoint_set/offline_lca.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | struct Node {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DisjointSet` is never constructed
[INFO] [stdout]   --> src/disjoint_set/offline_lca.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | struct DisjointSet {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `make_set`, `union`, and `find_set` are never used
[INFO] [stdout]   --> src/disjoint_set/offline_lca.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl DisjointSet {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 48 |     pub fn new(size: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn make_set(&mut self, val: usize) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn union(&mut self, u: usize, v: usize) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn find_set(&mut self, i: usize) -> Result<usize, String> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `val` is never read
[INFO] [stdout]   --> src/graph/basic/bfs.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Node {
[INFO] [stdout]    |        ---- field in this struct
[INFO] [stdout] 11 |     val: usize,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lists/second.rs:51:17
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn iter(&self) -> Iter<T> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn iter(&self) -> Iter<'_, T> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lists/second.rs:60:21
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn iter_mut(&mut self) -> IterMut<T> {
[INFO] [stdout]    |                     ^^^^^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn iter_mut(&mut self) -> IterMut<'_, T> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lists/third.rs:51:18
[INFO] [stdout]    |
[INFO] [stdout] 51 |      pub fn iter(&self) -> Iter<T> {
[INFO] [stdout]    |                  ^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 51 |      pub fn iter(&self) -> Iter<'_, T> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lists/fourth.rs:70:23
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn peek_front(&self) -> Option<Ref<T>> {
[INFO] [stdout]    |                       ^^^^^            ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn peek_front(&self) -> Option<Ref<'_, T>> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/heap.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |         max_heap.remove(320);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 149 |         let _ = max_heap.remove(320);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/heap.rs:151:9
[INFO] [stdout]     |
[INFO] [stdout] 151 |         max_heap.remove(57);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 151 |         let _ = max_heap.remove(57);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/disjoint_set/disjoint_set_org.rs:34:34
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let container = unsafe { NODE_CONTAINER.get_mut_or_init(|| HashMap::new()) };
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/disjoint_set/disjoint_set_org.rs:81:34
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let container = unsafe { NODE_CONTAINER.get().unwrap() };
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/disjoint_set/disjoint_set_org.rs:119:34
[INFO] [stdout]     |
[INFO] [stdout] 119 |         let container = unsafe { NODE_CONTAINER.get().unwrap() };
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/disjoint_set/offline_lca.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     disjoint_set.make_set(n.val);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let _ = disjoint_set.make_set(n.val);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/disjoint_set/offline_lca.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |         disjoint_set.union(child.val, n.val);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let _ = disjoint_set.union(child.val, n.val);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TreeNode`
[INFO] [stdout]  --> src/main.rs:4:53
[INFO] [stdout]   |
[INFO] [stdout] 4 | use disjoint_set::{depth_determination::{Container, TreeNode}, offline_lca::{offline_lca, TreeNode as LcaTreeNode}};
[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: `std::process::id`
[INFO] [stdout]  --> src/binary_indexed_tree.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::process::id;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread::sleep`
[INFO] [stdout]  --> src/line_segment_tree.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     thread::sleep,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/basic_difference.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn max_flow(n: usize, pipes: &[(usize, usize)], paths: &[(usize, usize)]) -> isize {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pipes`
[INFO] [stdout]   --> src/basic_difference.rs:31:27
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn max_flow(n: usize, pipes: &[(usize, usize)], paths: &[(usize, usize)]) -> isize {
[INFO] [stdout]    |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_pipes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `paths`
[INFO] [stdout]   --> src/basic_difference.rs:31:53
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn max_flow(n: usize, pipes: &[(usize, usize)], paths: &[(usize, usize)]) -> isize {
[INFO] [stdout]    |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_paths`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `minimal_score` is never used
[INFO] [stdout]  --> src/basic_difference.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn minimal_score(org: &[isize], range_modify: &[(usize, usize, isize)]) -> isize {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `max_flow` is never used
[INFO] [stdout]   --> src/basic_difference.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn max_flow(n: usize, pipes: &[(usize, usize)], paths: &[(usize, usize)]) -> isize {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BinaryIndexedTree` is never constructed
[INFO] [stdout]  --> src/binary_indexed_tree.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct BinaryIndexedTree {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_sum`, and `change` are never used
[INFO] [stdout]   --> src/binary_indexed_tree.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl BinaryIndexedTree {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout] 13 |     // 时间复杂度 nlgn 的初始化方法
[INFO] [stdout] 14 |     pub fn new(a: Vec<isize>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn get_sum(self, mut x: usize) -> isize {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn change(&mut self, mut idx: usize, new_val: isize) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lowbit` is never used
[INFO] [stdout]   --> src/binary_indexed_tree.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn lowbit(x: isize) -> usize {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `NODE_CONTAINER` is never used
[INFO] [stdout]  --> src/disjoint_set/disjoint_set_org.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub static mut NODE_CONTAINER: OnceLock<HashMap<isize, *mut Node>> = OnceLock::new();
[INFO] [stdout]   |                ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Set` is never constructed
[INFO] [stdout]  --> src/disjoint_set/disjoint_set_org.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Set {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]   --> src/disjoint_set/disjoint_set_org.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Node {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `make_set`, `union`, and `find_set` are never used
[INFO] [stdout]   --> src/disjoint_set/disjoint_set_org.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl Set {
[INFO] [stdout]    | -------- associated functions in this implementation
[INFO] [stdout] 21 |     pub fn make_set(val: isize) -> *mut Set {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn union(a: Box<Set>, b: Box<Set>) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub fn find_set(val: isize) -> Box<Set> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]  --> src/disjoint_set/disjoint_set_upgrade.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Node {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `make_set`, `find_set`, and `union` are never used
[INFO] [stdout]   --> src/disjoint_set/disjoint_set_upgrade.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Node {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] 11 |     pub fn make_set(val: usize) -> *mut Node {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn find_set(ptr: *mut Node) -> *mut Node {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn union(a_ptr: *mut Node, b_ptr: *mut Node) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `offline_minimum` is never used
[INFO] [stdout]  --> src/disjoint_set/offline_minimum.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn offline_minimum(n: usize, m: usize, seq: Vec<char>) -> Vec<usize> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_real_k` is never used
[INFO] [stdout]   --> src/disjoint_set/offline_minimum.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn find_real_k(k: &mut Vec<usize>, idx: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `val` is never read
[INFO] [stdout]   --> src/disjoint_set/depth_determination.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct TreeNode {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 10 |     pub val: usize,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TreeNode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `val` is never read
[INFO] [stdout]   --> src/disjoint_set/offline_lca.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | struct Node {
[INFO] [stdout]    |        ---- field in this struct
[INFO] [stdout] 39 |     p: usize,
[INFO] [stdout] 40 |     val: usize,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pure_interval_sum` is never used
[INFO] [stdout]  --> src/interval_sum.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub fn pure_interval_sum(prefix_sum_vec: &Vec<i32>, s: usize, e: usize) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prefix_sum` is never used
[INFO] [stdout]  --> src/interval_sum.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn prefix_sum(v: Vec<i32>) -> Vec<i32> {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LineSegmentTree` is never constructed
[INFO] [stdout]  --> src/line_segment_tree.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct LineSegmentTree {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `query`, `change`, and `get_m` are never used
[INFO] [stdout]   --> src/line_segment_tree.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl LineSegmentTree {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new(elements: Vec<isize>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn query(&self, mut s: usize, mut t: usize) -> isize {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn change(&mut self, mut n: usize, new_val: isize) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     fn get_m(len: usize) -> usize {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `closest_second_power` is never used
[INFO] [stdout]   --> src/line_segment_tree.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn closest_second_power(mut n: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LineSegmentTreeRmq` is never constructed
[INFO] [stdout]   --> src/line_segment_tree.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub struct LineSegmentTreeRmq {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_x`, and `max` are never used
[INFO] [stdout]    --> src/line_segment_tree.rs:94:12
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl LineSegmentTreeRmq {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout]  94 |     pub fn new(elements: Vec<isize>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn add_x(&mut self, mut s: usize, mut e: usize, x: isize) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn max(&self, mut s: usize, mut e: usize) -> isize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `LineSegmentTree3` is never used
[INFO] [stdout]    --> src/line_segment_tree.rs:224:11
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub trait LineSegmentTree3 {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `LineSegmentTree4` is never used
[INFO] [stdout]    --> src/line_segment_tree.rs:286:11
[INFO] [stdout]     |
[INFO] [stdout] 286 | pub trait LineSegmentTree4 {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `List` is never constructed
[INFO] [stdout]  --> src/lists/first.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct List {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Link` is never used
[INFO] [stdout]  --> src/lists/first.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | enum Link {
[INFO] [stdout]   |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]   --> src/lists/first.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Node {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `push`, and `pop` are never used
[INFO] [stdout]   --> src/lists/first.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl List {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 16 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn push(&mut self, ele: i32) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn pop(&mut self) -> Option<i32> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `List` is never constructed
[INFO] [stdout]  --> src/lists/second.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct List<T> {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Link` is never used
[INFO] [stdout]  --> src/lists/second.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | type Link<T> = Option<Box<Node<T>>>;
[INFO] [stdout]   |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]  --> src/lists/second.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Node<T> {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/lists/second.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<T> List<T> {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn push(&mut self, ele: T) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn pop(&mut self) -> Option<T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn peek(&self) -> Option<&T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn peed_mut(&mut self) -> Option<&mut T> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn into_iter(self) -> IntoIter<T> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn iter(&self) -> Iter<T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn iter_mut(&mut self) -> IterMut<T> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IntoIter` is never constructed
[INFO] [stdout]   --> src/lists/second.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct IntoIter<T>(List<T>);
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Iter` is never constructed
[INFO] [stdout]   --> src/lists/second.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub struct Iter<'a, T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IterMut` is never constructed
[INFO] [stdout]    --> src/lists/second.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct IterMut<'a, T> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `List` is never constructed
[INFO] [stdout]  --> src/lists/third.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct List<T> {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Link` is never used
[INFO] [stdout]  --> src/lists/third.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | type Link<T> = Option<Rc<Node<T>>>;
[INFO] [stdout]   |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]  --> src/lists/third.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct Node<T> {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `head`, `prepend`, `tail`, `into_iter`, and `iter` are never used
[INFO] [stdout]   --> src/lists/third.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl<T> List<T> {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn head(&self) -> Option<&T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn prepend(&self, ele: T) -> List<T> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn tail(&self) -> List<T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn into_iter(&self) -> IntoIter<T>
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |      pub fn iter(&self) -> Iter<T> {
[INFO] [stdout]    |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IntoIter` is never constructed
[INFO] [stdout]   --> src/lists/third.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct IntoIter<T: Clone>(List<T>);
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Iter` is never constructed
[INFO] [stdout]   --> src/lists/third.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub struct Iter<'a, T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `List` is never constructed
[INFO] [stdout]  --> src/lists/fourth.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct List<T> {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Link` is never used
[INFO] [stdout]   --> src/lists/fourth.rs:11:6
[INFO] [stdout]    |
[INFO] [stdout] 11 | 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/lists/fourth.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct Node<T> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `push_front`, `pop_front`, and `peek_front` are never used
[INFO] [stdout]   --> src/lists/fourth.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl<T> List<T> {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 21 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn push_front(&mut self, ele: T) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn pop_front(&mut self) -> Option<T> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn peek_front(&self) -> Option<Ref<T>> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/lists/fourth.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | impl<T> Node<T> {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 80 |     pub fn new(ele: T) -> Rc<RefCell<Self>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `List` is never constructed
[INFO] [stdout]  --> src/lists/fifth.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct List<T> {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Link` is never used
[INFO] [stdout]  --> src/lists/fifth.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 | type Link<T> = *mut Node<T>;
[INFO] [stdout]   |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]  --> src/lists/fifth.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct Node<T> {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/lists/fifth.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl<T> List<T> {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn push(&mut self, ele: T) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn pop(&mut self) -> Option<T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn into_iter(self) -> IntoIter<T> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn iter(&self) -> Iter<'_, T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn iter_mut(&mut self) -> IterMut<'_, T> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn peek(&self) -> Option<&T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn peek_mut(&mut self) -> Option<&mut T> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IntoIter` is never constructed
[INFO] [stdout]   --> src/lists/fifth.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub struct IntoIter<T>(List<T>);
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Iter` is never constructed
[INFO] [stdout]   --> src/lists/fifth.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub struct Iter<'a, T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IterMut` is never constructed
[INFO] [stdout]    --> src/lists/fifth.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub struct IterMut<'a, T> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         container.make_tree(i);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let _ = container.make_tree(i);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     container.graft(5, 4);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let _ = container.graft(5, 4);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     container.graft(4, 2);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let _ = container.graft(4, 2);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     container.graft(2, 1);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let _ = container.graft(2, 1);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     container.graft(13, 12);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let _ = container.graft(13, 12);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     container.graft(12, 3);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let _ = container.graft(12, 3);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     container.graft(10, 8);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let _ = container.graft(10, 8);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     container.graft(9, 8);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let _ = container.graft(9, 8);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     container.graft(8, 6);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let _ = container.graft(8, 6);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     container.graft(7, 6);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let _ = container.graft(7, 6);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     container.graft(3, 1);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let _ = container.graft(3, 1);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     container.graft(6, 3);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let _ = container.graft(6, 3);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/disjoint_set/disjoint_set_org.rs:34:34
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let container = unsafe { NODE_CONTAINER.get_mut_or_init(|| HashMap::new()) };
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/disjoint_set/disjoint_set_org.rs:81:34
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let container = unsafe { NODE_CONTAINER.get().unwrap() };
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/disjoint_set/offline_lca.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     disjoint_set.make_set(n.val);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let _ = disjoint_set.make_set(n.val);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/disjoint_set/offline_lca.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |         disjoint_set.union(child.val, n.val);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let _ = disjoint_set.union(child.val, n.val);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lists/second.rs:51:17
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn iter(&self) -> Iter<T> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn iter(&self) -> Iter<'_, T> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lists/second.rs:60:21
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn iter_mut(&mut self) -> IterMut<T> {
[INFO] [stdout]    |                     ^^^^^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn iter_mut(&mut self) -> IterMut<'_, T> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lists/third.rs:51:18
[INFO] [stdout]    |
[INFO] [stdout] 51 |      pub fn iter(&self) -> Iter<T> {
[INFO] [stdout]    |                  ^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 51 |      pub fn iter(&self) -> Iter<'_, T> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lists/fourth.rs:70:23
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn peek_front(&self) -> Option<Ref<T>> {
[INFO] [stdout]    |                       ^^^^^            ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn peek_front(&self) -> Option<Ref<'_, T>> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/basic_difference.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn max_flow(n: usize, pipes: &[(usize, usize)], paths: &[(usize, usize)]) -> isize {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pipes`
[INFO] [stdout]   --> src/basic_difference.rs:31:27
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn max_flow(n: usize, pipes: &[(usize, usize)], paths: &[(usize, usize)]) -> isize {
[INFO] [stdout]    |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_pipes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `paths`
[INFO] [stdout]   --> src/basic_difference.rs:31:53
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn max_flow(n: usize, pipes: &[(usize, usize)], paths: &[(usize, usize)]) -> isize {
[INFO] [stdout]    |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_paths`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/disjoint_set/offline_minimum.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let mut seq = vec!['4', '8', 'E', '3', 'E', '9', '2', '6', 'E', 'E', 'E', '1', '7', 'E', '5'];
[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: function `max_flow` is never used
[INFO] [stdout]   --> src/basic_difference.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn max_flow(n: usize, pipes: &[(usize, usize)], paths: &[(usize, usize)]) -> isize {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BinaryIndexedTree` is never constructed
[INFO] [stdout]  --> src/binary_indexed_tree.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct BinaryIndexedTree {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_sum`, and `change` are never used
[INFO] [stdout]   --> src/binary_indexed_tree.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl BinaryIndexedTree {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout] 13 |     // 时间复杂度 nlgn 的初始化方法
[INFO] [stdout] 14 |     pub fn new(a: Vec<isize>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn get_sum(self, mut x: usize) -> isize {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn change(&mut self, mut idx: usize, new_val: isize) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lowbit` is never used
[INFO] [stdout]   --> src/binary_indexed_tree.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn lowbit(x: isize) -> usize {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `val` is never read
[INFO] [stdout]   --> src/disjoint_set/disjoint_set_org.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Node {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 15 |     val: isize,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Node` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `val` is never read
[INFO] [stdout]  --> src/disjoint_set/disjoint_set_upgrade.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Node {
[INFO] [stdout]   |            ---- field in this struct
[INFO] [stdout] 5 |     val: usize,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `val` is never read
[INFO] [stdout]   --> src/disjoint_set/depth_determination.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct TreeNode {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 10 |     pub val: usize,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TreeNode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `val` is never read
[INFO] [stdout]   --> src/disjoint_set/offline_lca.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | struct Node {
[INFO] [stdout]    |        ---- field in this struct
[INFO] [stdout] 39 |     p: usize,
[INFO] [stdout] 40 |     val: usize,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `query`, `change`, and `get_m` are never used
[INFO] [stdout]   --> src/line_segment_tree.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl LineSegmentTree {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new(elements: Vec<isize>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn query(&self, mut s: usize, mut t: usize) -> isize {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn change(&mut self, mut n: usize, new_val: isize) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     fn get_m(len: usize) -> usize {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `insert_x`, `remove_x`, `x_rank`, and `x_exists` are never used
[INFO] [stdout]    --> src/line_segment_tree.rs:292:8
[INFO] [stdout]     |
[INFO] [stdout] 286 | pub trait LineSegmentTree4 {
[INFO] [stdout]     |           ---------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 292 |     fn insert_x(&mut self, x: usize);
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 293 |
[INFO] [stdout] 294 |     fn remove_x(&mut self, x: usize);
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 298 |     fn x_rank(&self, x: usize) -> usize;
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 299 |
[INFO] [stdout] 300 |     fn x_exists(&self, x: usize) -> bool;
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `iter_mut` is never used
[INFO] [stdout]   --> src/lists/second.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<T> List<T> {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn iter_mut(&mut self) -> IterMut<T> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IterMut` is never constructed
[INFO] [stdout]    --> src/lists/second.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct IterMut<'a, T> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/lists/fourth.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | impl<T> Node<T> {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 80 |     pub fn new(ele: T) -> Rc<RefCell<Self>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `into_iter`, `iter`, `iter_mut`, `peek`, and `peek_mut` are never used
[INFO] [stdout]   --> src/lists/fifth.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl<T> List<T> {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn into_iter(self) -> IntoIter<T> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn iter(&self) -> Iter<'_, T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn iter_mut(&mut self) -> IterMut<'_, T> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn peek(&self) -> Option<&T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn peek_mut(&mut self) -> Option<&mut T> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IntoIter` is never constructed
[INFO] [stdout]   --> src/lists/fifth.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub struct IntoIter<T>(List<T>);
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Iter` is never constructed
[INFO] [stdout]   --> src/lists/fifth.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub struct Iter<'a, T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IterMut` is never constructed
[INFO] [stdout]    --> src/lists/fifth.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub struct IterMut<'a, T> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         container.make_tree(i);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let _ = container.make_tree(i);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     container.graft(5, 4);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let _ = container.graft(5, 4);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     container.graft(4, 2);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let _ = container.graft(4, 2);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     container.graft(2, 1);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let _ = container.graft(2, 1);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     container.graft(13, 12);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let _ = container.graft(13, 12);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     container.graft(12, 3);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let _ = container.graft(12, 3);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     container.graft(10, 8);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let _ = container.graft(10, 8);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     container.graft(9, 8);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let _ = container.graft(9, 8);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     container.graft(8, 6);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let _ = container.graft(8, 6);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     container.graft(7, 6);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let _ = container.graft(7, 6);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     container.graft(3, 1);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let _ = container.graft(3, 1);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     container.graft(6, 3);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let _ = container.graft(6, 3);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/disjoint_set/disjoint_set_org.rs:34:34
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let container = unsafe { NODE_CONTAINER.get_mut_or_init(|| HashMap::new()) };
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/disjoint_set/disjoint_set_org.rs:81:34
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let container = unsafe { NODE_CONTAINER.get().unwrap() };
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/disjoint_set/disjoint_set_org.rs:119:34
[INFO] [stdout]     |
[INFO] [stdout] 119 |         let container = unsafe { NODE_CONTAINER.get().unwrap() };
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/disjoint_set/offline_lca.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     disjoint_set.make_set(n.val);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let _ = disjoint_set.make_set(n.val);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/disjoint_set/offline_lca.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |         disjoint_set.union(child.val, n.val);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let _ = disjoint_set.union(child.val, n.val);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lists/second.rs:51:17
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn iter(&self) -> Iter<T> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn iter(&self) -> Iter<'_, T> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lists/second.rs:60:21
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn iter_mut(&mut self) -> IterMut<T> {
[INFO] [stdout]    |                     ^^^^^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn iter_mut(&mut self) -> IterMut<'_, T> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lists/third.rs:51:18
[INFO] [stdout]    |
[INFO] [stdout] 51 |      pub fn iter(&self) -> Iter<T> {
[INFO] [stdout]    |                  ^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 51 |      pub fn iter(&self) -> Iter<'_, T> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lists/fourth.rs:70:23
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn peek_front(&self) -> Option<Ref<T>> {
[INFO] [stdout]    |                       ^^^^^            ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn peek_front(&self) -> Option<Ref<'_, T>> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.32s
[INFO] running `Command { std: "docker" "inspect" "88f2cbf1c70b8e880ebd6490ded8efca76405b6e2d114c2dc36022a3930d2d15", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "88f2cbf1c70b8e880ebd6490ded8efca76405b6e2d114c2dc36022a3930d2d15", kill_on_drop: false }`
[INFO] [stdout] 88f2cbf1c70b8e880ebd6490ded8efca76405b6e2d114c2dc36022a3930d2d15
