[INFO] cloning repository https://github.com/yoimers/rust-atcoder [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/yoimers/rust-atcoder" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyoimers%2Frust-atcoder", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyoimers%2Frust-atcoder'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 4594e688063be815d3bafad7113212b0a6bf211c [INFO] building yoimers/rust-atcoder against master#11663cd3bfefef7d34e8f0892c250bf698049392+rustflags=-Dtail-expr-drop-order for pr-134523 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyoimers%2Frust-atcoder" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/yoimers/rust-atcoder on toolchain 11663cd3bfefef7d34e8f0892c250bf698049392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/yoimers/rust-atcoder [INFO] finished tweaking git repo https://github.com/yoimers/rust-atcoder [INFO] tweaked toml for git repo https://github.com/yoimers/rust-atcoder written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/yoimers/rust-atcoder 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" "+11663cd3bfefef7d34e8f0892c250bf698049392" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded cargo-snippet v0.6.5 [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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4143b7c7830399e8865f175e87160534b37f37f96ccf549c28b6943b568304fa [INFO] running `Command { std: "docker" "start" "-a" "4143b7c7830399e8865f175e87160534b37f37f96ccf549c28b6943b568304fa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4143b7c7830399e8865f175e87160534b37f37f96ccf549c28b6943b568304fa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4143b7c7830399e8865f175e87160534b37f37f96ccf549c28b6943b568304fa", kill_on_drop: false }` [INFO] [stdout] 4143b7c7830399e8865f175e87160534b37f37f96ccf549c28b6943b568304fa [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 -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] bdddd8b533fc17d7db97d088c9863c4fad635d1a97765cd742772353c2506393 [INFO] running `Command { std: "docker" "start" "-a" "bdddd8b533fc17d7db97d088c9863c4fad635d1a97765cd742772353c2506393", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.137 [INFO] [stderr] Compiling either v1.9.0 [INFO] [stderr] Compiling proconio v0.4.5 [INFO] [stderr] Compiling fixedbitset v0.4.2 [INFO] [stderr] Compiling cargo-snippet v0.6.5 [INFO] [stderr] Compiling superslice v1.0.0 [INFO] [stderr] Compiling itertools v0.11.0 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling mysnippet v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::ops::Add` [INFO] [stdout] --> src/coord_compression.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::Add; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `MAX_RUQ` should have an upper camel case name [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:221:8 [INFO] [stdout] | [INFO] [stdout] 221 | struct MAX_RUQ; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper camel case: `MaxRuq` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `MIN_RUQ` should have an upper camel case name [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:257:8 [INFO] [stdout] | [INFO] [stdout] 257 | struct MIN_RUQ; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper camel case: `MinRuq` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `MAX_RAQ` should have an upper camel case name [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:295:8 [INFO] [stdout] | [INFO] [stdout] 295 | struct MAX_RAQ; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper camel case: `MaxRaq` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `MIN_RAQ` should have an upper camel case name [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:318:8 [INFO] [stdout] | [INFO] [stdout] 318 | struct MIN_RAQ; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper camel case: `MinRaq` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `MIN_RAQ` should have an upper camel case name [INFO] [stdout] --> src/graph/lazy_segment_tree_new.rs:207:10 [INFO] [stdout] | [INFO] [stdout] 207 | struct MIN_RAQ; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper camel case: `MinRaq` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/graph/bellmanford.rs:23:29 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn find_negative_loop(v: usize, n: usize, edge: &[(usize, usize, i64)]) -> bool { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:235:23 [INFO] [stdout] | [INFO] [stdout] 235 | fn ap(f: Self::F, x: Self::Monoid) -> Self::Monoid { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `g` [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:238:28 [INFO] [stdout] | [INFO] [stdout] 238 | fn compose(f: Self::F, g: Self::F) -> Self::F { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_g` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:271:23 [INFO] [stdout] | [INFO] [stdout] 271 | fn ap(f: Self::F, x: Self::Monoid) -> Self::Monoid { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `g` [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:274:28 [INFO] [stdout] | [INFO] [stdout] 274 | fn compose(f: Self::F, g: Self::F) -> Self::F { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_g` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `BinarySearch` is never used [INFO] [stdout] --> src/binary_search.rs:1:7 [INFO] [stdout] | [INFO] [stdout] 1 | trait BinarySearch { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Line` is never constructed [INFO] [stdout] --> src/convex_hull_trick.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | struct Line { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `y` are never used [INFO] [stdout] --> src/convex_hull_trick.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Line { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 11 | #[doc = "y=ax+b"] [INFO] [stdout] 12 | pub fn new(a: i64, b: i64) -> Line { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | pub fn y(&self, x: i64) -> i64 { [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConvexHullTrick` is never constructed [INFO] [stdout] --> src/convex_hull_trick.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | struct ConvexHullTrick { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/convex_hull_trick.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl ConvexHullTrick { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 25 | pub fn new() -> ConvexHullTrick { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | fn check(l1: (i64, i64), l2: (i64, i64), l3: (i64, i64)) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn add(&mut self, line: Line) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn f(&self, i: usize, x: i64) -> i64 { [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 55 | fn get bool>(&self, x: i64, comp: F) -> Line { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn get_upper(&self, x: i64) -> Line { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn get_lower(&self, x: i64) -> Line { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compress_vec` is never used [INFO] [stdout] --> src/coord_compression.rs:50:4 [INFO] [stdout] | [INFO] [stdout] 50 | fn compress_vec(input_vec: Vec) -> Vec<(T, usize)> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Graph` is never used [INFO] [stdout] --> src/graph/adjacency.rs:3:6 [INFO] [stdout] | [INFO] [stdout] 3 | enum Graph { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UndirectedGraph` is never constructed [INFO] [stdout] --> src/graph/adjacency.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | struct UndirectedGraph { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DirectedGraph` is never constructed [INFO] [stdout] --> src/graph/adjacency.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | struct DirectedGraph { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `is_bipartite`, and `kruskal` are never used [INFO] [stdout] --> src/graph/adjacency.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl UndirectedGraph { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 16 | pub fn new(n: usize, edge: &[(usize, usize)]) -> UndirectedGraph { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn is_bipartite(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn kruskal(&mut self) {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX` is never used [INFO] [stdout] --> src/graph/bellmanford.rs:1:7 [INFO] [stdout] | [INFO] [stdout] 1 | const MAX: i64 = std::i64::MAX; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BellmanFord` is never constructed [INFO] [stdout] --> src/graph/bellmanford.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | struct BellmanFord {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `shortest_path` and `find_negative_loop` are never used [INFO] [stdout] --> src/graph/bellmanford.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 5 | impl BellmanFord { [INFO] [stdout] | ---------------- associated functions in this implementation [INFO] [stdout] 6 | pub fn shortest_path(v: usize, n: usize, edge: &[(usize, usize, i64)]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn find_negative_loop(v: usize, n: usize, edge: &[(usize, usize, i64)]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BIT` is never constructed [INFO] [stdout] --> src/graph/binary_indexed_tree.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | struct BIT { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add`, and `sum` are never used [INFO] [stdout] --> src/graph/binary_indexed_tree.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 7 | impl BIT { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 8 | fn new(size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | fn add(&mut self, index: usize, value: i64) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | fn sum(&mut self, index: usize) -> i64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `main` is never used [INFO] [stdout] --> src/graph/dijkstra.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn main() {} [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX` is never used [INFO] [stdout] --> src/graph/dijkstra.rs:3:7 [INFO] [stdout] | [INFO] [stdout] 3 | const MAX: i64 = std::i64::MAX; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Dijkstra` is never constructed [INFO] [stdout] --> src/graph/dijkstra.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | struct Dijkstra { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Edge` is never constructed [INFO] [stdout] --> src/graph/dijkstra.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | struct Edge { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `dijkstra`, `get_path`, and `warshall_floyed` are never used [INFO] [stdout] --> src/graph/dijkstra.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 16 | impl Dijkstra { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 17 | pub fn new(n: usize, edge: &[Edge]) -> Dijkstra { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn dijkstra(&mut self, s: usize) -> (Vec, Vec) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn get_path(&mut self, s: usize, t: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn warshall_floyed(&mut self) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LazySegmentTree` is never constructed [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | struct LazySegmentTree { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Monoid` is never used [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | trait Monoid: Copy { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get`, and `range_update` are never used [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 13 | impl LazySegmentTree { [INFO] [stdout] | ------------------------------------------------------ associated items in this implementation [INFO] [stdout] 14 | fn new(n: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | fn get(&mut self, left: usize, right: usize) -> T { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | fn range_update(&mut self, left: usize, right: usize, value: T) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `SEGLazyImpl` is never used [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:126:7 [INFO] [stdout] | [INFO] [stdout] 126 | trait SEGLazyImpl { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SEGLazy` is never constructed [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:142:8 [INFO] [stdout] | [INFO] [stdout] 142 | struct SEGLazy { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `propagate`, `do_update`, `update`, `do_query`, and `query` are never used [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:150:12 [INFO] [stdout] | [INFO] [stdout] 149 | impl SEGLazy { [INFO] [stdout] | ------------------------------- associated items in this implementation [INFO] [stdout] 150 | pub fn new(n: usize, init: T::Monoid) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | fn propagate(&mut self, k: usize) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | fn do_update( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 196 | pub fn update(&mut self, l: usize, r: usize, x: T::F) -> T::Monoid { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 200 | fn do_query(&mut self, a: usize, b: usize, k: usize, l: usize, r: usize) -> T::Monoid { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 214 | pub fn query(&mut self, l: usize, r: usize) -> T::Monoid { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MAX_RUQ` is never constructed [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:221:8 [INFO] [stdout] | [INFO] [stdout] 221 | struct MAX_RUQ; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MIN_RUQ` is never constructed [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:257:8 [INFO] [stdout] | [INFO] [stdout] 257 | struct MIN_RUQ; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MAX_RAQ` is never constructed [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:295:8 [INFO] [stdout] | [INFO] [stdout] 295 | struct MAX_RAQ; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MIN_RAQ` is never constructed [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:318:8 [INFO] [stdout] | [INFO] [stdout] 318 | struct MIN_RAQ; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `id`, `op`, `e`, `action`, and `compose` are never used [INFO] [stdout] --> src/graph/lazy_segment_tree_new.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub trait SEGLazyImpl { [INFO] [stdout] | ----------- associated functions in this trait [INFO] [stdout] ... [INFO] [stdout] 11 | fn id() -> Self::Monoid; [INFO] [stdout] | ^^ [INFO] [stdout] 12 | fn op(x: Self::Monoid, y: Self::Monoid) -> Self::Monoid; [INFO] [stdout] | ^^ [INFO] [stdout] 13 | fn e() -> Self::Action; [INFO] [stdout] | ^ [INFO] [stdout] 14 | fn action(f: Self::Action, x: Self::Monoid) -> Self::Monoid; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 15 | fn compose(f: Self::Action, g: Self::Action) -> Self::Action; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SEGLazy` is never constructed [INFO] [stdout] --> src/graph/lazy_segment_tree_new.rs:18:14 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct SEGLazy { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `set`, `build`, `query`, and `operate_range` are never used [INFO] [stdout] --> src/graph/lazy_segment_tree_new.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl SEGLazy { [INFO] [stdout] | ------------------------------- associated items in this implementation [INFO] [stdout] 26 | pub fn new(n: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn set(&mut self, mut i: usize, x: T::Monoid) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn build(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn query(&mut self, range: impl RangeBounds) -> T::Monoid { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn operate_range(&mut self, range: impl RangeBounds, x: T::Action) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LCA` is never constructed [INFO] [stdout] --> src/graph/lca.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | struct LCA { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `edge`, `dfs`, `build`, `lca`, and `distance` are never used [INFO] [stdout] --> src/graph/lca.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 10 | impl LCA { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 11 | pub fn new(n: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn edge(&mut self, u: usize, v: usize) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | fn dfs(&mut self, u: usize, parent: Option, depth: usize) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn build(&mut self, root: usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn lca(&self, u: usize, v: usize) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn distance(&self, u: usize, v: usize) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Edge` is never constructed [INFO] [stdout] --> src/graph/maximum_flow.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | struct Edge { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Network` is never constructed [INFO] [stdout] --> src/graph/maximum_flow.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | struct Network { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_edge`, `n`, `bfs`, `dfs`, and `max_flow` are never used [INFO] [stdout] --> src/graph/maximum_flow.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 17 | impl Network { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 18 | fn new(n: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | fn add_edge(&mut self, from: usize, to: usize, cap: i64) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | fn n(&self) -> usize { [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 44 | fn bfs(&mut self, s: usize) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | fn dfs(&mut self, s: usize, t: usize, f: i64) -> i64 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | fn max_flow(&mut self, s: usize, t: usize) -> i64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SegmentTree` is never constructed [INFO] [stdout] --> src/graph/segment_tree.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | struct SegmentTree { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Monoid` is never used [INFO] [stdout] --> src/graph/segment_tree.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | trait Monoid: Copy { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get`, `update`, and `add` are never used [INFO] [stdout] --> src/graph/segment_tree.rs:14:6 [INFO] [stdout] | [INFO] [stdout] 13 | impl SegmentTree { [INFO] [stdout] | -------------------------------------------------- associated items in this implementation [INFO] [stdout] 14 | fn new(n: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | fn get(&self, range: impl RangeBounds) -> T { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | fn update(&mut self, index: usize, value: T) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | fn add(&mut self, index: usize, value: T) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `id` and `op` are never used [INFO] [stdout] --> src/graph/segment_tree.rs:116:8 [INFO] [stdout] | [INFO] [stdout] 115 | pub trait Monoid: Copy { [INFO] [stdout] | ------ associated functions in this trait [INFO] [stdout] 116 | fn id() -> Self; [INFO] [stdout] | ^^ [INFO] [stdout] 117 | fn op(l: Self, r: Self) -> Self; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SegTree` is never constructed [INFO] [stdout] --> src/graph/segment_tree.rs:119:14 [INFO] [stdout] | [INFO] [stdout] 119 | pub struct SegTree { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `set`, `build`, and `query` are never used [INFO] [stdout] --> src/graph/segment_tree.rs:126:12 [INFO] [stdout] | [INFO] [stdout] 125 | impl SegTree { [INFO] [stdout] | -------------------------- associated items in this implementation [INFO] [stdout] 126 | pub fn new(n: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | pub fn set(&mut self, idx: usize, x: T) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | fn build(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn query(&mut self, range: impl RangeBounds) -> T { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MOD` is never used [INFO] [stdout] --> src/math/combination.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const MOD: usize = 998244353; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `combination` is never used [INFO] [stdout] --> src/math/combination.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn combination(n: usize, r: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pow` is never used [INFO] [stdout] --> src/math/combination.rs:40:4 [INFO] [stdout] | [INFO] [stdout] 40 | fn pow(x: usize, n: usize) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `binom` is never used [INFO] [stdout] --> src/math/combination.rs:56:4 [INFO] [stdout] | [INFO] [stdout] 56 | fn binom() -> Vec> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gauss_crt` is never used [INFO] [stdout] --> src/math/crt.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn gauss_crt(rm: &Vec<(usize, usize)>) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gcd` is never used [INFO] [stdout] --> src/math/gcd.rs:4:4 [INFO] [stdout] | [INFO] [stdout] 4 | fn gcd(a: i64, b: i64) -> i64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lcm` is never used [INFO] [stdout] --> src/math/gcd.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn lcm(a: i64, b: i64) -> i64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extgcd1` is never used [INFO] [stdout] --> src/math/gcd.rs:17:4 [INFO] [stdout] | [INFO] [stdout] 17 | fn extgcd1(a: i64, b: i64) -> (i64, i64, i64) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extgcd2` is never used [INFO] [stdout] --> src/math/gcd.rs:27:4 [INFO] [stdout] | [INFO] [stdout] 27 | fn extgcd2(a: i64, b: i64, x: &mut i64, y: &mut i64) -> i64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `modinv` is never used [INFO] [stdout] --> src/math/gcd.rs:40:4 [INFO] [stdout] | [INFO] [stdout] 40 | fn modinv(mut a: i64, modulo: i64) -> i64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOG_N` is never used [INFO] [stdout] --> src/math/hilbert.rs:53:7 [INFO] [stdout] | [INFO] [stdout] 53 | const LOG_N: usize = 20; //2^LOG_N > n [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_N` is never used [INFO] [stdout] --> src/math/hilbert.rs:54:7 [INFO] [stdout] | [INFO] [stdout] 54 | const MAX_N: usize = 1 << LOG_N; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hilbert_order` is never used [INFO] [stdout] --> src/math/hilbert.rs:55:4 [INFO] [stdout] | [INFO] [stdout] 55 | fn hilbert_order(x: usize, y: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `matrix_product` is never used [INFO] [stdout] --> src/math/matrix.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn matrix_product(a: &Vec>, b: &Vec>) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `vector_product` is never used [INFO] [stdout] --> src/math/matrix.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn vector_product(a: &Vec>, b: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `matrix_pow` is never used [INFO] [stdout] --> src/math/matrix.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn matrix_pow(x: &Vec>, k: usize) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Matrix` is never constructed [INFO] [stdout] --> src/math/matrix.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | struct Matrix { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MatrixInfo` is never constructed [INFO] [stdout] --> src/math/matrix.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | struct MatrixInfo { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `EPS`, `new`, and `gauss_jordan` are never used [INFO] [stdout] --> src/math/matrix.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 46 | impl Matrix { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 47 | const EPS: f64 = 1e-10; [INFO] [stdout] | ^^^ [INFO] [stdout] 48 | fn new(a: Vec>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | fn gauss_jordan(&mut self) -> MatrixInfo { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MatrixXOR` is never constructed [INFO] [stdout] --> src/math/matrix.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | struct MatrixXOR { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `gauss_jordan` are never used [INFO] [stdout] --> src/math/matrix.rs:90:6 [INFO] [stdout] | [INFO] [stdout] 89 | impl MatrixXOR { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 90 | fn new(a: Vec>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | fn gauss_jordan(&mut self) -> MatrixInfo { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MatrixBitSet` is never constructed [INFO] [stdout] --> src/math/matrix.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 113 | struct MatrixBitSet { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `gauss_jordan` are never used [INFO] [stdout] --> src/math/matrix.rs:118:10 [INFO] [stdout] | [INFO] [stdout] 117 | impl MatrixBitSet { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 118 | pub fn new(bitsets: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn gauss_jordan(&mut self) -> MatrixInfo { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `factors` is never used [INFO] [stdout] --> src/math/prime.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn factors(x: usize) -> Vec { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `firstfac` is never used [INFO] [stdout] --> src/math/prime.rs:24:4 [INFO] [stdout] | [INFO] [stdout] 24 | fn firstfac(x: usize) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_prime` is never used [INFO] [stdout] --> src/math/prime.rs:41:4 [INFO] [stdout] | [INFO] [stdout] 41 | fn is_prime(n: usize) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `divisor` is never used [INFO] [stdout] --> src/math/prime.rs:49:4 [INFO] [stdout] | [INFO] [stdout] 49 | fn divisor(n: usize) -> Vec { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sieve` is never used [INFO] [stdout] --> src/math/prime.rs:67:4 [INFO] [stdout] | [INFO] [stdout] 67 | fn sieve(n: usize) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pow` is never used [INFO] [stdout] --> src/math/prime.rs:84:4 [INFO] [stdout] | [INFO] [stdout] 84 | fn pow(x: usize, n: usize) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `pop_first` and `pop_last` are never used [INFO] [stdout] --> src/multi_set.rs:43:6 [INFO] [stdout] | [INFO] [stdout] 10 | impl BTreeMultiSet { [INFO] [stdout] | -------------------------------------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 43 | fn pop_first(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | fn pop_last(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `pop_first` and `pop_last` are never used [INFO] [stdout] --> src/multi_set.rs:199:6 [INFO] [stdout] | [INFO] [stdout] 173 | impl BTreeMultiMap { [INFO] [stdout] | -------------------------------------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 199 | fn pop_first(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 208 | fn pop_last(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BTreeRangeSet` is never constructed [INFO] [stdout] --> src/range_set.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | struct BTreeRangeSet { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `insert`, `range_insert`, `contains`, `remove`, and `mex` are never used [INFO] [stdout] --> src/range_set.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 5 | impl BTreeRangeSet { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 6 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | pub fn insert(&mut self, x: i64) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn range_insert(&mut self, range: impl std::ops::RangeBounds) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn contains(&self, range: impl std::ops::RangeBounds) -> Option<(i64, i64)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | pub fn remove(&mut self, x: i64) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | pub fn mex(&self, x: i64) -> i64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Point` is never constructed [INFO] [stdout] --> src/range_tree.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | struct Point { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RangeTree` is never constructed [INFO] [stdout] --> src/range_tree.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | struct RangeTree { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `fold` are never used [INFO] [stdout] --> src/range_tree.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 16 | impl RangeTree { [INFO] [stdout] | ----------------------------- associated items in this implementation [INFO] [stdout] 17 | pub fn new(points: &mut Vec>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn fold(&self, x_range: impl std::ops::RangeBounds, y_range: impl std::ops::RangeBounds) -> i64 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RoLiHa` is never constructed [INFO] [stdout] --> src/string/roliha.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | struct RoLiHa { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ROLIHA_MASK30` is never used [INFO] [stdout] --> src/string/roliha.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const ROLIHA_MASK30: u64 = (1 << 30) - 1; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ROLIHA_MASK31` is never used [INFO] [stdout] --> src/string/roliha.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const ROLIHA_MASK31: u64 = (1 << 31) - 1; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ROLIHA_MOD` is never used [INFO] [stdout] --> src/string/roliha.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 16 | const ROLIHA_MOD: u64 = (1 << 61) - 1; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ROLIHA_P` is never used [INFO] [stdout] --> src/string/roliha.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | const ROLIHA_P: u64 = ROLIHA_MOD * ((1 << 3) - 1); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get`, `connect`, `mul`, and `calcmod` are never used [INFO] [stdout] --> src/string/roliha.rs:22:6 [INFO] [stdout] | [INFO] [stdout] 20 | impl RoLiHa { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 21 | #[doc = "注意: Sに0は含まれてはいけない"] [INFO] [stdout] 22 | fn new(s: &[u64]) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn get(&self, l: usize, r: usize) -> u64 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn connect(&self, h1: u64, h2: u64, h2len: usize) -> u64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | fn mul(l: u64, r: u64) -> u64 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | fn calcmod(x: u64) -> u64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SuffixArray` is never constructed [INFO] [stdout] --> src/string/suffix_array.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | struct SuffixArray { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `sort_cyclic_shifts`, `lt_substr`, `lower_bound`, and `right_most_index` are never used [INFO] [stdout] --> src/string/suffix_array.rs:24:10 [INFO] [stdout] | [INFO] [stdout] 23 | impl SuffixArray { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 24 | pub fn new(s: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | fn sort_cyclic_shifts(s: &[u64]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | fn lt_substr(s: &[u64], t: &[u64], si: usize, ti: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | fn lower_bound(&self, t: &[u64]) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn right_most_index(&self, t: &[u64]) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `as_v` is never used [INFO] [stdout] --> src/string/suffix_array.rs:142:4 [INFO] [stdout] | [INFO] [stdout] 142 | fn as_v(s: &str) -> Vec { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ternary_search` is never used [INFO] [stdout] --> src/ternary_search.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn ternary_search f64>(f: F, l: f64, r: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `LazySeg` should have a snake case name [INFO] [stdout] --> src/graph/lazy_segment_tree_new.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | mod LazySeg { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `lazy_seg` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `INF` should have a snake case name [INFO] [stdout] --> src/graph/maximum_flow.rs:84:17 [INFO] [stdout] | [INFO] [stdout] 84 | let INF = 2_000_000_001; [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `inf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `SegTree` should have a snake case name [INFO] [stdout] --> src/graph/segment_tree.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | mod SegTree { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `seg_tree` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `powMemo` should have a snake case name [INFO] [stdout] --> src/string/roliha.rs:8:3 [INFO] [stdout] | [INFO] [stdout] 8 | powMemo: Vec, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `pow_memo` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `powMemo` should have a snake case name [INFO] [stdout] --> src/string/roliha.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | let mut powMemo = vec![0; s.len() + 1]; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `pow_memo` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `alphabet` should have an upper case name [INFO] [stdout] --> src/string/suffix_array.rs:34:11 [INFO] [stdout] | [INFO] [stdout] 34 | const alphabet: usize = 256; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper case: `ALPHABET` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.32s [INFO] running `Command { std: "docker" "inspect" "bdddd8b533fc17d7db97d088c9863c4fad635d1a97765cd742772353c2506393", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bdddd8b533fc17d7db97d088c9863c4fad635d1a97765cd742772353c2506393", kill_on_drop: false }` [INFO] [stdout] bdddd8b533fc17d7db97d088c9863c4fad635d1a97765cd742772353c2506393 [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 -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e0deb739515558f791b0b8c7c778e79fd66a6b63798385ebfad8fdd186dc9b3b [INFO] running `Command { std: "docker" "start" "-a" "e0deb739515558f791b0b8c7c778e79fd66a6b63798385ebfad8fdd186dc9b3b", kill_on_drop: false }` [INFO] [stdout] warning: unused import: `std::ops::Add` [INFO] [stdout] --> src/coord_compression.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::Add; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `MAX_RUQ` should have an upper camel case name [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:221:8 [INFO] [stdout] | [INFO] [stdout] 221 | struct MAX_RUQ; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper camel case: `MaxRuq` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `MIN_RUQ` should have an upper camel case name [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:257:8 [INFO] [stdout] | [INFO] [stdout] 257 | struct MIN_RUQ; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper camel case: `MinRuq` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `MAX_RAQ` should have an upper camel case name [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:295:8 [INFO] [stdout] | [INFO] [stdout] 295 | struct MAX_RAQ; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper camel case: `MaxRaq` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `MIN_RAQ` should have an upper camel case name [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:318:8 [INFO] [stdout] | [INFO] [stdout] 318 | struct MIN_RAQ; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper camel case: `MinRaq` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `MIN_RAQ` should have an upper camel case name [INFO] [stdout] --> src/graph/lazy_segment_tree_new.rs:207:10 [INFO] [stdout] | [INFO] [stdout] 207 | struct MIN_RAQ; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper camel case: `MinRaq` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/graph/bellmanford.rs:23:29 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn find_negative_loop(v: usize, n: usize, edge: &[(usize, usize, i64)]) -> bool { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:235:23 [INFO] [stdout] | [INFO] [stdout] 235 | fn ap(f: Self::F, x: Self::Monoid) -> Self::Monoid { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `g` [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:238:28 [INFO] [stdout] | [INFO] [stdout] 238 | fn compose(f: Self::F, g: Self::F) -> Self::F { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_g` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:271:23 [INFO] [stdout] | [INFO] [stdout] 271 | fn ap(f: Self::F, x: Self::Monoid) -> Self::Monoid { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `g` [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:274:28 [INFO] [stdout] | [INFO] [stdout] 274 | fn compose(f: Self::F, g: Self::F) -> Self::F { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_g` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `BinarySearch` is never used [INFO] [stdout] --> src/binary_search.rs:1:7 [INFO] [stdout] | [INFO] [stdout] 1 | trait BinarySearch { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Line` is never constructed [INFO] [stdout] --> src/convex_hull_trick.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | struct Line { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `y` are never used [INFO] [stdout] --> src/convex_hull_trick.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Line { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 11 | #[doc = "y=ax+b"] [INFO] [stdout] 12 | pub fn new(a: i64, b: i64) -> Line { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | pub fn y(&self, x: i64) -> i64 { [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConvexHullTrick` is never constructed [INFO] [stdout] --> src/convex_hull_trick.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | struct ConvexHullTrick { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/convex_hull_trick.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl ConvexHullTrick { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 25 | pub fn new() -> ConvexHullTrick { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | fn check(l1: (i64, i64), l2: (i64, i64), l3: (i64, i64)) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn add(&mut self, line: Line) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn f(&self, i: usize, x: i64) -> i64 { [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 55 | fn get bool>(&self, x: i64, comp: F) -> Line { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn get_upper(&self, x: i64) -> Line { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn get_lower(&self, x: i64) -> Line { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compress_vec` is never used [INFO] [stdout] --> src/coord_compression.rs:50:4 [INFO] [stdout] | [INFO] [stdout] 50 | fn compress_vec(input_vec: Vec) -> Vec<(T, usize)> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Graph` is never used [INFO] [stdout] --> src/graph/adjacency.rs:3:6 [INFO] [stdout] | [INFO] [stdout] 3 | enum Graph { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UndirectedGraph` is never constructed [INFO] [stdout] --> src/graph/adjacency.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | struct UndirectedGraph { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DirectedGraph` is never constructed [INFO] [stdout] --> src/graph/adjacency.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | struct DirectedGraph { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `is_bipartite`, and `kruskal` are never used [INFO] [stdout] --> src/graph/adjacency.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl UndirectedGraph { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 16 | pub fn new(n: usize, edge: &[(usize, usize)]) -> UndirectedGraph { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn is_bipartite(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn kruskal(&mut self) {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX` is never used [INFO] [stdout] --> src/graph/bellmanford.rs:1:7 [INFO] [stdout] | [INFO] [stdout] 1 | const MAX: i64 = std::i64::MAX; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BellmanFord` is never constructed [INFO] [stdout] --> src/graph/bellmanford.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | struct BellmanFord {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `shortest_path` and `find_negative_loop` are never used [INFO] [stdout] --> src/graph/bellmanford.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 5 | impl BellmanFord { [INFO] [stdout] | ---------------- associated functions in this implementation [INFO] [stdout] 6 | pub fn shortest_path(v: usize, n: usize, edge: &[(usize, usize, i64)]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn find_negative_loop(v: usize, n: usize, edge: &[(usize, usize, i64)]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BIT` is never constructed [INFO] [stdout] --> src/graph/binary_indexed_tree.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | struct BIT { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add`, and `sum` are never used [INFO] [stdout] --> src/graph/binary_indexed_tree.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 7 | impl BIT { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 8 | fn new(size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | fn add(&mut self, index: usize, value: i64) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | fn sum(&mut self, index: usize) -> i64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `main` is never used [INFO] [stdout] --> src/graph/dijkstra.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn main() {} [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX` is never used [INFO] [stdout] --> src/graph/dijkstra.rs:3:7 [INFO] [stdout] | [INFO] [stdout] 3 | const MAX: i64 = std::i64::MAX; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Dijkstra` is never constructed [INFO] [stdout] --> src/graph/dijkstra.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | struct Dijkstra { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Edge` is never constructed [INFO] [stdout] --> src/graph/dijkstra.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | struct Edge { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `dijkstra`, `get_path`, and `warshall_floyed` are never used [INFO] [stdout] --> src/graph/dijkstra.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 16 | impl Dijkstra { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 17 | pub fn new(n: usize, edge: &[Edge]) -> Dijkstra { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn dijkstra(&mut self, s: usize) -> (Vec, Vec) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn get_path(&mut self, s: usize, t: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn warshall_floyed(&mut self) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LazySegmentTree` is never constructed [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | struct LazySegmentTree { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Monoid` is never used [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | trait Monoid: Copy { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get`, and `range_update` are never used [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 13 | impl LazySegmentTree { [INFO] [stdout] | ------------------------------------------------------ associated items in this implementation [INFO] [stdout] 14 | fn new(n: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | fn get(&mut self, left: usize, right: usize) -> T { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | fn range_update(&mut self, left: usize, right: usize, value: T) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `SEGLazyImpl` is never used [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:126:7 [INFO] [stdout] | [INFO] [stdout] 126 | trait SEGLazyImpl { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SEGLazy` is never constructed [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:142:8 [INFO] [stdout] | [INFO] [stdout] 142 | struct SEGLazy { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `propagate`, `do_update`, `update`, `do_query`, and `query` are never used [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:150:12 [INFO] [stdout] | [INFO] [stdout] 149 | impl SEGLazy { [INFO] [stdout] | ------------------------------- associated items in this implementation [INFO] [stdout] 150 | pub fn new(n: usize, init: T::Monoid) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | fn propagate(&mut self, k: usize) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | fn do_update( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 196 | pub fn update(&mut self, l: usize, r: usize, x: T::F) -> T::Monoid { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 200 | fn do_query(&mut self, a: usize, b: usize, k: usize, l: usize, r: usize) -> T::Monoid { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 214 | pub fn query(&mut self, l: usize, r: usize) -> T::Monoid { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MAX_RUQ` is never constructed [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:221:8 [INFO] [stdout] | [INFO] [stdout] 221 | struct MAX_RUQ; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MIN_RUQ` is never constructed [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:257:8 [INFO] [stdout] | [INFO] [stdout] 257 | struct MIN_RUQ; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MAX_RAQ` is never constructed [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:295:8 [INFO] [stdout] | [INFO] [stdout] 295 | struct MAX_RAQ; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MIN_RAQ` is never constructed [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:318:8 [INFO] [stdout] | [INFO] [stdout] 318 | struct MIN_RAQ; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `id`, `op`, `e`, `action`, and `compose` are never used [INFO] [stdout] --> src/graph/lazy_segment_tree_new.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub trait SEGLazyImpl { [INFO] [stdout] | ----------- associated functions in this trait [INFO] [stdout] ... [INFO] [stdout] 11 | fn id() -> Self::Monoid; [INFO] [stdout] | ^^ [INFO] [stdout] 12 | fn op(x: Self::Monoid, y: Self::Monoid) -> Self::Monoid; [INFO] [stdout] | ^^ [INFO] [stdout] 13 | fn e() -> Self::Action; [INFO] [stdout] | ^ [INFO] [stdout] 14 | fn action(f: Self::Action, x: Self::Monoid) -> Self::Monoid; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 15 | fn compose(f: Self::Action, g: Self::Action) -> Self::Action; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SEGLazy` is never constructed [INFO] [stdout] --> src/graph/lazy_segment_tree_new.rs:18:14 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct SEGLazy { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `set`, `build`, `query`, and `operate_range` are never used [INFO] [stdout] --> src/graph/lazy_segment_tree_new.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl SEGLazy { [INFO] [stdout] | ------------------------------- associated items in this implementation [INFO] [stdout] 26 | pub fn new(n: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn set(&mut self, mut i: usize, x: T::Monoid) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn build(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn query(&mut self, range: impl RangeBounds) -> T::Monoid { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn operate_range(&mut self, range: impl RangeBounds, x: T::Action) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LCA` is never constructed [INFO] [stdout] --> src/graph/lca.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | struct LCA { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `edge`, `dfs`, `build`, `lca`, and `distance` are never used [INFO] [stdout] --> src/graph/lca.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 10 | impl LCA { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 11 | pub fn new(n: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn edge(&mut self, u: usize, v: usize) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | fn dfs(&mut self, u: usize, parent: Option, depth: usize) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn build(&mut self, root: usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn lca(&self, u: usize, v: usize) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn distance(&self, u: usize, v: usize) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Edge` is never constructed [INFO] [stdout] --> src/graph/maximum_flow.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | struct Edge { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Network` is never constructed [INFO] [stdout] --> src/graph/maximum_flow.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | struct Network { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_edge`, `n`, `bfs`, `dfs`, and `max_flow` are never used [INFO] [stdout] --> src/graph/maximum_flow.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 17 | impl Network { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 18 | fn new(n: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | fn add_edge(&mut self, from: usize, to: usize, cap: i64) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | fn n(&self) -> usize { [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 44 | fn bfs(&mut self, s: usize) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | fn dfs(&mut self, s: usize, t: usize, f: i64) -> i64 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | fn max_flow(&mut self, s: usize, t: usize) -> i64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SegmentTree` is never constructed [INFO] [stdout] --> src/graph/segment_tree.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | struct SegmentTree { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Monoid` is never used [INFO] [stdout] --> src/graph/segment_tree.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | trait Monoid: Copy { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get`, `update`, and `add` are never used [INFO] [stdout] --> src/graph/segment_tree.rs:14:6 [INFO] [stdout] | [INFO] [stdout] 13 | impl SegmentTree { [INFO] [stdout] | -------------------------------------------------- associated items in this implementation [INFO] [stdout] 14 | fn new(n: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | fn get(&self, range: impl RangeBounds) -> T { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | fn update(&mut self, index: usize, value: T) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | fn add(&mut self, index: usize, value: T) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `id` and `op` are never used [INFO] [stdout] --> src/graph/segment_tree.rs:116:8 [INFO] [stdout] | [INFO] [stdout] 115 | pub trait Monoid: Copy { [INFO] [stdout] | ------ associated functions in this trait [INFO] [stdout] 116 | fn id() -> Self; [INFO] [stdout] | ^^ [INFO] [stdout] 117 | fn op(l: Self, r: Self) -> Self; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SegTree` is never constructed [INFO] [stdout] --> src/graph/segment_tree.rs:119:14 [INFO] [stdout] | [INFO] [stdout] 119 | pub struct SegTree { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `set`, `build`, and `query` are never used [INFO] [stdout] --> src/graph/segment_tree.rs:126:12 [INFO] [stdout] | [INFO] [stdout] 125 | impl SegTree { [INFO] [stdout] | -------------------------- associated items in this implementation [INFO] [stdout] 126 | pub fn new(n: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | pub fn set(&mut self, idx: usize, x: T) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | fn build(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn query(&mut self, range: impl RangeBounds) -> T { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MOD` is never used [INFO] [stdout] --> src/math/combination.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const MOD: usize = 998244353; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `combination` is never used [INFO] [stdout] --> src/math/combination.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn combination(n: usize, r: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pow` is never used [INFO] [stdout] --> src/math/combination.rs:40:4 [INFO] [stdout] | [INFO] [stdout] 40 | fn pow(x: usize, n: usize) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `binom` is never used [INFO] [stdout] --> src/math/combination.rs:56:4 [INFO] [stdout] | [INFO] [stdout] 56 | fn binom() -> Vec> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gauss_crt` is never used [INFO] [stdout] --> src/math/crt.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn gauss_crt(rm: &Vec<(usize, usize)>) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gcd` is never used [INFO] [stdout] --> src/math/gcd.rs:4:4 [INFO] [stdout] | [INFO] [stdout] 4 | fn gcd(a: i64, b: i64) -> i64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lcm` is never used [INFO] [stdout] --> src/math/gcd.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn lcm(a: i64, b: i64) -> i64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extgcd1` is never used [INFO] [stdout] --> src/math/gcd.rs:17:4 [INFO] [stdout] | [INFO] [stdout] 17 | fn extgcd1(a: i64, b: i64) -> (i64, i64, i64) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extgcd2` is never used [INFO] [stdout] --> src/math/gcd.rs:27:4 [INFO] [stdout] | [INFO] [stdout] 27 | fn extgcd2(a: i64, b: i64, x: &mut i64, y: &mut i64) -> i64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `modinv` is never used [INFO] [stdout] --> src/math/gcd.rs:40:4 [INFO] [stdout] | [INFO] [stdout] 40 | fn modinv(mut a: i64, modulo: i64) -> i64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOG_N` is never used [INFO] [stdout] --> src/math/hilbert.rs:53:7 [INFO] [stdout] | [INFO] [stdout] 53 | const LOG_N: usize = 20; //2^LOG_N > n [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_N` is never used [INFO] [stdout] --> src/math/hilbert.rs:54:7 [INFO] [stdout] | [INFO] [stdout] 54 | const MAX_N: usize = 1 << LOG_N; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hilbert_order` is never used [INFO] [stdout] --> src/math/hilbert.rs:55:4 [INFO] [stdout] | [INFO] [stdout] 55 | fn hilbert_order(x: usize, y: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `matrix_product` is never used [INFO] [stdout] --> src/math/matrix.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn matrix_product(a: &Vec>, b: &Vec>) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `vector_product` is never used [INFO] [stdout] --> src/math/matrix.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn vector_product(a: &Vec>, b: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `matrix_pow` is never used [INFO] [stdout] --> src/math/matrix.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn matrix_pow(x: &Vec>, k: usize) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Matrix` is never constructed [INFO] [stdout] --> src/math/matrix.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | struct Matrix { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MatrixInfo` is never constructed [INFO] [stdout] --> src/math/matrix.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | struct MatrixInfo { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `EPS`, `new`, and `gauss_jordan` are never used [INFO] [stdout] --> src/math/matrix.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 46 | impl Matrix { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 47 | const EPS: f64 = 1e-10; [INFO] [stdout] | ^^^ [INFO] [stdout] 48 | fn new(a: Vec>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | fn gauss_jordan(&mut self) -> MatrixInfo { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MatrixXOR` is never constructed [INFO] [stdout] --> src/math/matrix.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | struct MatrixXOR { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `gauss_jordan` are never used [INFO] [stdout] --> src/math/matrix.rs:90:6 [INFO] [stdout] | [INFO] [stdout] 89 | impl MatrixXOR { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 90 | fn new(a: Vec>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | fn gauss_jordan(&mut self) -> MatrixInfo { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MatrixBitSet` is never constructed [INFO] [stdout] --> src/math/matrix.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 113 | struct MatrixBitSet { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `gauss_jordan` are never used [INFO] [stdout] --> src/math/matrix.rs:118:10 [INFO] [stdout] | [INFO] [stdout] 117 | impl MatrixBitSet { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 118 | pub fn new(bitsets: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn gauss_jordan(&mut self) -> MatrixInfo { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `factors` is never used [INFO] [stdout] --> src/math/prime.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn factors(x: usize) -> Vec { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `firstfac` is never used [INFO] [stdout] --> src/math/prime.rs:24:4 [INFO] [stdout] | [INFO] [stdout] 24 | fn firstfac(x: usize) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_prime` is never used [INFO] [stdout] --> src/math/prime.rs:41:4 [INFO] [stdout] | [INFO] [stdout] 41 | fn is_prime(n: usize) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `divisor` is never used [INFO] [stdout] --> src/math/prime.rs:49:4 [INFO] [stdout] | [INFO] [stdout] 49 | fn divisor(n: usize) -> Vec { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sieve` is never used [INFO] [stdout] --> src/math/prime.rs:67:4 [INFO] [stdout] | [INFO] [stdout] 67 | fn sieve(n: usize) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pow` is never used [INFO] [stdout] --> src/math/prime.rs:84:4 [INFO] [stdout] | [INFO] [stdout] 84 | fn pow(x: usize, n: usize) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `pop_first` and `pop_last` are never used [INFO] [stdout] --> src/multi_set.rs:43:6 [INFO] [stdout] | [INFO] [stdout] 10 | impl BTreeMultiSet { [INFO] [stdout] | -------------------------------------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 43 | fn pop_first(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | fn pop_last(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `pop_first` and `pop_last` are never used [INFO] [stdout] --> src/multi_set.rs:199:6 [INFO] [stdout] | [INFO] [stdout] 173 | impl BTreeMultiMap { [INFO] [stdout] | -------------------------------------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 199 | fn pop_first(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 208 | fn pop_last(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BTreeRangeSet` is never constructed [INFO] [stdout] --> src/range_set.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | struct BTreeRangeSet { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `insert`, `range_insert`, `contains`, `remove`, and `mex` are never used [INFO] [stdout] --> src/range_set.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 5 | impl BTreeRangeSet { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 6 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | pub fn insert(&mut self, x: i64) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn range_insert(&mut self, range: impl std::ops::RangeBounds) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn contains(&self, range: impl std::ops::RangeBounds) -> Option<(i64, i64)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | pub fn remove(&mut self, x: i64) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | pub fn mex(&self, x: i64) -> i64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Point` is never constructed [INFO] [stdout] --> src/range_tree.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | struct Point { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling mysnippet v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: struct `RangeTree` is never constructed [INFO] [stdout] --> src/range_tree.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | struct RangeTree { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `fold` are never used [INFO] [stdout] --> src/range_tree.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 16 | impl RangeTree { [INFO] [stdout] | ----------------------------- associated items in this implementation [INFO] [stdout] 17 | pub fn new(points: &mut Vec>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn fold(&self, x_range: impl std::ops::RangeBounds, y_range: impl std::ops::RangeBounds) -> i64 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RoLiHa` is never constructed [INFO] [stdout] --> src/string/roliha.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | struct RoLiHa { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ROLIHA_MASK30` is never used [INFO] [stdout] --> src/string/roliha.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const ROLIHA_MASK30: u64 = (1 << 30) - 1; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ROLIHA_MASK31` is never used [INFO] [stdout] --> src/string/roliha.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const ROLIHA_MASK31: u64 = (1 << 31) - 1; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ROLIHA_MOD` is never used [INFO] [stdout] --> src/string/roliha.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 16 | const ROLIHA_MOD: u64 = (1 << 61) - 1; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ROLIHA_P` is never used [INFO] [stdout] --> src/string/roliha.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | const ROLIHA_P: u64 = ROLIHA_MOD * ((1 << 3) - 1); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get`, `connect`, `mul`, and `calcmod` are never used [INFO] [stdout] --> src/string/roliha.rs:22:6 [INFO] [stdout] | [INFO] [stdout] 20 | impl RoLiHa { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 21 | #[doc = "注意: Sに0は含まれてはいけない"] [INFO] [stdout] 22 | fn new(s: &[u64]) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn get(&self, l: usize, r: usize) -> u64 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn connect(&self, h1: u64, h2: u64, h2len: usize) -> u64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | fn mul(l: u64, r: u64) -> u64 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | fn calcmod(x: u64) -> u64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SuffixArray` is never constructed [INFO] [stdout] --> src/string/suffix_array.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | struct SuffixArray { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `sort_cyclic_shifts`, `lt_substr`, `lower_bound`, and `right_most_index` are never used [INFO] [stdout] --> src/string/suffix_array.rs:24:10 [INFO] [stdout] | [INFO] [stdout] 23 | impl SuffixArray { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 24 | pub fn new(s: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | fn sort_cyclic_shifts(s: &[u64]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | fn lt_substr(s: &[u64], t: &[u64], si: usize, ti: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | fn lower_bound(&self, t: &[u64]) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn right_most_index(&self, t: &[u64]) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `as_v` is never used [INFO] [stdout] --> src/string/suffix_array.rs:142:4 [INFO] [stdout] | [INFO] [stdout] 142 | fn as_v(s: &str) -> Vec { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ternary_search` is never used [INFO] [stdout] --> src/ternary_search.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn ternary_search f64>(f: F, l: f64, r: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `LazySeg` should have a snake case name [INFO] [stdout] --> src/graph/lazy_segment_tree_new.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | mod LazySeg { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `lazy_seg` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `INF` should have a snake case name [INFO] [stdout] --> src/graph/maximum_flow.rs:84:17 [INFO] [stdout] | [INFO] [stdout] 84 | let INF = 2_000_000_001; [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `inf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `SegTree` should have a snake case name [INFO] [stdout] --> src/graph/segment_tree.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | mod SegTree { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `seg_tree` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `powMemo` should have a snake case name [INFO] [stdout] --> src/string/roliha.rs:8:3 [INFO] [stdout] | [INFO] [stdout] 8 | powMemo: Vec, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `pow_memo` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `powMemo` should have a snake case name [INFO] [stdout] --> src/string/roliha.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | let mut powMemo = vec![0; s.len() + 1]; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `pow_memo` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `alphabet` should have an upper case name [INFO] [stdout] --> src/string/suffix_array.rs:34:11 [INFO] [stdout] | [INFO] [stdout] 34 | const alphabet: usize = 256; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper case: `ALPHABET` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Add` [INFO] [stdout] --> src/coord_compression.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::Add; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `MAX_RUQ` should have an upper camel case name [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:221:8 [INFO] [stdout] | [INFO] [stdout] 221 | struct MAX_RUQ; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper camel case: `MaxRuq` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `MIN_RUQ` should have an upper camel case name [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:257:8 [INFO] [stdout] | [INFO] [stdout] 257 | struct MIN_RUQ; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper camel case: `MinRuq` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `MAX_RAQ` should have an upper camel case name [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:295:8 [INFO] [stdout] | [INFO] [stdout] 295 | struct MAX_RAQ; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper camel case: `MaxRaq` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `MIN_RAQ` should have an upper camel case name [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:318:8 [INFO] [stdout] | [INFO] [stdout] 318 | struct MIN_RAQ; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper camel case: `MinRaq` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `MIN_RAQ` should have an upper camel case name [INFO] [stdout] --> src/graph/lazy_segment_tree_new.rs:207:10 [INFO] [stdout] | [INFO] [stdout] 207 | struct MIN_RAQ; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper camel case: `MinRaq` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/graph/bellmanford.rs:23:29 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn find_negative_loop(v: usize, n: usize, edge: &[(usize, usize, i64)]) -> bool { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/graph/dijkstra.rs:88:7 [INFO] [stdout] | [INFO] [stdout] 88 | let mut edge = [ [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:235:23 [INFO] [stdout] | [INFO] [stdout] 235 | fn ap(f: Self::F, x: Self::Monoid) -> Self::Monoid { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `g` [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:238:28 [INFO] [stdout] | [INFO] [stdout] 238 | fn compose(f: Self::F, g: Self::F) -> Self::F { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_g` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:271:23 [INFO] [stdout] | [INFO] [stdout] 271 | fn ap(f: Self::F, x: Self::Monoid) -> Self::Monoid { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `g` [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:274:28 [INFO] [stdout] | [INFO] [stdout] 274 | fn compose(f: Self::F, g: Self::F) -> Self::F { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_g` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tree` [INFO] [stdout] --> src/graph/lca.rs:79:7 [INFO] [stdout] | [INFO] [stdout] 79 | let tree = vec![vec![1, 2], vec![0, 3, 4], vec![0, 5], vec![1], vec![1, 6, 7], vec![2], vec![4], vec![4]]; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_tree` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_upper` is never used [INFO] [stdout] --> src/convex_hull_trick.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl ConvexHullTrick { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn get_upper(&self, x: i64) -> Line { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compress_vec` is never used [INFO] [stdout] --> src/coord_compression.rs:50:4 [INFO] [stdout] | [INFO] [stdout] 50 | fn compress_vec(input_vec: Vec) -> Vec<(T, usize)> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Graph` is never used [INFO] [stdout] --> src/graph/adjacency.rs:3:6 [INFO] [stdout] | [INFO] [stdout] 3 | enum Graph { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DirectedGraph` is never constructed [INFO] [stdout] --> src/graph/adjacency.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | struct DirectedGraph { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `kruskal` is never used [INFO] [stdout] --> src/graph/adjacency.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl UndirectedGraph { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn kruskal(&mut self) {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX` is never used [INFO] [stdout] --> src/graph/bellmanford.rs:1:7 [INFO] [stdout] | [INFO] [stdout] 1 | const MAX: i64 = std::i64::MAX; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BellmanFord` is never constructed [INFO] [stdout] --> src/graph/bellmanford.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | struct BellmanFord {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `shortest_path` and `find_negative_loop` are never used [INFO] [stdout] --> src/graph/bellmanford.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 5 | impl BellmanFord { [INFO] [stdout] | ---------------- associated functions in this implementation [INFO] [stdout] 6 | pub fn shortest_path(v: usize, n: usize, edge: &[(usize, usize, i64)]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn find_negative_loop(v: usize, n: usize, edge: &[(usize, usize, i64)]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `main` is never used [INFO] [stdout] --> src/graph/dijkstra.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn main() {} [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MAX_RAQ` is never constructed [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:295:8 [INFO] [stdout] | [INFO] [stdout] 295 | struct MAX_RAQ; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `add` is never used [INFO] [stdout] --> src/graph/segment_tree.rs:56:6 [INFO] [stdout] | [INFO] [stdout] 13 | impl SegmentTree { [INFO] [stdout] | -------------------------------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 56 | fn add(&mut self, index: usize, value: T) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MOD` is never used [INFO] [stdout] --> src/math/combination.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const MOD: usize = 998244353; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `combination` is never used [INFO] [stdout] --> src/math/combination.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn combination(n: usize, r: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pow` is never used [INFO] [stdout] --> src/math/combination.rs:40:4 [INFO] [stdout] | [INFO] [stdout] 40 | fn pow(x: usize, n: usize) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `binom` is never used [INFO] [stdout] --> src/math/combination.rs:56:4 [INFO] [stdout] | [INFO] [stdout] 56 | fn binom() -> Vec> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gcd` is never used [INFO] [stdout] --> src/math/gcd.rs:4:4 [INFO] [stdout] | [INFO] [stdout] 4 | fn gcd(a: i64, b: i64) -> i64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lcm` is never used [INFO] [stdout] --> src/math/gcd.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn lcm(a: i64, b: i64) -> i64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extgcd1` is never used [INFO] [stdout] --> src/math/gcd.rs:17:4 [INFO] [stdout] | [INFO] [stdout] 17 | fn extgcd1(a: i64, b: i64) -> (i64, i64, i64) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extgcd2` is never used [INFO] [stdout] --> src/math/gcd.rs:27:4 [INFO] [stdout] | [INFO] [stdout] 27 | fn extgcd2(a: i64, b: i64, x: &mut i64, y: &mut i64) -> i64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `modinv` is never used [INFO] [stdout] --> src/math/gcd.rs:40:4 [INFO] [stdout] | [INFO] [stdout] 40 | fn modinv(mut a: i64, modulo: i64) -> i64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOG_N` is never used [INFO] [stdout] --> src/math/hilbert.rs:53:7 [INFO] [stdout] | [INFO] [stdout] 53 | const LOG_N: usize = 20; //2^LOG_N > n [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_N` is never used [INFO] [stdout] --> src/math/hilbert.rs:54:7 [INFO] [stdout] | [INFO] [stdout] 54 | const MAX_N: usize = 1 << LOG_N; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hilbert_order` is never used [INFO] [stdout] --> src/math/hilbert.rs:55:4 [INFO] [stdout] | [INFO] [stdout] 55 | fn hilbert_order(x: usize, y: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `matrix_product` is never used [INFO] [stdout] --> src/math/matrix.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn matrix_product(a: &Vec>, b: &Vec>) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `vector_product` is never used [INFO] [stdout] --> src/math/matrix.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn vector_product(a: &Vec>, b: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `matrix_pow` is never used [INFO] [stdout] --> src/math/matrix.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn matrix_pow(x: &Vec>, k: usize) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Matrix` is never constructed [INFO] [stdout] --> src/math/matrix.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | struct Matrix { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MatrixInfo` is never constructed [INFO] [stdout] --> src/math/matrix.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | struct MatrixInfo { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `EPS`, `new`, and `gauss_jordan` are never used [INFO] [stdout] --> src/math/matrix.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 46 | impl Matrix { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 47 | const EPS: f64 = 1e-10; [INFO] [stdout] | ^^^ [INFO] [stdout] 48 | fn new(a: Vec>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | fn gauss_jordan(&mut self) -> MatrixInfo { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MatrixXOR` is never constructed [INFO] [stdout] --> src/math/matrix.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | struct MatrixXOR { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `gauss_jordan` are never used [INFO] [stdout] --> src/math/matrix.rs:90:6 [INFO] [stdout] | [INFO] [stdout] 89 | impl MatrixXOR { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 90 | fn new(a: Vec>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | fn gauss_jordan(&mut self) -> MatrixInfo { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MatrixBitSet` is never constructed [INFO] [stdout] --> src/math/matrix.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 113 | struct MatrixBitSet { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `gauss_jordan` are never used [INFO] [stdout] --> src/math/matrix.rs:118:10 [INFO] [stdout] | [INFO] [stdout] 117 | impl MatrixBitSet { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 118 | pub fn new(bitsets: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn gauss_jordan(&mut self) -> MatrixInfo { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `factors` is never used [INFO] [stdout] --> src/math/prime.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn factors(x: usize) -> Vec { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `firstfac` is never used [INFO] [stdout] --> src/math/prime.rs:24:4 [INFO] [stdout] | [INFO] [stdout] 24 | fn firstfac(x: usize) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_prime` is never used [INFO] [stdout] --> src/math/prime.rs:41:4 [INFO] [stdout] | [INFO] [stdout] 41 | fn is_prime(n: usize) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `divisor` is never used [INFO] [stdout] --> src/math/prime.rs:49:4 [INFO] [stdout] | [INFO] [stdout] 49 | fn divisor(n: usize) -> Vec { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sieve` is never used [INFO] [stdout] --> src/math/prime.rs:67:4 [INFO] [stdout] | [INFO] [stdout] 67 | fn sieve(n: usize) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pow` is never used [INFO] [stdout] --> src/math/prime.rs:84:4 [INFO] [stdout] | [INFO] [stdout] 84 | fn pow(x: usize, n: usize) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `range_insert`, `remove`, and `mex` are never used [INFO] [stdout] --> src/range_set.rs:36:10 [INFO] [stdout] | [INFO] [stdout] 5 | impl BTreeRangeSet { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn range_insert(&mut self, range: impl std::ops::RangeBounds) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | pub fn remove(&mut self, x: i64) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | pub fn mex(&self, x: i64) -> i64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Point` is never constructed [INFO] [stdout] --> src/range_tree.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | struct Point { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RangeTree` is never constructed [INFO] [stdout] --> src/range_tree.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | struct RangeTree { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `fold` are never used [INFO] [stdout] --> src/range_tree.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 16 | impl RangeTree { [INFO] [stdout] | ----------------------------- associated items in this implementation [INFO] [stdout] 17 | pub fn new(points: &mut Vec>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn fold(&self, x_range: impl std::ops::RangeBounds, y_range: impl std::ops::RangeBounds) -> i64 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ternary_search` is never used [INFO] [stdout] --> src/ternary_search.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn ternary_search f64>(f: F, l: f64, r: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_MAX_RUQ` should have a snake case name [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:243:4 [INFO] [stdout] | [INFO] [stdout] 243 | fn test_MAX_RUQ() { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `test_max_ruq` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_MIN_RUQ` should have a snake case name [INFO] [stdout] --> src/graph/lazy_segment_tree.rs:279:4 [INFO] [stdout] | [INFO] [stdout] 279 | fn test_MIN_RUQ() { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `test_min_ruq` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `LazySeg` should have a snake case name [INFO] [stdout] --> src/graph/lazy_segment_tree_new.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | mod LazySeg { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `lazy_seg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `INF` should have a snake case name [INFO] [stdout] --> src/graph/maximum_flow.rs:84:17 [INFO] [stdout] | [INFO] [stdout] 84 | let INF = 2_000_000_001; [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `inf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `SegTree` should have a snake case name [INFO] [stdout] --> src/graph/segment_tree.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | mod SegTree { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `seg_tree` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `powMemo` should have a snake case name [INFO] [stdout] --> src/string/roliha.rs:8:3 [INFO] [stdout] | [INFO] [stdout] 8 | powMemo: Vec, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `pow_memo` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `powMemo` should have a snake case name [INFO] [stdout] --> src/string/roliha.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | let mut powMemo = vec![0; s.len() + 1]; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `pow_memo` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `alphabet` should have an upper case name [INFO] [stdout] --> src/string/suffix_array.rs:34:11 [INFO] [stdout] | [INFO] [stdout] 34 | const alphabet: usize = 256; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper case: `ALPHABET` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2.55s [INFO] running `Command { std: "docker" "inspect" "e0deb739515558f791b0b8c7c778e79fd66a6b63798385ebfad8fdd186dc9b3b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e0deb739515558f791b0b8c7c778e79fd66a6b63798385ebfad8fdd186dc9b3b", kill_on_drop: false }` [INFO] [stdout] e0deb739515558f791b0b8c7c778e79fd66a6b63798385ebfad8fdd186dc9b3b