[INFO] fetching crate kagemeka 0.1.0... [INFO] checking kagemeka-0.1.0 against master#350d0ef0ec0493e6d21cfb265cb8211a0e74d766 for pr-145342-1 [INFO] extracting crate kagemeka 0.1.0 into /workspace/builds/worker-3-tc1/source [INFO] started tweaking crates.io crate kagemeka 0.1.0 [INFO] finished tweaking crates.io crate kagemeka 0.1.0 [INFO] tweaked toml for crates.io crate kagemeka 0.1.0 written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate kagemeka 0.1.0 on toolchain 350d0ef0ec0493e6d21cfb265cb8211a0e74d766 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 368b7803e15ea8667ad63a9cdfbd8fd7adf02baf7f8c1625a983542d00825ae2 [INFO] running `Command { std: "docker" "start" "-a" "368b7803e15ea8667ad63a9cdfbd8fd7adf02baf7f8c1625a983542d00825ae2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "368b7803e15ea8667ad63a9cdfbd8fd7adf02baf7f8c1625a983542d00825ae2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "368b7803e15ea8667ad63a9cdfbd8fd7adf02baf7f8c1625a983542d00825ae2", kill_on_drop: false }` [INFO] [stdout] 368b7803e15ea8667ad63a9cdfbd8fd7adf02baf7f8c1625a983542d00825ae2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c18846512b4e2d63352f762e0b96caddeebc858850029084606cf5057209c64d [INFO] running `Command { std: "docker" "start" "-a" "c18846512b4e2d63352f762e0b96caddeebc858850029084606cf5057209c64d", kill_on_drop: false }` [INFO] [stderr] Checking kagemeka v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `SparseTable` [INFO] [stdout] --> src/graph_theory/lca.rs:108:17 [INFO] [stdout] | [INFO] [stdout] 108 | use super::{SparseTable, DisjointSparseTable, euler_tour_node, Semigroup}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SparseTable` [INFO] [stdout] --> src/graph_theory/lca.rs:108:17 [INFO] [stdout] | [INFO] [stdout] 108 | use super::{SparseTable, DisjointSparseTable, euler_tour_node, Semigroup}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::array::IntoIter::::new`: use `IntoIterator::into_iter` instead [INFO] [stdout] --> src/number_theory/prime.rs:142:43 [INFO] [stdout] | [INFO] [stdout] 142 | BTreeMap::from_iter(IntoIter::new([(3, 1), (5, 1), (7, 1)])), [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::array::IntoIter::::new`: use `IntoIterator::into_iter` instead [INFO] [stdout] --> src/number_theory/prime.rs:153:43 [INFO] [stdout] | [INFO] [stdout] 153 | BTreeMap::from_iter(IntoIter::new([(3, 1), (5, 1), (7, 1)])), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UnionFind` is never constructed [INFO] [stdout] --> src/union_find.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct UnionFind { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `find`, `unite`, and `size` are never used [INFO] [stdout] --> src/union_find.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl UnionFind { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 7 | pub fn new(n: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | pub fn find(&mut self, u: usize) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn unite(&mut self, u: usize, v: usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn size(&mut self, u: usize) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RollbackUnionFind` is never constructed [INFO] [stdout] --> src/union_find.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | pub struct RollbackUnionFind {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PersistentUnionFind` is never constructed [INFO] [stdout] --> src/union_find.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct PersistentUnionFind {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `least_prime_factor` is never used [INFO] [stdout] --> src/number_theory/prime.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn least_prime_factor(n: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `greatest_prime_factor` is never used [INFO] [stdout] --> src/number_theory/prime.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn greatest_prime_factor(n: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sieve_of_eratosthenes` is never used [INFO] [stdout] --> src/number_theory/prime.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn sieve_of_eratosthenes(n: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_prime_numbers` is never used [INFO] [stdout] --> src/number_theory/prime.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn find_prime_numbers(n: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `prime_factorize` is never used [INFO] [stdout] --> src/number_theory/prime.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn prime_factorize(mut n: usize) -> std::collections::BTreeMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PrimeFactorizeLPF` is never constructed [INFO] [stdout] --> src/number_theory/prime.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct PrimeFactorizeLPF { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `factorize` are never used [INFO] [stdout] --> src/number_theory/prime.rs:68:12 [INFO] [stdout] | [INFO] [stdout] 67 | impl PrimeFactorizeLPF { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 68 | pub fn new(n: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn factorize(&self, mut n: usize) -> std::collections::BTreeMap { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_prime_factors` is never used [INFO] [stdout] --> src/number_theory/prime.rs:84:8 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn count_prime_factors(n: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_divisors` is never used [INFO] [stdout] --> src/number_theory/divisor.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn find_divisors(n: i32) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gcd` is never used [INFO] [stdout] --> src/number_theory/lcm_gcd.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn gcd(a: usize, b: usize) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lcm` is never used [INFO] [stdout] --> src/number_theory/lcm_gcd.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn lcm(a: usize, b: usize) -> usize { a / gcd(a, b) * b } [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `euler_totient` is never used [INFO] [stdout] --> src/number_theory/euler_totient.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn euler_totient(mut n: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EulerTotientLPF` is never constructed [INFO] [stdout] --> src/number_theory/euler_totient.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct EulerTotientLPF {} [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extgcd` is never used [INFO] [stdout] --> src/number_theory/extgcd.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn extgcd(a: i64, b: i64) -> (i64, i64, i64) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SegmentTree` is never constructed [INFO] [stdout] --> src/graph_theory/tree/segment_tree.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct SegmentTree<'a, S: Copy> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `from_vec`, `merge`, `set`, `get`, and `max_right` are never used [INFO] [stdout] --> src/graph_theory/tree/segment_tree.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl<'a, S: Copy> SegmentTree<'a, S> { [INFO] [stdout] | ------------------------------------ associated items in this implementation [INFO] [stdout] 21 | [INFO] [stdout] 22 | pub fn new(m: Monoid<'a, S>, n: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn from_vec(m: Monoid<'a, S>, a: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | fn merge(&mut self, i: usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn set(&mut self, mut i: usize, x: S) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn get(&self, mut l: usize, mut r: usize) -> S { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn max_right(&self, is_ok: Box bool>, l: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FenwickTree` is never constructed [INFO] [stdout] --> src/graph_theory/tree/fenwick_tree.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct FenwickTree<'a, S: Copy> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `from_vec`, `set`, `get`, and `max_right` are never used [INFO] [stdout] --> src/graph_theory/tree/fenwick_tree.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl<'a, S: Copy> FenwickTree<'a, S> { [INFO] [stdout] | ------------------------------------ associated items in this implementation [INFO] [stdout] 16 | [INFO] [stdout] 17 | pub fn new(m: Monoid<'a, S>, n: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn from_vec(m: Monoid<'a, S>, a: &Vec) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn set(&mut self, mut i: usize, x: &S) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn get(&self, mut i: usize) -> S { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn max_right(&self, is_ok: Box bool>) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bfs` is never used [INFO] [stdout] --> src/graph_theory/shortest_path.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn bfs(g: &[Vec], src: usize) -> Vec { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dijkstra_sparse` is never used [INFO] [stdout] --> src/graph_theory/shortest_path.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn dijkstra_sparse(g: &Vec>, src: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dijkstra_dense` is never used [INFO] [stdout] --> src/graph_theory/shortest_path.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn dijkstra_dense(g: &Vec>, src: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NegativeCycleError` is never constructed [INFO] [stdout] --> src/graph_theory/shortest_path.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 72 | pub struct NegativeCycleError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/graph_theory/shortest_path.rs:77:8 [INFO] [stdout] | [INFO] [stdout] 76 | impl NegativeCycleError { [INFO] [stdout] | ----------------------- associated function in this implementation [INFO] [stdout] 77 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bellman_ford_sparse` is never used [INFO] [stdout] --> src/graph_theory/shortest_path.rs:94:8 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn bellman_ford_sparse(g: &Vec>, src: usize) -> Result, NegativeCycleError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bellman_ford_dense` is never used [INFO] [stdout] --> src/graph_theory/shortest_path.rs:119:8 [INFO] [stdout] | [INFO] [stdout] 119 | pub fn bellman_ford_dense(g: &Vec>, src: usize) -> Result, NegativeCycleError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `johnson_dense` is never used [INFO] [stdout] --> src/graph_theory/shortest_path.rs:143:8 [INFO] [stdout] | [INFO] [stdout] 143 | pub fn johnson_dense(g: &Vec>) -> Result>, NegativeCycleError> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `floyd_warshall` is never used [INFO] [stdout] --> src/graph_theory/shortest_path.rs:169:8 [INFO] [stdout] | [INFO] [stdout] 169 | pub fn floyd_warshall(mut g: Vec>) -> Result>, NegativeCycleError> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `with_dfs` is never used [INFO] [stdout] --> src/graph_theory/connected_components.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn with_dfs(n: usize, g: &Vec<(usize, usize)>) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `with_bfs` is never used [INFO] [stdout] --> src/graph_theory/connected_components.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn with_bfs(n: usize, g: &Vec<(usize, usize)>) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `with_union_find` is never used [INFO] [stdout] --> src/graph_theory/connected_components.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn with_union_find(n: usize, g: &Vec<(usize, usize)>) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `kruskal` is never used [INFO] [stdout] --> src/graph_theory/mst.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn kruskal(n: usize, mut g: Vec<(usize, usize, i64)>) -> Vec<(usize, usize, i64)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `prim_sparse` is never used [INFO] [stdout] --> src/graph_theory/mst.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn prim_sparse(n: usize, g: &Vec<(usize, usize, i64)>) -> Vec<(usize, usize, i64)> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `prim_dense` is never used [INFO] [stdout] --> src/graph_theory/mst.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn prim_dense(g: &Vec>) -> Vec<(usize, usize, i64)> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `boruvka` is never used [INFO] [stdout] --> src/graph_theory/mst.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn boruvka(n: usize, g: &Vec<(usize, usize, i64)>) -> Vec<(usize, usize, i64)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `reverse_delete` is never used [INFO] [stdout] --> src/graph_theory/mst.rs:114:8 [INFO] [stdout] | [INFO] [stdout] 114 | pub fn reverse_delete() {} [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `randomized_linear` is never used [INFO] [stdout] --> src/graph_theory/mst.rs:117:8 [INFO] [stdout] | [INFO] [stdout] 117 | pub fn randomized_linear() {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lowlink` is never used [INFO] [stdout] --> src/graph_theory/lowlink.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | pub fn lowlink(g: &Vec>) -> (Vec, Vec) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bridges` is never used [INFO] [stdout] --> src/graph_theory/lowlink.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn bridges(n: usize, g: &Vec<(usize, usize)>) -> Vec<(usize, usize)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `articulation_points` is never used [INFO] [stdout] --> src/graph_theory/lowlink.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn articulation_points(g: &Vec>) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `path_based` is never used [INFO] [stdout] --> src/graph_theory/scc.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn path_based(g: &Vec>) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tarjan` is never used [INFO] [stdout] --> src/graph_theory/scc.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn tarjan(g: &Vec>) -> Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `kosaraju` is never used [INFO] [stdout] --> src/graph_theory/scc.rs:111:8 [INFO] [stdout] | [INFO] [stdout] 111 | pub fn kosaraju(g: &Vec>) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NonDAGError` is never constructed [INFO] [stdout] --> src/graph_theory/topological_sort.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct NonDAGError { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/graph_theory/topological_sort.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 7 | impl NonDAGError { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 8 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `with_dfs` is never used [INFO] [stdout] --> src/graph_theory/topological_sort.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn with_dfs(g: &Vec>) -> Result, NonDAGError> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `kahn` is never used [INFO] [stdout] --> src/graph_theory/topological_sort.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn kahn(g: &Vec>) -> Result, NonDAGError> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tree_dfs` is never used [INFO] [stdout] --> src/graph_theory/tree_diameter.rs:2:4 [INFO] [stdout] | [INFO] [stdout] 2 | fn tree_dfs(g: &Vec>, root: usize) -> (Vec, Vec) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tree_diameter` is never used [INFO] [stdout] --> src/graph_theory/tree_diameter.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn tree_diameter(g: &Vec<(usize, usize, i64)>) -> (Vec, i64) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `euler_tour_edge` is never used [INFO] [stdout] --> src/graph_theory/euler_tour.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn euler_tour_edge(g: &Vec<(usize, usize)>, root: usize) -> (Vec, Vec, Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `euler_tour_node` is never used [INFO] [stdout] --> src/graph_theory/euler_tour.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn euler_tour_node(g: &Vec<(usize, usize)>, root: usize) -> (Vec, Vec, Vec, Vec, Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_first_idx` is never used [INFO] [stdout] --> src/graph_theory/euler_tour.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn compute_first_idx(tour_edge: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rerooting` is never used [INFO] [stdout] --> src/graph_theory/rerooting.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn rerooting(g: &Vec<(usize, usize, F)>, m: &Monoid, map: Box S>) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tree_bfs` is never used [INFO] [stdout] --> src/graph_theory/tree_bfs.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | pub fn tree_bfs(g: &Vec<(usize, usize)>, root: usize) -> (Vec, Vec) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tarjan_offline` is never used [INFO] [stdout] --> src/graph_theory/lca.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn tarjan_offline(g: &Vec<(usize, usize)>, uv: &Vec<(usize, usize)>, root: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BinaryLifting` is never constructed [INFO] [stdout] --> src/graph_theory/lca.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct BinaryLifting { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `get` are never used [INFO] [stdout] --> src/graph_theory/lca.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 68 | impl BinaryLifting { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 69 | /// O(N\log{N}) [INFO] [stdout] 70 | pub fn new(g: &Vec<(usize, usize)>, root: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn get(&self, mut u: usize, mut v: usize) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `with_hl_decomposition` is never used [INFO] [stdout] --> src/graph_theory/lca.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn with_hl_decomposition() {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WithHLD` is never constructed [INFO] [stdout] --> src/graph_theory/lca.rs:178:12 [INFO] [stdout] | [INFO] [stdout] 178 | pub struct WithHLD {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WithSparseTable` is never constructed [INFO] [stdout] --> src/graph_theory/lca.rs:112:16 [INFO] [stdout] | [INFO] [stdout] 112 | pub struct WithSparseTable<'a, S> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `get` are never used [INFO] [stdout] --> src/graph_theory/lca.rs:117:16 [INFO] [stdout] | [INFO] [stdout] 116 | impl<'a> WithSparseTable<'a, (usize, usize)> { [INFO] [stdout] | -------------------------------------------- associated items in this implementation [INFO] [stdout] 117 | pub fn new(g: &Vec<(usize, usize)>, root: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn get(&self, u: usize, v: usize) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WithSegmentTree` is never constructed [INFO] [stdout] --> src/graph_theory/lca.rs:141:16 [INFO] [stdout] | [INFO] [stdout] 141 | pub struct WithSegmentTree<'a, S: Copy> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `get` are never used [INFO] [stdout] --> src/graph_theory/lca.rs:146:16 [INFO] [stdout] | [INFO] [stdout] 145 | impl<'a> WithSegmentTree<'a, (usize, usize)> { [INFO] [stdout] | -------------------------------------------- associated items in this implementation [INFO] [stdout] 146 | pub fn new(g: &Vec<(usize, usize)>, root: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | pub fn get(&self, u: usize, v: usize) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WithSqrtDecomposition` is never constructed [INFO] [stdout] --> src/graph_theory/lca.rs:171:16 [INFO] [stdout] | [INFO] [stdout] 171 | pub struct WithSqrtDecomposition {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `edmonds_karp` is never used [INFO] [stdout] --> src/graph_theory/max_flow.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | pub fn edmonds_karp(g: &Vec>, src: usize, sink: usize) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ford_fulkerson` is never used [INFO] [stdout] --> src/graph_theory/max_flow.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn ford_fulkerson(g: &Vec>, src: usize, sink: usize) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dinic` is never used [INFO] [stdout] --> src/graph_theory/max_flow.rs:114:8 [INFO] [stdout] | [INFO] [stdout] 114 | pub fn dinic(g: &Vec>, src: usize, sink: usize) -> u64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mpm` is never used [INFO] [stdout] --> src/graph_theory/max_flow.rs:178:8 [INFO] [stdout] | [INFO] [stdout] 178 | pub fn mpm() {} [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `push_relabel_fifo_vertex` is never used [INFO] [stdout] --> src/graph_theory/max_flow.rs:182:8 [INFO] [stdout] | [INFO] [stdout] 182 | pub fn push_relabel_fifo_vertex() {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `push_relabel_dist_vertex` is never used [INFO] [stdout] --> src/graph_theory/max_flow.rs:183:8 [INFO] [stdout] | [INFO] [stdout] 183 | pub fn push_relabel_dist_vertex() {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `push_relabel_dynamic_tree` is never used [INFO] [stdout] --> src/graph_theory/max_flow.rs:184:8 [INFO] [stdout] | [INFO] [stdout] 184 | pub fn push_relabel_dynamic_tree() {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `krt` is never used [INFO] [stdout] --> src/graph_theory/max_flow.rs:189:8 [INFO] [stdout] | [INFO] [stdout] 189 | pub fn krt() {} [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `binary_blocking_flow` is never used [INFO] [stdout] --> src/graph_theory/max_flow.rs:194:8 [INFO] [stdout] | [INFO] [stdout] 194 | pub fn binary_blocking_flow() {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `orlin` is never used [INFO] [stdout] --> src/graph_theory/max_flow.rs:198:8 [INFO] [stdout] | [INFO] [stdout] 198 | pub fn orlin() {} [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ford_fulkerson` is never used [INFO] [stdout] --> src/graph_theory/max_cardinal_match.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn ford_fulkerson(size_a: usize, size_b: usize, g: &[(usize, usize)]) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hopcroft_karp` is never used [INFO] [stdout] --> src/graph_theory/max_cardinal_match.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn hopcroft_karp(size_a: usize, size_b: usize, g: &[(usize, usize)]) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `blossom` is never used [INFO] [stdout] --> src/graph_theory/max_cardinal_match.rs:109:8 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn blossom() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Monoid` is never constructed [INFO] [stdout] --> src/algebra/abstract_/structure.rs:6:16 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Monoid<'a, S> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Semigroup` is never constructed [INFO] [stdout] --> src/algebra/abstract_/structure.rs:13:16 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct Semigroup<'a, S> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Identity` is never used [INFO] [stdout] --> src/algebra/abstract_/structure.rs:22:15 [INFO] [stdout] | [INFO] [stdout] 22 | pub trait Identity { fn e() -> Self; } [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Inverse` is never used [INFO] [stdout] --> src/algebra/abstract_/structure.rs:23:15 [INFO] [stdout] | [INFO] [stdout] 23 | pub trait Inverse { fn inv(&self) -> Self;} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Semigroup` is never used [INFO] [stdout] --> src/algebra/abstract_/structure.rs:24:15 [INFO] [stdout] | [INFO] [stdout] 24 | pub trait Semigroup { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Monoid` is never used [INFO] [stdout] --> src/algebra/abstract_/structure.rs:30:15 [INFO] [stdout] | [INFO] [stdout] 30 | pub trait Monoid: Semigroup + Identity {} [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Group` is never used [INFO] [stdout] --> src/algebra/abstract_/structure.rs:31:15 [INFO] [stdout] | [INFO] [stdout] 31 | pub trait Group: Monoid + Inverse {} [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `MulIdentity` is never used [INFO] [stdout] --> src/algebra/abstract_/structure.rs:32:15 [INFO] [stdout] | [INFO] [stdout] 32 | pub trait MulIdentity { fn e() -> Self; } [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AddIdentity` is never used [INFO] [stdout] --> src/algebra/abstract_/structure.rs:34:15 [INFO] [stdout] | [INFO] [stdout] 34 | pub trait AddIdentity { fn e() -> Self;} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AddInverse` is never used [INFO] [stdout] --> src/algebra/abstract_/structure.rs:35:15 [INFO] [stdout] | [INFO] [stdout] 35 | pub trait AddInverse { fn inv(&self) -> Self; } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `MulInverse` is never used [INFO] [stdout] --> src/algebra/abstract_/structure.rs:36:15 [INFO] [stdout] | [INFO] [stdout] 36 | pub trait MulInverse { fn inv(&self) -> Self; } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Semiring` is never used [INFO] [stdout] --> src/algebra/abstract_/structure.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | pub trait Semiring: Sized + std::ops::Add + std::ops::Mul + AddIdentity + MulIdentity { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Ring` is never used [INFO] [stdout] --> src/algebra/abstract_/structure.rs:41:15 [INFO] [stdout] | [INFO] [stdout] 41 | pub trait Ring: Semiring + AddInverse {} [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `msb` is never used [INFO] [stdout] --> src/algebra/bit.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn msb(n: usize) -> isize { 0usize.leading_zeros() as isize - n.leading_zeros() as isize - 1 } [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `msb_number_binary_search` is never used [INFO] [stdout] --> src/algebra/bit.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn msb_number_binary_search(mut n: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lsb` is never used [INFO] [stdout] --> src/algebra/bit.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn lsb(n: usize) -> usize { n.reverse_bits().leading_zeros() as usize } [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lsb_number` is never used [INFO] [stdout] --> src/algebra/bit.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn lsb_number(n: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `delete_least_bit` is never used [INFO] [stdout] --> src/algebra/bit.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn delete_least_bit(n: usize) -> usize { n - lsb_number(n) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `delete_least_bit_v2` is never used [INFO] [stdout] --> src/algebra/bit.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn delete_least_bit_v2(n: usize) -> usize { n & (n - 1) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bit_length` is never used [INFO] [stdout] --> src/algebra/bit.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn bit_length(n: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bit_length_v2` is never used [INFO] [stdout] --> src/algebra/bit.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn bit_length_v2(mut n: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bit_length_v3` is never used [INFO] [stdout] --> src/algebra/bit.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn bit_length_v3(n: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bit_length_table` is never used [INFO] [stdout] --> src/algebra/bit.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn bit_length_table(n: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `reverse_bits` is never used [INFO] [stdout] --> src/algebra/bit.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn reverse_bits(n: usize) -> usize { n.reverse_bits() } [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `reverse_bits_v2` is never used [INFO] [stdout] --> src/algebra/bit.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn reverse_bits_v2(mut n: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bit_inverse` is never used [INFO] [stdout] --> src/algebra/bit.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn bit_inverse(n: usize) -> usize { !n } [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bit_inverse_v2` is never used [INFO] [stdout] --> src/algebra/bit.rs:82:8 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn bit_inverse_v2(n: usize) -> usize { (!0usize) ^ n } [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `popcount` is never used [INFO] [stdout] --> src/algebra/bit.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn popcount(mut n: usize) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `popcount_v2` is never used [INFO] [stdout] --> src/algebra/bit.rs:96:8 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn popcount_v2(n: usize) -> usize { n.count_ones() as usize } [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `popcount_v3` is never used [INFO] [stdout] --> src/algebra/bit.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn popcount_v3(mut n: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `popcount_table` is never used [INFO] [stdout] --> src/algebra/bit.rs:109:8 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn popcount_table(n: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pow` is never used [INFO] [stdout] --> src/algebra/pow.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn pow(x: &T, n: usize) -> T { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Power` is never constructed [INFO] [stdout] --> src/algebra/pow.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Power<'a, T> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `do` are never used [INFO] [stdout] --> src/algebra/pow.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl<'a, T> Power<'a, T> { [INFO] [stdout] | ------------------------ associated items in this implementation [INFO] [stdout] 17 | pub fn new(m: structs::Monoid<'a, T>) -> Self { Self { m } } [INFO] [stdout] | ^^^ [INFO] [stdout] 18 | [INFO] [stdout] 19 | pub fn r#do(&self, x: &T, n: usize) -> T{ [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Modular` is never constructed [INFO] [stdout] --> src/algebra/modular.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Modular { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `value`, and `inverse` are never used [INFO] [stdout] --> src/algebra/modular.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl Modular { [INFO] [stdout] | ----------------------------------- associated items in this implementation [INFO] [stdout] 16 | pub fn new(n: usize) -> Self { Self { value: n % MOD } } [INFO] [stdout] | ^^^ [INFO] [stdout] 17 | pub const fn value(&self) -> usize { self.value % MOD } [INFO] [stdout] | ^^^^^ [INFO] [stdout] 18 | pub fn inverse(&self) -> Modular { pow(self, MOD - 2) } [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Tensor` is never constructed [INFO] [stdout] --> src/algebra/tensor.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Tensor { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/algebra/tensor.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl Tensor { [INFO] [stdout] | ----------------------------------------------------------- associated function in this implementation [INFO] [stdout] 24 | pub fn new(shape: [usize; NDIM]) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `flat_index` is never used [INFO] [stdout] --> src/algebra/tensor.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 37 | impl Tensor { [INFO] [stdout] | ------------------------------------------ method in this implementation [INFO] [stdout] 38 | fn flat_index(&self, index: [usize; NDIM]) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `e`, `op`, and `pow` are never used [INFO] [stdout] --> src/algebra/tensor.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 88 | impl Tensor { [INFO] [stdout] | ----------------------------------------------- associated items in this implementation [INFO] [stdout] 89 | pub fn e(&self) -> Self { [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn op(lhs: &Self, rhs: &Self) -> Self { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 118 | pub fn pow(&self, n: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SparseTable` is never constructed [INFO] [stdout] --> src/sparse_table.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct SparseTable<'a, S> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `get` are never used [INFO] [stdout] --> src/sparse_table.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl<'a, S: Default + Clone> SparseTable<'a, S> { [INFO] [stdout] | ----------------------------------------------- associated items in this implementation [INFO] [stdout] 16 | /// O(N\log{N}) [INFO] [stdout] 17 | pub fn new(sg: Semigroup<'a, S>, a: &Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn get(&self, l: usize, r: usize) -> S { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DisjointSparseTable` is never constructed [INFO] [stdout] --> src/sparse_table.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | pub struct DisjointSparseTable<'a, S> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `get` are never used [INFO] [stdout] --> src/sparse_table.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 54 | impl<'a, S: Default + Clone> DisjointSparseTable<'a, S> { [INFO] [stdout] | ------------------------------------------------------- associated items in this implementation [INFO] [stdout] 55 | pub fn new(sg: Semigroup<'a, S>, a: &Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn get(&self, l: usize, r: usize) -> S { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sa_doubling` is never used [INFO] [stdout] --> src/string/sa.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn sa_doubling(a: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sa_doubling_with_countsort` is never used [INFO] [stdout] --> src/string/sa.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn sa_doubling_with_countsort(a: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sa_is` is never used [INFO] [stdout] --> src/string/sa.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn sa_is(a: &Vec) -> Vec { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unique` is never used [INFO] [stdout] --> src/vector.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn unique(a: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compress_array` is never used [INFO] [stdout] --> src/vector.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn compress_array(a: &Vec) -> (Vec, Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Inf` is never used [INFO] [stdout] --> src/cmp.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait Inf { const INF: Self; } [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bisect` is never used [INFO] [stdout] --> src/analysis/binary_search.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn bisect(is_ok: &dyn Fn(&T) -> bool, a: &[T]) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lower_bound` is never used [INFO] [stdout] --> src/analysis/binary_search.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn lower_bound(a: &[T], x: &T) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `longest_increasing_sequence` is never used [INFO] [stdout] --> src/dp.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn longest_increasing_sequence(a: &[T]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pascal` is never used [INFO] [stdout] --> src/combinatorics/pascal.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn pascal(n: usize) -> Vec> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RollbackUnionFind` is never constructed [INFO] [stdout] --> src/union_find.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | pub struct RollbackUnionFind {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PersistentUnionFind` is never constructed [INFO] [stdout] --> src/union_find.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct PersistentUnionFind {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gcd` is never used [INFO] [stdout] --> src/number_theory/lcm_gcd.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn gcd(a: usize, b: usize) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lcm` is never used [INFO] [stdout] --> src/number_theory/lcm_gcd.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn lcm(a: usize, b: usize) -> usize { a / gcd(a, b) * b } [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `euler_totient` is never used [INFO] [stdout] --> src/number_theory/euler_totient.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn euler_totient(mut n: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EulerTotientLPF` is never constructed [INFO] [stdout] --> src/number_theory/euler_totient.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct EulerTotientLPF {} [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extgcd` is never used [INFO] [stdout] --> src/number_theory/extgcd.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn extgcd(a: i64, b: i64) -> (i64, i64, i64) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `max_right` are never used [INFO] [stdout] --> src/graph_theory/tree/segment_tree.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl<'a, S: Copy> SegmentTree<'a, S> { [INFO] [stdout] | ------------------------------------ associated items in this implementation [INFO] [stdout] 21 | [INFO] [stdout] 22 | pub fn new(m: Monoid<'a, S>, n: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn max_right(&self, is_ok: Box bool>, l: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `max_right` are never used [INFO] [stdout] --> src/graph_theory/tree/fenwick_tree.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl<'a, S: Copy> FenwickTree<'a, S> { [INFO] [stdout] | ------------------------------------ associated items in this implementation [INFO] [stdout] 16 | [INFO] [stdout] 17 | pub fn new(m: Monoid<'a, S>, n: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn max_right(&self, is_ok: Box bool>) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bfs` is never used [INFO] [stdout] --> src/graph_theory/shortest_path.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn bfs(g: &[Vec], src: usize) -> Vec { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dijkstra_sparse` is never used [INFO] [stdout] --> src/graph_theory/shortest_path.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn dijkstra_sparse(g: &Vec>, src: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dijkstra_dense` is never used [INFO] [stdout] --> src/graph_theory/shortest_path.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn dijkstra_dense(g: &Vec>, src: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NegativeCycleError` is never constructed [INFO] [stdout] --> src/graph_theory/shortest_path.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 72 | pub struct NegativeCycleError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/graph_theory/shortest_path.rs:77:8 [INFO] [stdout] | [INFO] [stdout] 76 | impl NegativeCycleError { [INFO] [stdout] | ----------------------- associated function in this implementation [INFO] [stdout] 77 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bellman_ford_sparse` is never used [INFO] [stdout] --> src/graph_theory/shortest_path.rs:94:8 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn bellman_ford_sparse(g: &Vec>, src: usize) -> Result, NegativeCycleError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bellman_ford_dense` is never used [INFO] [stdout] --> src/graph_theory/shortest_path.rs:119:8 [INFO] [stdout] | [INFO] [stdout] 119 | pub fn bellman_ford_dense(g: &Vec>, src: usize) -> Result, NegativeCycleError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `johnson_dense` is never used [INFO] [stdout] --> src/graph_theory/shortest_path.rs:143:8 [INFO] [stdout] | [INFO] [stdout] 143 | pub fn johnson_dense(g: &Vec>) -> Result>, NegativeCycleError> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `floyd_warshall` is never used [INFO] [stdout] --> src/graph_theory/shortest_path.rs:169:8 [INFO] [stdout] | [INFO] [stdout] 169 | pub fn floyd_warshall(mut g: Vec>) -> Result>, NegativeCycleError> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `with_dfs` is never used [INFO] [stdout] --> src/graph_theory/connected_components.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn with_dfs(n: usize, g: &Vec<(usize, usize)>) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `with_bfs` is never used [INFO] [stdout] --> src/graph_theory/connected_components.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn with_bfs(n: usize, g: &Vec<(usize, usize)>) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `with_union_find` is never used [INFO] [stdout] --> src/graph_theory/connected_components.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn with_union_find(n: usize, g: &Vec<(usize, usize)>) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `kruskal` is never used [INFO] [stdout] --> src/graph_theory/mst.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn kruskal(n: usize, mut g: Vec<(usize, usize, i64)>) -> Vec<(usize, usize, i64)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `prim_sparse` is never used [INFO] [stdout] --> src/graph_theory/mst.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn prim_sparse(n: usize, g: &Vec<(usize, usize, i64)>) -> Vec<(usize, usize, i64)> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `prim_dense` is never used [INFO] [stdout] --> src/graph_theory/mst.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn prim_dense(g: &Vec>) -> Vec<(usize, usize, i64)> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `boruvka` is never used [INFO] [stdout] --> src/graph_theory/mst.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn boruvka(n: usize, g: &Vec<(usize, usize, i64)>) -> Vec<(usize, usize, i64)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `reverse_delete` is never used [INFO] [stdout] --> src/graph_theory/mst.rs:114:8 [INFO] [stdout] | [INFO] [stdout] 114 | pub fn reverse_delete() {} [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `randomized_linear` is never used [INFO] [stdout] --> src/graph_theory/mst.rs:117:8 [INFO] [stdout] | [INFO] [stdout] 117 | pub fn randomized_linear() {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lowlink` is never used [INFO] [stdout] --> src/graph_theory/lowlink.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | pub fn lowlink(g: &Vec>) -> (Vec, Vec) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bridges` is never used [INFO] [stdout] --> src/graph_theory/lowlink.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn bridges(n: usize, g: &Vec<(usize, usize)>) -> Vec<(usize, usize)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `articulation_points` is never used [INFO] [stdout] --> src/graph_theory/lowlink.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn articulation_points(g: &Vec>) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `path_based` is never used [INFO] [stdout] --> src/graph_theory/scc.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn path_based(g: &Vec>) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tarjan` is never used [INFO] [stdout] --> src/graph_theory/scc.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn tarjan(g: &Vec>) -> Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `kosaraju` is never used [INFO] [stdout] --> src/graph_theory/scc.rs:111:8 [INFO] [stdout] | [INFO] [stdout] 111 | pub fn kosaraju(g: &Vec>) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NonDAGError` is never constructed [INFO] [stdout] --> src/graph_theory/topological_sort.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct NonDAGError { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/graph_theory/topological_sort.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 7 | impl NonDAGError { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 8 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `with_dfs` is never used [INFO] [stdout] --> src/graph_theory/topological_sort.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn with_dfs(g: &Vec>) -> Result, NonDAGError> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `kahn` is never used [INFO] [stdout] --> src/graph_theory/topological_sort.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn kahn(g: &Vec>) -> Result, NonDAGError> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tree_dfs` is never used [INFO] [stdout] --> src/graph_theory/tree_diameter.rs:2:4 [INFO] [stdout] | [INFO] [stdout] 2 | fn tree_dfs(g: &Vec>, root: usize) -> (Vec, Vec) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tree_diameter` is never used [INFO] [stdout] --> src/graph_theory/tree_diameter.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn tree_diameter(g: &Vec<(usize, usize, i64)>) -> (Vec, i64) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `euler_tour_edge` is never used [INFO] [stdout] --> src/graph_theory/euler_tour.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn euler_tour_edge(g: &Vec<(usize, usize)>, root: usize) -> (Vec, Vec, Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `euler_tour_node` is never used [INFO] [stdout] --> src/graph_theory/euler_tour.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn euler_tour_node(g: &Vec<(usize, usize)>, root: usize) -> (Vec, Vec, Vec, Vec, Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_first_idx` is never used [INFO] [stdout] --> src/graph_theory/euler_tour.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn compute_first_idx(tour_edge: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rerooting` is never used [INFO] [stdout] --> src/graph_theory/rerooting.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn rerooting(g: &Vec<(usize, usize, F)>, m: &Monoid, map: Box S>) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tree_bfs` is never used [INFO] [stdout] --> src/graph_theory/tree_bfs.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | pub fn tree_bfs(g: &Vec<(usize, usize)>, root: usize) -> (Vec, Vec) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tarjan_offline` is never used [INFO] [stdout] --> src/graph_theory/lca.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn tarjan_offline(g: &Vec<(usize, usize)>, uv: &Vec<(usize, usize)>, root: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BinaryLifting` is never constructed [INFO] [stdout] --> src/graph_theory/lca.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct BinaryLifting { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `get` are never used [INFO] [stdout] --> src/graph_theory/lca.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 68 | impl BinaryLifting { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 69 | /// O(N\log{N}) [INFO] [stdout] 70 | pub fn new(g: &Vec<(usize, usize)>, root: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn get(&self, mut u: usize, mut v: usize) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `with_hl_decomposition` is never used [INFO] [stdout] --> src/graph_theory/lca.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn with_hl_decomposition() {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WithHLD` is never constructed [INFO] [stdout] --> src/graph_theory/lca.rs:178:12 [INFO] [stdout] | [INFO] [stdout] 178 | pub struct WithHLD {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WithSparseTable` is never constructed [INFO] [stdout] --> src/graph_theory/lca.rs:112:16 [INFO] [stdout] | [INFO] [stdout] 112 | pub struct WithSparseTable<'a, S> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `get` are never used [INFO] [stdout] --> src/graph_theory/lca.rs:117:16 [INFO] [stdout] | [INFO] [stdout] 116 | impl<'a> WithSparseTable<'a, (usize, usize)> { [INFO] [stdout] | -------------------------------------------- associated items in this implementation [INFO] [stdout] 117 | pub fn new(g: &Vec<(usize, usize)>, root: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn get(&self, u: usize, v: usize) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WithSegmentTree` is never constructed [INFO] [stdout] --> src/graph_theory/lca.rs:141:16 [INFO] [stdout] | [INFO] [stdout] 141 | pub struct WithSegmentTree<'a, S: Copy> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `get` are never used [INFO] [stdout] --> src/graph_theory/lca.rs:146:16 [INFO] [stdout] | [INFO] [stdout] 145 | impl<'a> WithSegmentTree<'a, (usize, usize)> { [INFO] [stdout] | -------------------------------------------- associated items in this implementation [INFO] [stdout] 146 | pub fn new(g: &Vec<(usize, usize)>, root: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | pub fn get(&self, u: usize, v: usize) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WithSqrtDecomposition` is never constructed [INFO] [stdout] --> src/graph_theory/lca.rs:171:16 [INFO] [stdout] | [INFO] [stdout] 171 | pub struct WithSqrtDecomposition {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `edmonds_karp` is never used [INFO] [stdout] --> src/graph_theory/max_flow.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | pub fn edmonds_karp(g: &Vec>, src: usize, sink: usize) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ford_fulkerson` is never used [INFO] [stdout] --> src/graph_theory/max_flow.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn ford_fulkerson(g: &Vec>, src: usize, sink: usize) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dinic` is never used [INFO] [stdout] --> src/graph_theory/max_flow.rs:114:8 [INFO] [stdout] | [INFO] [stdout] 114 | pub fn dinic(g: &Vec>, src: usize, sink: usize) -> u64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mpm` is never used [INFO] [stdout] --> src/graph_theory/max_flow.rs:178:8 [INFO] [stdout] | [INFO] [stdout] 178 | pub fn mpm() {} [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `push_relabel_fifo_vertex` is never used [INFO] [stdout] --> src/graph_theory/max_flow.rs:182:8 [INFO] [stdout] | [INFO] [stdout] 182 | pub fn push_relabel_fifo_vertex() {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `push_relabel_dist_vertex` is never used [INFO] [stdout] --> src/graph_theory/max_flow.rs:183:8 [INFO] [stdout] | [INFO] [stdout] 183 | pub fn push_relabel_dist_vertex() {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `push_relabel_dynamic_tree` is never used [INFO] [stdout] --> src/graph_theory/max_flow.rs:184:8 [INFO] [stdout] | [INFO] [stdout] 184 | pub fn push_relabel_dynamic_tree() {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `krt` is never used [INFO] [stdout] --> src/graph_theory/max_flow.rs:189:8 [INFO] [stdout] | [INFO] [stdout] 189 | pub fn krt() {} [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `binary_blocking_flow` is never used [INFO] [stdout] --> src/graph_theory/max_flow.rs:194:8 [INFO] [stdout] | [INFO] [stdout] 194 | pub fn binary_blocking_flow() {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `orlin` is never used [INFO] [stdout] --> src/graph_theory/max_flow.rs:198:8 [INFO] [stdout] | [INFO] [stdout] 198 | pub fn orlin() {} [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ford_fulkerson` is never used [INFO] [stdout] --> src/graph_theory/max_cardinal_match.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn ford_fulkerson(size_a: usize, size_b: usize, g: &[(usize, usize)]) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hopcroft_karp` is never used [INFO] [stdout] --> src/graph_theory/max_cardinal_match.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn hopcroft_karp(size_a: usize, size_b: usize, g: &[(usize, usize)]) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `blossom` is never used [INFO] [stdout] --> src/graph_theory/max_cardinal_match.rs:109:8 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn blossom() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `commutative` and `idempotent` are never read [INFO] [stdout] --> src/algebra/abstract_/structure.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Monoid<'a, S> { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 9 | pub commutative: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 10 | pub idempotent: bool, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Inverse` is never used [INFO] [stdout] --> src/algebra/abstract_/structure.rs:23:15 [INFO] [stdout] | [INFO] [stdout] 23 | pub trait Inverse { fn inv(&self) -> Self;} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constants `COMMUTATIVE` and `IDEMPOTENT` are never used [INFO] [stdout] --> src/algebra/abstract_/structure.rs:26:15 [INFO] [stdout] | [INFO] [stdout] 24 | pub trait Semigroup { [INFO] [stdout] | --------- associated constants in this trait [INFO] [stdout] 25 | fn op(_: &Self, _: &Self) -> Self; [INFO] [stdout] 26 | const COMMUTATIVE: bool; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 27 | const IDEMPOTENT: bool; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Group` is never used [INFO] [stdout] --> src/algebra/abstract_/structure.rs:31:15 [INFO] [stdout] | [INFO] [stdout] 31 | pub trait Group: Monoid + Inverse {} [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `MulIdentity` is never used [INFO] [stdout] --> src/algebra/abstract_/structure.rs:32:15 [INFO] [stdout] | [INFO] [stdout] 32 | pub trait MulIdentity { fn e() -> Self; } [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AddIdentity` is never used [INFO] [stdout] --> src/algebra/abstract_/structure.rs:34:15 [INFO] [stdout] | [INFO] [stdout] 34 | pub trait AddIdentity { fn e() -> Self;} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AddInverse` is never used [INFO] [stdout] --> src/algebra/abstract_/structure.rs:35:15 [INFO] [stdout] | [INFO] [stdout] 35 | pub trait AddInverse { fn inv(&self) -> Self; } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `MulInverse` is never used [INFO] [stdout] --> src/algebra/abstract_/structure.rs:36:15 [INFO] [stdout] | [INFO] [stdout] 36 | pub trait MulInverse { fn inv(&self) -> Self; } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Semiring` is never used [INFO] [stdout] --> src/algebra/abstract_/structure.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | pub trait Semiring: Sized + std::ops::Add + std::ops::Mul + AddIdentity + MulIdentity { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Ring` is never used [INFO] [stdout] --> src/algebra/abstract_/structure.rs:41:15 [INFO] [stdout] | [INFO] [stdout] 41 | pub trait Ring: Semiring + AddInverse {} [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `msb` is never used [INFO] [stdout] --> src/algebra/bit.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn msb(n: usize) -> isize { 0usize.leading_zeros() as isize - n.leading_zeros() as isize - 1 } [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `msb_number_binary_search` is never used [INFO] [stdout] --> src/algebra/bit.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn msb_number_binary_search(mut n: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lsb` is never used [INFO] [stdout] --> src/algebra/bit.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn lsb(n: usize) -> usize { n.reverse_bits().leading_zeros() as usize } [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lsb_number` is never used [INFO] [stdout] --> src/algebra/bit.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn lsb_number(n: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `delete_least_bit` is never used [INFO] [stdout] --> src/algebra/bit.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn delete_least_bit(n: usize) -> usize { n - lsb_number(n) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `delete_least_bit_v2` is never used [INFO] [stdout] --> src/algebra/bit.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn delete_least_bit_v2(n: usize) -> usize { n & (n - 1) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bit_length_v2` is never used [INFO] [stdout] --> src/algebra/bit.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn bit_length_v2(mut n: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bit_length_v3` is never used [INFO] [stdout] --> src/algebra/bit.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn bit_length_v3(n: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bit_length_table` is never used [INFO] [stdout] --> src/algebra/bit.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn bit_length_table(n: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `reverse_bits` is never used [INFO] [stdout] --> src/algebra/bit.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn reverse_bits(n: usize) -> usize { n.reverse_bits() } [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `reverse_bits_v2` is never used [INFO] [stdout] --> src/algebra/bit.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn reverse_bits_v2(mut n: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bit_inverse` is never used [INFO] [stdout] --> src/algebra/bit.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn bit_inverse(n: usize) -> usize { !n } [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bit_inverse_v2` is never used [INFO] [stdout] --> src/algebra/bit.rs:82:8 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn bit_inverse_v2(n: usize) -> usize { (!0usize) ^ n } [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `popcount` is never used [INFO] [stdout] --> src/algebra/bit.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn popcount(mut n: usize) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `popcount_v2` is never used [INFO] [stdout] --> src/algebra/bit.rs:96:8 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn popcount_v2(n: usize) -> usize { n.count_ones() as usize } [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `popcount_v3` is never used [INFO] [stdout] --> src/algebra/bit.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn popcount_v3(mut n: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `popcount_table` is never used [INFO] [stdout] --> src/algebra/bit.rs:109:8 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn popcount_table(n: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Power` is never constructed [INFO] [stdout] --> src/algebra/pow.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Power<'a, T> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `do` are never used [INFO] [stdout] --> src/algebra/pow.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl<'a, T> Power<'a, T> { [INFO] [stdout] | ------------------------ associated items in this implementation [INFO] [stdout] 17 | pub fn new(m: structs::Monoid<'a, T>) -> Self { Self { m } } [INFO] [stdout] | ^^^ [INFO] [stdout] 18 | [INFO] [stdout] 19 | pub fn r#do(&self, x: &T, n: usize) -> T{ [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/algebra/modular.rs:17:18 [INFO] [stdout] | [INFO] [stdout] 15 | impl Modular { [INFO] [stdout] | ----------------------------------- method in this implementation [INFO] [stdout] 16 | pub fn new(n: usize) -> Self { Self { value: n % MOD } } [INFO] [stdout] 17 | pub const fn value(&self) -> usize { self.value % MOD } [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Tensor` is never constructed [INFO] [stdout] --> src/algebra/tensor.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Tensor { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/algebra/tensor.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl Tensor { [INFO] [stdout] | ----------------------------------------------------------- associated function in this implementation [INFO] [stdout] 24 | pub fn new(shape: [usize; NDIM]) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `flat_index` is never used [INFO] [stdout] --> src/algebra/tensor.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 37 | impl Tensor { [INFO] [stdout] | ------------------------------------------ method in this implementation [INFO] [stdout] 38 | fn flat_index(&self, index: [usize; NDIM]) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `e`, `op`, and `pow` are never used [INFO] [stdout] --> src/algebra/tensor.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 88 | impl Tensor { [INFO] [stdout] | ----------------------------------------------- associated items in this implementation [INFO] [stdout] 89 | pub fn e(&self) -> Self { [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn op(lhs: &Self, rhs: &Self) -> Self { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 118 | pub fn pow(&self, n: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Inf` is never used [INFO] [stdout] --> src/cmp.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait Inf { const INF: Self; } [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bisect` is never used [INFO] [stdout] --> src/analysis/binary_search.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn bisect(is_ok: &dyn Fn(&T) -> bool, a: &[T]) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lower_bound` is never used [INFO] [stdout] --> src/analysis/binary_search.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn lower_bound(a: &[T], x: &T) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `longest_increasing_sequence` is never used [INFO] [stdout] --> src/dp.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn longest_increasing_sequence(a: &[T]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pascal` is never used [INFO] [stdout] --> src/combinatorics/pascal.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn pascal(n: usize) -> Vec> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.68s [INFO] running `Command { std: "docker" "inspect" "c18846512b4e2d63352f762e0b96caddeebc858850029084606cf5057209c64d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c18846512b4e2d63352f762e0b96caddeebc858850029084606cf5057209c64d", kill_on_drop: false }` [INFO] [stdout] c18846512b4e2d63352f762e0b96caddeebc858850029084606cf5057209c64d