[INFO] cloning repository https://github.com/taodaling/rustcp [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/taodaling/rustcp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftaodaling%2Frustcp", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftaodaling%2Frustcp'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 64ef8dd5ce66925b3f9f892c9798654523e1c283 [INFO] checking taodaling/rustcp against master#1f12b9b0fdbe735968ac002792a720f0ba4faca6 for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftaodaling%2Frustcp" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/taodaling/rustcp on toolchain 1f12b9b0fdbe735968ac002792a720f0ba4faca6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/taodaling/rustcp [INFO] finished tweaking git repo https://github.com/taodaling/rustcp [INFO] tweaked toml for git repo https://github.com/taodaling/rustcp written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/taodaling/rustcp 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" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /workspace/builds/worker-1-tc1/source/contest/Cargo.toml [INFO] [stderr] workspace: /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f3353ee3ba9de7c85b8f538de4cb680c7eb0c96fbf14022126794d812517127d [INFO] running `Command { std: "docker" "start" "-a" "f3353ee3ba9de7c85b8f538de4cb680c7eb0c96fbf14022126794d812517127d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f3353ee3ba9de7c85b8f538de4cb680c7eb0c96fbf14022126794d812517127d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f3353ee3ba9de7c85b8f538de4cb680c7eb0c96fbf14022126794d812517127d", kill_on_drop: false }` [INFO] [stdout] f3353ee3ba9de7c85b8f538de4cb680c7eb0c96fbf14022126794d812517127d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4f44221cc6f7437e1f159714b4f9a5315df21a1c408706c73942ab604b55a785 [INFO] running `Command { std: "docker" "start" "-a" "4f44221cc6f7437e1f159714b4f9a5315df21a1c408706c73942ab604b55a785", kill_on_drop: false }` [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /opt/rustwide/workdir/contest/Cargo.toml [INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] Checking contest v0.1.0 (/opt/rustwide/workdir/contest) [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> contest/src/fast_input.rs:1:15 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::{self, BufRead, BufReader, Cursor}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_gcd::gcd` [INFO] [stdout] --> contest/src/math.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | num_gcd::gcd, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_float::float` [INFO] [stdout] --> contest/src/arithmetic.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{num_float::float, num_number::FromNumber}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rng` [INFO] [stdout] --> contest/src/miller_rabin.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::rand::{rng, random}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Add` [INFO] [stdout] --> contest/src/pollard_rho.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ops::Add; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `convolution_brute_force` [INFO] [stdout] --> contest/src/poly_ntt.rs:9:163 [INFO] [stdout] | [INFO] [stdout] 9 | ...ucture::Field, poly_common::{poly_extend, poly_length, convolution_brute_force, poly_trim}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `mi0` should have an upper camel case name [INFO] [stdout] --> contest/src/poly_mtt.rs:17:6 [INFO] [stdout] | [INFO] [stdout] 17 | type mi0 = StaticModInt; [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case: `Mi0` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `mi1` should have an upper camel case name [INFO] [stdout] --> contest/src/poly_mtt.rs:18:6 [INFO] [stdout] | [INFO] [stdout] 18 | type mi1 = StaticModInt; [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case: `Mi1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `mi2` should have an upper camel case name [INFO] [stdout] --> contest/src/poly_mtt.rs:19:6 [INFO] [stdout] | [INFO] [stdout] 19 | type mi2 = StaticModInt; [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case: `Mi2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `cv0` should have an upper camel case name [INFO] [stdout] --> contest/src/poly_mtt.rs:21:6 [INFO] [stdout] | [INFO] [stdout] 21 | type cv0 = ConvolutionNTT; [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `Cv0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `cv1` should have an upper camel case name [INFO] [stdout] --> contest/src/poly_mtt.rs:22:6 [INFO] [stdout] | [INFO] [stdout] 22 | type cv1 = ConvolutionNTT; [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `Cv1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `cv2` should have an upper camel case name [INFO] [stdout] --> contest/src/poly_mtt.rs:23:6 [INFO] [stdout] | [INFO] [stdout] 23 | type cv2 = ConvolutionNTT; [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `Cv2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ntt` and `poly::Poly` [INFO] [stdout] --> contest/src/poly_ntt_test.rs:1:68 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{static_modint::{StaticModInt, MF998244353}, poly_ntt::{ntt, ConvolutionNTT}, poly::Poly}; [INFO] [stdout] | ^^^ ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> contest/src/lib.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub mod poly_ntt_test; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `mi` should have an upper camel case name [INFO] [stdout] --> contest/src/poly_ntt_test.rs:3:6 [INFO] [stdout] | [INFO] [stdout] 3 | type mi = StaticModInt; [INFO] [stdout] | ^^ help: convert the identifier to upper camel case: `Mi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `conv` should have an upper camel case name [INFO] [stdout] --> contest/src/poly_ntt_test.rs:4:6 [INFO] [stdout] | [INFO] [stdout] 4 | type conv = ConvolutionNTT; [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Conv` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `mi` should have an upper camel case name [INFO] [stdout] --> contest/src/poly_mtt_test.rs:3:6 [INFO] [stdout] | [INFO] [stdout] 3 | type mi = StaticModInt; [INFO] [stdout] | ^^ help: convert the identifier to upper camel case: `Mi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `conv` should have an upper camel case name [INFO] [stdout] --> contest/src/poly_mtt_test.rs:4:6 [INFO] [stdout] | [INFO] [stdout] 4 | type conv = ConvolutionMTT; [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Conv` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_number::FromNumber` [INFO] [stdout] --> contest/src/poly_common.rs:1:66 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{algebraic_structure::{Ring, Field}, math::log2_ceil, num_number::FromNumber}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> contest/src/poly_bf.rs:5:41 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ConvolutionBF(PhantomData<(T)>); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 5 - pub struct ConvolutionBF(PhantomData<(T)>); [INFO] [stdout] 5 + pub struct ConvolutionBF(PhantomData); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Convolution` and `Poly` [INFO] [stdout] --> contest/src/poly_interpolation.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | poly::{Convolution, Poly}, [INFO] [stdout] | ^^^^^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Display` and `Pointer` [INFO] [stdout] --> contest/src/linear_feedback_shift_register.rs:1:64 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{ops::{Index}, cmp::max, collections::VecDeque, fmt::{Display, Pointer}}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug_discard` and `debug` [INFO] [stdout] --> contest/src/linear_recurrence.rs:3:33 [INFO] [stdout] | [INFO] [stdout] 3 | macros::{should, should_eq, debug_discard, debug}, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `linear_recurrence::kth_term_of_linear_recurrence`, `macros::debug_discard`, `num_integer::Integer`, and `num_number::FromNumber` [INFO] [stdout] --> contest/src/linear_recurrence_test.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | ...::{linear_recurrence::kth_term_of_linear_recurrence, static_modint::{StaticModInt, MF998244353}, num_number::FromNumber, poly_bf::ConvolutionBF, num_integer::Integer, macros::debug_discar... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> contest/src/lib.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 30 | pub mod linear_recurrence_test; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::arithmetic::IdentityMul` [INFO] [stdout] --> contest/src/linear_recurrence_test.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::arithmetic::IdentityMul; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> contest/src/lib.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 30 | pub mod linear_recurrence_test; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::arithmetic::IdentityAdd` [INFO] [stdout] --> contest/src/linear_recurrence_test.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::arithmetic::IdentityAdd; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> contest/src/lib.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 30 | pub mod linear_recurrence_test; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `mi` should have an upper camel case name [INFO] [stdout] --> contest/src/linear_recurrence_test.rs:4:6 [INFO] [stdout] | [INFO] [stdout] 4 | type mi = StaticModInt; [INFO] [stdout] | ^^ help: convert the identifier to upper camel case: `Mi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `conv` should have an upper camel case name [INFO] [stdout] --> contest/src/linear_recurrence_test.rs:5:6 [INFO] [stdout] | [INFO] [stdout] 5 | type conv = ConvolutionBF; [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Conv` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `xorshift128p_state` should have an upper camel case name [INFO] [stdout] --> contest/src/rand.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | struct xorshift128p_state(u64, u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `Xorshift128pState` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Number` [INFO] [stdout] --> contest/src/num_real.rs:1:26 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{num_number::{Number, FromNumber}, num_concrete::Concrete}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `str::FromStr` and `string::ParseError` [INFO] [stdout] --> contest/src/modint.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{str::FromStr, string::ParseError, hash::Hash}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Error`, `num::ParseIntError`, `self`, and `string::ParseError` [INFO] [stdout] --> contest/src/dynamic_modint.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | fmt::{self, Debug, Display, Error}, [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] 3 | marker::PhantomData, [INFO] [stdout] 4 | num::ParseIntError, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 7 | string::ParseError, hash::Hash, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `algebraic_structure::*` [INFO] [stdout] --> contest/src/dynamic_modint.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | algebraic_structure::*, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Error`, `num::ParseIntError`, `self`, and `string::ParseError` [INFO] [stdout] --> contest/src/static_modint.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | fmt::{self, Debug, Display, Error}, [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] 3 | marker::PhantomData, [INFO] [stdout] 4 | num::ParseIntError, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 7 | string::ParseError, hash::Hash, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `algebraic_structure::*` [INFO] [stdout] --> contest/src/static_modint.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | algebraic_structure::*, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `max` [INFO] [stdout] --> contest/src/enumerate_prime.rs:1:16 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IndexMut`, `ShlAssign`, and `Shl` [INFO] [stdout] --> contest/src/bitset.rs:1:114 [INFO] [stdout] | [INFO] [stdout] 1 | ..., BitXor, BitAndAssign, BitOrAssign, BitXorAssign, Shl, ShlAssign, Index, IndexMut}}; [INFO] [stdout] | ^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Pointer` [INFO] [stdout] --> contest/src/num_float.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | fmt::{Debug, Display, Pointer}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `float` should have an upper camel case name [INFO] [stdout] --> contest/src/num_float.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct float(f64); [INFO] [stdout] | ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Float` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> contest/src/binary_lifting_compress_on_tree.rs:3:62 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::{algebraic_structure::Monoid, macros::{should_eq, debug}, arithmetic::{IdentityAdd, Nil}}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ops::Add` [INFO] [stdout] --> contest/src/persistent_segtree.rs:1:23 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{fmt::Debug, ops::Add}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Ordering` [INFO] [stdout] --> contest/src/lichao_segtree.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{cmp::{Ordering, max}, mem::swap}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> contest/src/lichao_segtree.rs:76:9 [INFO] [stdout] | [INFO] [stdout] 76 | / /// [INFO] [stdout] 77 | | /// a.0 x + a.1 = b.0 x + b.1 [INFO] [stdout] 78 | | /// => x = (b.1 - a.1) / (a.0 - b.0) [INFO] [stdout] 79 | | /// [INFO] [stdout] | |_________--^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `take` [INFO] [stdout] --> contest/src/leftist_tree.rs:1:38 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{cmp::Ordering, mem::{swap, take, replace}}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `argmax_by` and `num_number::Number` [INFO] [stdout] --> contest/src/tree_diameter.rs:1:102 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{graph::{DiEdge, WeightEdge}, tree_depth::{tree_depth, tree_depth_weight}, math::{argmax, argmax_by}, num_number::Number, num_... [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `collections::HashMap` [INFO] [stdout] --> contest/src/collection.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::HashMap, mem::swap}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `random_permutation` [INFO] [stdout] --> contest/src/bipartite_match_kuhn.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | shuffle::{random_permutation, shuffle}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `debug` [INFO] [stdout] --> contest/src/macros.rs:44:14 [INFO] [stdout] | [INFO] [stdout] 44 | macro_rules! debug { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> contest/src/fast_input.rs:1:15 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::{self, BufRead, BufReader, Cursor}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `debug_discard` [INFO] [stdout] --> contest/src/macros.rs:58:14 [INFO] [stdout] | [INFO] [stdout] 58 | macro_rules! debug_discard { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `MergerImpl` [INFO] [stdout] --> contest/src/macros.rs:75:14 [INFO] [stdout] | [INFO] [stdout] 75 | macro_rules! MergerImpl { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `AddImpl` [INFO] [stdout] --> contest/src/macros.rs:86:14 [INFO] [stdout] | [INFO] [stdout] 86 | macro_rules! AddImpl { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_gcd::gcd` [INFO] [stdout] --> contest/src/math.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | num_gcd::gcd, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `SubImpl` [INFO] [stdout] --> contest/src/macros.rs:99:14 [INFO] [stdout] | [INFO] [stdout] 99 | macro_rules! SubImpl { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `DivImpl` [INFO] [stdout] --> contest/src/macros.rs:112:14 [INFO] [stdout] | [INFO] [stdout] 112 | macro_rules! DivImpl { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `MulImpl` [INFO] [stdout] --> contest/src/macros.rs:125:14 [INFO] [stdout] | [INFO] [stdout] 125 | macro_rules! MulImpl { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_float::float` [INFO] [stdout] --> contest/src/arithmetic.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{num_float::float, num_number::FromNumber}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MergerImpl` [INFO] [stdout] --> contest/src/macros.rs:168:16 [INFO] [stdout] | [INFO] [stdout] 168 | pub (crate)use MergerImpl; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rng` [INFO] [stdout] --> contest/src/miller_rabin.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::rand::{rng, random}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AddImpl` [INFO] [stdout] --> contest/src/macros.rs:170:16 [INFO] [stdout] | [INFO] [stdout] 170 | pub (crate)use AddImpl; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Add` [INFO] [stdout] --> contest/src/pollard_rho.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ops::Add; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SubImpl` [INFO] [stdout] --> contest/src/macros.rs:172:16 [INFO] [stdout] | [INFO] [stdout] 172 | pub (crate)use SubImpl; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MulImpl` [INFO] [stdout] --> contest/src/macros.rs:174:16 [INFO] [stdout] | [INFO] [stdout] 174 | pub (crate)use MulImpl; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `convolution_brute_force` [INFO] [stdout] --> contest/src/poly_ntt.rs:9:163 [INFO] [stdout] | [INFO] [stdout] 9 | ...ucture::Field, poly_common::{poly_extend, poly_length, convolution_brute_force, poly_trim}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DivImpl` [INFO] [stdout] --> contest/src/macros.rs:176:16 [INFO] [stdout] | [INFO] [stdout] 176 | pub (crate)use DivImpl; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `mi0` should have an upper camel case name [INFO] [stdout] --> contest/src/poly_mtt.rs:17:6 [INFO] [stdout] | [INFO] [stdout] 17 | type mi0 = StaticModInt; [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case: `Mi0` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `panic` [INFO] [stdout] --> contest/src/solver.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{io::{Write, BufRead}, panic}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `mi1` should have an upper camel case name [INFO] [stdout] --> contest/src/poly_mtt.rs:18:6 [INFO] [stdout] | [INFO] [stdout] 18 | type mi1 = StaticModInt; [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case: `Mi1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `mi2` should have an upper camel case name [INFO] [stdout] --> contest/src/poly_mtt.rs:19:6 [INFO] [stdout] | [INFO] [stdout] 19 | type mi2 = StaticModInt; [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case: `Mi2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Add`, `Div`, `Mul`, and `Sub` [INFO] [stdout] --> contest/src/solver.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ops::{Add, Sub, Mul, Div}; [INFO] [stdout] | ^^^ ^^^ ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `cv0` should have an upper camel case name [INFO] [stdout] --> contest/src/poly_mtt.rs:21:6 [INFO] [stdout] | [INFO] [stdout] 21 | type cv0 = ConvolutionNTT; [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `Cv0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `poly::Poly` [INFO] [stdout] --> contest/src/solver.rs:3:62 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::{fast_input::FastInput, poly_ntt::ConvolutionNTT, poly::Poly, static_modint::{StaticModInt, MF998244353}, num_number::FromNumb... [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `cv1` should have an upper camel case name [INFO] [stdout] --> contest/src/poly_mtt.rs:22:6 [INFO] [stdout] | [INFO] [stdout] 22 | type cv1 = ConvolutionNTT; [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `Cv1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::algebraic_structure::*` [INFO] [stdout] --> contest/src/solver.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::algebraic_structure::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `cv2` should have an upper camel case name [INFO] [stdout] --> contest/src/poly_mtt.rs:23:6 [INFO] [stdout] | [INFO] [stdout] 23 | type cv2 = ConvolutionNTT; [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `Cv2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `mi` should have an upper camel case name [INFO] [stdout] --> contest/src/solver.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | type mi = StaticModInt; [INFO] [stdout] | ^^ help: convert the identifier to upper camel case: `Mi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `conv` should have an upper camel case name [INFO] [stdout] --> contest/src/solver.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | type conv = ConvolutionNTT; [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Conv` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `mem::swap` [INFO] [stdout] --> contest/src/stress_external_member.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{io::{BufRead, Write}, mem::swap}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `mi` should have an upper camel case name [INFO] [stdout] --> contest/src/poly_ntt_test.rs:3:6 [INFO] [stdout] | [INFO] [stdout] 3 | type mi = StaticModInt; [INFO] [stdout] | ^^ help: convert the identifier to upper camel case: `Mi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `conv` should have an upper camel case name [INFO] [stdout] --> contest/src/poly_ntt_test.rs:4:6 [INFO] [stdout] | [INFO] [stdout] 4 | type conv = ConvolutionNTT; [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Conv` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_integer::Integer` [INFO] [stdout] --> contest/src/vector_binary_subset_convolution.rs:5:42 [INFO] [stdout] | [INFO] [stdout] 5 | vector_binary_convolution::FWTLayer, num_integer::Integer [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `mi` should have an upper camel case name [INFO] [stdout] --> contest/src/poly_mtt_test.rs:3:6 [INFO] [stdout] | [INFO] [stdout] 3 | type mi = StaticModInt; [INFO] [stdout] | ^^ help: convert the identifier to upper camel case: `Mi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `conv` should have an upper camel case name [INFO] [stdout] --> contest/src/poly_mtt_test.rs:4:6 [INFO] [stdout] | [INFO] [stdout] 4 | type conv = ConvolutionMTT; [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Conv` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_number::FromNumber` [INFO] [stdout] --> contest/src/poly_common.rs:1:66 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{algebraic_structure::{Ring, Field}, math::log2_ceil, num_number::FromNumber}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> contest/src/poly_bf.rs:5:41 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ConvolutionBF(PhantomData<(T)>); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 5 - pub struct ConvolutionBF(PhantomData<(T)>); [INFO] [stdout] 5 + pub struct ConvolutionBF(PhantomData); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Convolution` and `Poly` [INFO] [stdout] --> contest/src/poly_interpolation.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | poly::{Convolution, Poly}, [INFO] [stdout] | ^^^^^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Display` and `Pointer` [INFO] [stdout] --> contest/src/linear_feedback_shift_register.rs:1:64 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{ops::{Index}, cmp::max, collections::VecDeque, fmt::{Display, Pointer}}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug_discard` and `debug` [INFO] [stdout] --> contest/src/linear_recurrence.rs:3:33 [INFO] [stdout] | [INFO] [stdout] 3 | macros::{should, should_eq, debug_discard, debug}, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `mi` should have an upper camel case name [INFO] [stdout] --> contest/src/linear_recurrence_test.rs:4:6 [INFO] [stdout] | [INFO] [stdout] 4 | type mi = StaticModInt; [INFO] [stdout] | ^^ help: convert the identifier to upper camel case: `Mi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `conv` should have an upper camel case name [INFO] [stdout] --> contest/src/linear_recurrence_test.rs:5:6 [INFO] [stdout] | [INFO] [stdout] 5 | type conv = ConvolutionBF; [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Conv` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `xorshift128p_state` should have an upper camel case name [INFO] [stdout] --> contest/src/rand.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | struct xorshift128p_state(u64, u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `Xorshift128pState` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Number` [INFO] [stdout] --> contest/src/num_real.rs:1:26 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{num_number::{Number, FromNumber}, num_concrete::Concrete}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `str::FromStr` and `string::ParseError` [INFO] [stdout] --> contest/src/modint.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{str::FromStr, string::ParseError, hash::Hash}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Error`, `num::ParseIntError`, `self`, and `string::ParseError` [INFO] [stdout] --> contest/src/dynamic_modint.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | fmt::{self, Debug, Display, Error}, [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] 3 | marker::PhantomData, [INFO] [stdout] 4 | num::ParseIntError, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 7 | string::ParseError, hash::Hash, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `algebraic_structure::*` [INFO] [stdout] --> contest/src/dynamic_modint.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | algebraic_structure::*, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Error`, `num::ParseIntError`, `self`, and `string::ParseError` [INFO] [stdout] --> contest/src/static_modint.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | fmt::{self, Debug, Display, Error}, [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] 3 | marker::PhantomData, [INFO] [stdout] 4 | num::ParseIntError, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 7 | string::ParseError, hash::Hash, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `algebraic_structure::*` [INFO] [stdout] --> contest/src/static_modint.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | algebraic_structure::*, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `max` [INFO] [stdout] --> contest/src/enumerate_prime.rs:1:16 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IndexMut`, `ShlAssign`, and `Shl` [INFO] [stdout] --> contest/src/bitset.rs:1:114 [INFO] [stdout] | [INFO] [stdout] 1 | ..., BitXor, BitAndAssign, BitOrAssign, BitXorAssign, Shl, ShlAssign, Index, IndexMut}}; [INFO] [stdout] | ^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Pointer` [INFO] [stdout] --> contest/src/num_float.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | fmt::{Debug, Display, Pointer}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `float` should have an upper camel case name [INFO] [stdout] --> contest/src/num_float.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct float(f64); [INFO] [stdout] | ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Float` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> contest/src/binary_lifting_compress_on_tree.rs:3:62 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::{algebraic_structure::Monoid, macros::{should_eq, debug}, arithmetic::{IdentityAdd, Nil}}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ops::Add` [INFO] [stdout] --> contest/src/persistent_segtree.rs:1:23 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{fmt::Debug, ops::Add}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Ordering` [INFO] [stdout] --> contest/src/lichao_segtree.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{cmp::{Ordering, max}, mem::swap}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> contest/src/lichao_segtree.rs:76:9 [INFO] [stdout] | [INFO] [stdout] 76 | / /// [INFO] [stdout] 77 | | /// a.0 x + a.1 = b.0 x + b.1 [INFO] [stdout] 78 | | /// => x = (b.1 - a.1) / (a.0 - b.0) [INFO] [stdout] 79 | | /// [INFO] [stdout] | |_________--^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `take` [INFO] [stdout] --> contest/src/leftist_tree.rs:1:38 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{cmp::Ordering, mem::{swap, take, replace}}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `argmax_by` and `num_number::Number` [INFO] [stdout] --> contest/src/tree_diameter.rs:1:102 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{graph::{DiEdge, WeightEdge}, tree_depth::{tree_depth, tree_depth_weight}, math::{argmax, argmax_by}, num_number::Number, num_... [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `collections::HashMap` [INFO] [stdout] --> contest/src/collection.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::HashMap, mem::swap}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `random_permutation` [INFO] [stdout] --> contest/src/bipartite_match_kuhn.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | shuffle::{random_permutation, shuffle}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `debug` [INFO] [stdout] --> contest/src/macros.rs:44:14 [INFO] [stdout] | [INFO] [stdout] 44 | macro_rules! debug { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `MergerImpl` [INFO] [stdout] --> contest/src/macros.rs:75:14 [INFO] [stdout] | [INFO] [stdout] 75 | macro_rules! MergerImpl { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `AddImpl` [INFO] [stdout] --> contest/src/macros.rs:86:14 [INFO] [stdout] | [INFO] [stdout] 86 | macro_rules! AddImpl { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `SubImpl` [INFO] [stdout] --> contest/src/macros.rs:99:14 [INFO] [stdout] | [INFO] [stdout] 99 | macro_rules! SubImpl { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `DivImpl` [INFO] [stdout] --> contest/src/macros.rs:112:14 [INFO] [stdout] | [INFO] [stdout] 112 | macro_rules! DivImpl { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `MulImpl` [INFO] [stdout] --> contest/src/macros.rs:125:14 [INFO] [stdout] | [INFO] [stdout] 125 | macro_rules! MulImpl { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MergerImpl` [INFO] [stdout] --> contest/src/macros.rs:168:16 [INFO] [stdout] | [INFO] [stdout] 168 | pub (crate)use MergerImpl; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AddImpl` [INFO] [stdout] --> contest/src/macros.rs:170:16 [INFO] [stdout] | [INFO] [stdout] 170 | pub (crate)use AddImpl; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SubImpl` [INFO] [stdout] --> contest/src/macros.rs:172:16 [INFO] [stdout] | [INFO] [stdout] 172 | pub (crate)use SubImpl; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MulImpl` [INFO] [stdout] --> contest/src/macros.rs:174:16 [INFO] [stdout] | [INFO] [stdout] 174 | pub (crate)use MulImpl; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DivImpl` [INFO] [stdout] --> contest/src/macros.rs:176:16 [INFO] [stdout] | [INFO] [stdout] 176 | pub (crate)use DivImpl; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `panic` [INFO] [stdout] --> contest/src/solver.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{io::{Write, BufRead}, panic}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Add`, `Div`, `Mul`, and `Sub` [INFO] [stdout] --> contest/src/solver.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ops::{Add, Sub, Mul, Div}; [INFO] [stdout] | ^^^ ^^^ ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `poly::Poly` [INFO] [stdout] --> contest/src/solver.rs:3:62 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::{fast_input::FastInput, poly_ntt::ConvolutionNTT, poly::Poly, static_modint::{StaticModInt, MF998244353}, num_number::FromNumb... [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::algebraic_structure::*` [INFO] [stdout] --> contest/src/solver.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::algebraic_structure::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `mi` should have an upper camel case name [INFO] [stdout] --> contest/src/solver.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | type mi = StaticModInt; [INFO] [stdout] | ^^ help: convert the identifier to upper camel case: `Mi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `conv` should have an upper camel case name [INFO] [stdout] --> contest/src/solver.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | type conv = ConvolutionNTT; [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Conv` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `mem::swap` [INFO] [stdout] --> contest/src/stress_external_member.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{io::{BufRead, Write}, mem::swap}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_integer::Integer` [INFO] [stdout] --> contest/src/vector_binary_subset_convolution.rs:5:42 [INFO] [stdout] | [INFO] [stdout] 5 | vector_binary_convolution::FWTLayer, num_integer::Integer [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged [INFO] [stdout] --> contest/src/rand.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | match &mut singleton { [INFO] [stdout] | ^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] = note: `#[warn(static_mut_refs)]` on by default [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 53 | match addr_of_mut!(singleton) { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged [INFO] [stdout] --> contest/src/rand.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | match &mut singleton { [INFO] [stdout] | ^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] = note: `#[warn(static_mut_refs)]` on by default [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 53 | match addr_of_mut!(singleton) { [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged [INFO] [stdout] --> contest/src/dynamic_modint.rs:90:26 [INFO] [stdout] | [INFO] [stdout] 90 | unsafe { &mut singleton } [INFO] [stdout] | ^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] ... [INFO] [stdout] 96 | DynamicModulusFactoryImpl!(MF32, u32); [INFO] [stdout] | ------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] = note: this warning originates in the macro `DynamicModulusFactoryImpl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 90 | unsafe { addr_of_mut!(singleton) } [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged [INFO] [stdout] --> contest/src/dynamic_modint.rs:90:26 [INFO] [stdout] | [INFO] [stdout] 90 | unsafe { &mut singleton } [INFO] [stdout] | ^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] ... [INFO] [stdout] 97 | DynamicModulusFactoryImpl!(MF64, u64); [INFO] [stdout] | ------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] = note: this warning originates in the macro `DynamicModulusFactoryImpl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 90 | unsafe { addr_of_mut!(singleton) } [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged [INFO] [stdout] --> contest/src/dynamic_modint.rs:90:26 [INFO] [stdout] | [INFO] [stdout] 90 | unsafe { &mut singleton } [INFO] [stdout] | ^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] ... [INFO] [stdout] 96 | DynamicModulusFactoryImpl!(MF32, u32); [INFO] [stdout] | ------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] = note: this warning originates in the macro `DynamicModulusFactoryImpl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 90 | unsafe { addr_of_mut!(singleton) } [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged [INFO] [stdout] --> contest/src/dynamic_modint.rs:90:26 [INFO] [stdout] | [INFO] [stdout] 90 | unsafe { &mut singleton } [INFO] [stdout] | ^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] ... [INFO] [stdout] 97 | DynamicModulusFactoryImpl!(MF64, u64); [INFO] [stdout] | ------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] = note: this warning originates in the macro `DynamicModulusFactoryImpl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 90 | unsafe { addr_of_mut!(singleton) } [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> contest/src/permutation.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 32 | / loop { [INFO] [stdout] 33 | | j -= 1; [INFO] [stdout] 34 | | if s[j] < s[i] { [INFO] [stdout] 35 | | swap_element(s, i, j); [INFO] [stdout] 36 | | } [INFO] [stdout] 37 | | } [INFO] [stdout] | |_____________- any code following this expression is unreachable [INFO] [stdout] 38 | s[i + 1..n].reverse(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> contest/src/permutation.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 32 | / loop { [INFO] [stdout] 33 | | j -= 1; [INFO] [stdout] 34 | | if s[j] < s[i] { [INFO] [stdout] 35 | | swap_element(s, i, j); [INFO] [stdout] 36 | | } [INFO] [stdout] 37 | | } [INFO] [stdout] | |_____________- any code following this expression is unreachable [INFO] [stdout] 38 | s[i + 1..n].reverse(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufRead` [INFO] [stdout] --> contest/src/fast_input.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::{self, BufRead, BufReader, Cursor}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Number` [INFO] [stdout] --> contest/src/pollard_rho.rs:7:25 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::num_number::{Number, FromNumber}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_number::Number` [INFO] [stdout] --> contest/src/bipartite_maximum_weight_match_km.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::{num_number::Number, num_concrete::Concrete}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Number` [INFO] [stdout] --> contest/src/bipartite_minimum_weight_match.rs:6:18 [INFO] [stdout] | [INFO] [stdout] 6 | num_number::{Number, FromNumber}, num_concrete::Concrete, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Number` [INFO] [stdout] --> contest/src/num_integer_reverse.rs:2:37 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::num_number::{FromNumber, Number}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_integer::Integer` [INFO] [stdout] --> contest/src/poly.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | num_integer::Integer, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufRead` [INFO] [stdout] --> contest/src/fast_input.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::{self, BufRead, BufReader, Cursor}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Number` [INFO] [stdout] --> contest/src/pollard_rho.rs:7:25 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::num_number::{Number, FromNumber}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_number::Number` [INFO] [stdout] --> contest/src/bipartite_maximum_weight_match_km.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::{num_number::Number, num_concrete::Concrete}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Number` [INFO] [stdout] --> contest/src/bipartite_minimum_weight_match.rs:6:18 [INFO] [stdout] | [INFO] [stdout] 6 | num_number::{Number, FromNumber}, num_concrete::Concrete, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Number` [INFO] [stdout] --> contest/src/num_integer_reverse.rs:2:37 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::num_number::{FromNumber, Number}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_integer::Integer` [INFO] [stdout] --> contest/src/poly.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | num_integer::Integer, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/math.rs:133:32 [INFO] [stdout] | [INFO] [stdout] 133 | pub fn inverse_batch(mut data: &[T]) -> Vec { [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: `rhs` [INFO] [stdout] --> contest/src/arithmetic.rs:206:18 [INFO] [stdout] | [INFO] [stdout] 206 | fn mul(self, rhs: Nil) -> Self::Output { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rhs` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rhs` [INFO] [stdout] --> contest/src/arithmetic.rs:213:18 [INFO] [stdout] | [INFO] [stdout] 213 | fn add(self, rhs: Nil) -> Self::Output { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rhs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rhs` [INFO] [stdout] --> contest/src/arithmetic.rs:220:18 [INFO] [stdout] | [INFO] [stdout] 220 | fn sub(self, rhs: Nil) -> Self::Output { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rhs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rhs` [INFO] [stdout] --> contest/src/arithmetic.rs:228:18 [INFO] [stdout] | [INFO] [stdout] 228 | fn div(self, rhs: Nil) -> Self::Output { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rhs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `other` [INFO] [stdout] --> contest/src/arithmetic.rs:233:18 [INFO] [stdout] | [INFO] [stdout] 233 | fn eq(&self, other: &Self) -> bool { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_other` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `other` [INFO] [stdout] --> contest/src/arithmetic.rs:239:27 [INFO] [stdout] | [INFO] [stdout] 239 | fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_other` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/math.rs:133:32 [INFO] [stdout] | [INFO] [stdout] 133 | pub fn inverse_batch(mut data: &[T]) -> Vec { [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: value assigned to `t` is never read [INFO] [stdout] --> contest/src/pollard_rho.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 78 | let mut t = T::ZERO; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/pollard_rho.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | let mut c = random(n - T::ONE) + T::ONE; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rhs` [INFO] [stdout] --> contest/src/arithmetic.rs:206:18 [INFO] [stdout] | [INFO] [stdout] 206 | fn mul(self, rhs: Nil) -> Self::Output { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rhs` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rhs` [INFO] [stdout] --> contest/src/arithmetic.rs:213:18 [INFO] [stdout] | [INFO] [stdout] 213 | fn add(self, rhs: Nil) -> Self::Output { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rhs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rhs` [INFO] [stdout] --> contest/src/arithmetic.rs:220:18 [INFO] [stdout] | [INFO] [stdout] 220 | fn sub(self, rhs: Nil) -> Self::Output { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rhs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rhs` [INFO] [stdout] --> contest/src/arithmetic.rs:228:18 [INFO] [stdout] | [INFO] [stdout] 228 | fn div(self, rhs: Nil) -> Self::Output { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rhs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `other` [INFO] [stdout] --> contest/src/arithmetic.rs:233:18 [INFO] [stdout] | [INFO] [stdout] 233 | fn eq(&self, other: &Self) -> bool { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_other` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `other` [INFO] [stdout] --> contest/src/arithmetic.rs:239:27 [INFO] [stdout] | [INFO] [stdout] 239 | fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_other` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `t` is never read [INFO] [stdout] --> contest/src/pollard_rho.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 78 | let mut t = T::ZERO; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/pollard_rho.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | let mut c = random(n - T::ONE) + T::ONE; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/poly_fft.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | let mut tn = ::from(n); [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/poly_fft.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | let mut tn = ::from(n); [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/poly.rs:110:17 [INFO] [stdout] | [INFO] [stdout] 110 | let mut ans = self.exp0((n + 1) / 2); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/poly.rs:111:17 [INFO] [stdout] | [INFO] [stdout] 111 | let mut ln = ans.clone().ln(n); [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rank` [INFO] [stdout] --> contest/src/poly.rs:118:13 [INFO] [stdout] | [INFO] [stdout] 118 | let rank = self.rank(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_rank` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/poly.rs:110:17 [INFO] [stdout] | [INFO] [stdout] 110 | let mut ans = self.exp0((n + 1) / 2); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/poly.rs:111:17 [INFO] [stdout] | [INFO] [stdout] 111 | let mut ln = ans.clone().ln(n); [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rank` [INFO] [stdout] --> contest/src/poly.rs:118:13 [INFO] [stdout] | [INFO] [stdout] 118 | let rank = self.rank(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_rank` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/poly.rs:138:38 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn downgrade_mod(self: Self, mut n: impl Iterator) -> Self { [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/poly.rs:138:38 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn downgrade_mod(self: Self, mut n: impl Iterator) -> Self { [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/poly.rs:225:43 [INFO] [stdout] | [INFO] [stdout] 225 | pub fn convolution_delta(mut a: Self, mut b: Self) -> Self { [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/poly.rs:228:13 [INFO] [stdout] | [INFO] [stdout] 228 | let mut res = C::convolution(a.0, b.0); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/poly.rs:281:22 [INFO] [stdout] | [INFO] [stdout] 281 | pub fn batch_mul(mut polys: &mut [Self]) -> Self { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/poly.rs:296:18 [INFO] [stdout] | [INFO] [stdout] 296 | fn into_iter(mut self) -> std::vec::IntoIter { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/poly.rs:225:43 [INFO] [stdout] | [INFO] [stdout] 225 | pub fn convolution_delta(mut a: Self, mut b: Self) -> Self { [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/poly.rs:228:13 [INFO] [stdout] | [INFO] [stdout] 228 | let mut res = C::convolution(a.0, b.0); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/poly.rs:281:22 [INFO] [stdout] | [INFO] [stdout] 281 | pub fn batch_mul(mut polys: &mut [Self]) -> Self { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/poly.rs:296:18 [INFO] [stdout] | [INFO] [stdout] 296 | fn into_iter(mut self) -> std::vec::IntoIter { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/poly_common.rs:8:30 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn poly_modular(mut p: Vec, len: usize) -> Vec { [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/poly_interpolation.rs:19:13 [INFO] [stdout] | [INFO] [stdout] 19 | let mut res = Self { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/poly_common.rs:8:30 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn poly_modular(mut p: Vec, len: usize) -> Vec { [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/poly_interpolation.rs:19:13 [INFO] [stdout] | [INFO] [stdout] 19 | let mut res = Self { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> contest/src/num_integer.rs:150:21 [INFO] [stdout] | [INFO] [stdout] 150 | let x = 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] ... [INFO] [stdout] 227 | IntegerImpl!(i8, i16, u8, i8); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `IntegerImpl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> contest/src/num_integer.rs:150:21 [INFO] [stdout] | [INFO] [stdout] 150 | let x = 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] ... [INFO] [stdout] 228 | IntegerImpl!(u8, i16, u8, i8); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `IntegerImpl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> contest/src/num_integer.rs:150:21 [INFO] [stdout] | [INFO] [stdout] 150 | let x = 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] ... [INFO] [stdout] 229 | IntegerImpl!(i16, i32, u16, i16); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `IntegerImpl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> contest/src/num_integer.rs:150:21 [INFO] [stdout] | [INFO] [stdout] 150 | let x = 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] ... [INFO] [stdout] 230 | IntegerImpl!(u16, u32, u16, i16); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `IntegerImpl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> contest/src/num_integer.rs:150:21 [INFO] [stdout] | [INFO] [stdout] 150 | let x = 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] ... [INFO] [stdout] 231 | IntegerImpl!(i32, i64, u32, i32); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `IntegerImpl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> contest/src/num_integer.rs:150:21 [INFO] [stdout] | [INFO] [stdout] 150 | let x = 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] ... [INFO] [stdout] 232 | IntegerImpl!(u32, u64, u32, i32); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `IntegerImpl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> contest/src/num_integer.rs:150:21 [INFO] [stdout] | [INFO] [stdout] 150 | let x = 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] ... [INFO] [stdout] 227 | IntegerImpl!(i8, i16, u8, i8); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `IntegerImpl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> contest/src/num_integer.rs:150:21 [INFO] [stdout] | [INFO] [stdout] 150 | let x = 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] ... [INFO] [stdout] 233 | IntegerImpl!(isize, isize, usize, isize); [INFO] [stdout] | ---------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `IntegerImpl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> contest/src/num_integer.rs:150:21 [INFO] [stdout] | [INFO] [stdout] 150 | let x = 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] ... [INFO] [stdout] 228 | IntegerImpl!(u8, i16, u8, i8); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `IntegerImpl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> contest/src/num_integer.rs:150:21 [INFO] [stdout] | [INFO] [stdout] 150 | let x = 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] ... [INFO] [stdout] 234 | IntegerImpl!(usize, usize, usize, isize); [INFO] [stdout] | ---------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `IntegerImpl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> contest/src/num_integer.rs:150:21 [INFO] [stdout] | [INFO] [stdout] 150 | let x = 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] ... [INFO] [stdout] 229 | IntegerImpl!(i16, i32, u16, i16); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `IntegerImpl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> contest/src/num_integer.rs:150:21 [INFO] [stdout] | [INFO] [stdout] 150 | let x = 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] ... [INFO] [stdout] 235 | IntegerImpl!(i64, i128, u64, i64); [INFO] [stdout] | --------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `IntegerImpl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> contest/src/num_integer.rs:150:21 [INFO] [stdout] | [INFO] [stdout] 150 | let x = 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] ... [INFO] [stdout] 230 | IntegerImpl!(u16, u32, u16, i16); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `IntegerImpl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> contest/src/num_integer.rs:150:21 [INFO] [stdout] | [INFO] [stdout] 150 | let x = 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] ... [INFO] [stdout] 231 | IntegerImpl!(i32, i64, u32, i32); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `IntegerImpl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> contest/src/num_integer.rs:150:21 [INFO] [stdout] | [INFO] [stdout] 150 | let x = 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] ... [INFO] [stdout] 236 | IntegerImpl!(u64, u128, u64, i64); [INFO] [stdout] | --------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `IntegerImpl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> contest/src/num_integer.rs:150:21 [INFO] [stdout] | [INFO] [stdout] 150 | let x = 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] ... [INFO] [stdout] 232 | IntegerImpl!(u32, u64, u32, i32); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `IntegerImpl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> contest/src/num_integer.rs:150:21 [INFO] [stdout] | [INFO] [stdout] 150 | let x = 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] ... [INFO] [stdout] 237 | IntegerImpl!(i128, i128, u128, i128); [INFO] [stdout] | ------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `IntegerImpl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> contest/src/num_integer.rs:150:21 [INFO] [stdout] | [INFO] [stdout] 150 | let x = 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] ... [INFO] [stdout] 238 | IntegerImpl!(u128, u128, u128, i128); [INFO] [stdout] | ------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `IntegerImpl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> contest/src/num_integer.rs:150:21 [INFO] [stdout] | [INFO] [stdout] 150 | let x = 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] ... [INFO] [stdout] 233 | IntegerImpl!(isize, isize, usize, isize); [INFO] [stdout] | ---------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `IntegerImpl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> contest/src/num_integer.rs:150:21 [INFO] [stdout] | [INFO] [stdout] 150 | let x = 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] ... [INFO] [stdout] 234 | IntegerImpl!(usize, usize, usize, isize); [INFO] [stdout] | ---------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `IntegerImpl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> contest/src/num_integer.rs:150:21 [INFO] [stdout] | [INFO] [stdout] 150 | let x = 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] ... [INFO] [stdout] 235 | IntegerImpl!(i64, i128, u64, i64); [INFO] [stdout] | --------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `IntegerImpl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> contest/src/num_integer.rs:150:21 [INFO] [stdout] | [INFO] [stdout] 150 | let x = 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] ... [INFO] [stdout] 236 | IntegerImpl!(u64, u128, u64, i64); [INFO] [stdout] | --------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `IntegerImpl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> contest/src/num_integer.rs:150:21 [INFO] [stdout] | [INFO] [stdout] 150 | let x = 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] ... [INFO] [stdout] 237 | IntegerImpl!(i128, i128, u128, i128); [INFO] [stdout] | ------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `IntegerImpl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> contest/src/num_integer.rs:150:21 [INFO] [stdout] | [INFO] [stdout] 150 | let x = 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] ... [INFO] [stdout] 238 | IntegerImpl!(u128, u128, u128, i128); [INFO] [stdout] | ------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `IntegerImpl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> contest/src/range_kth_smallest_persistent_segtree.rs:65:14 [INFO] [stdout] | [INFO] [stdout] 65 | |i, a, b| b - a >= k, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> contest/src/range_kth_smallest_persistent_segtree.rs:65:14 [INFO] [stdout] | [INFO] [stdout] 65 | |i, a, b| b - a >= k, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/treap.rs:137:30 [INFO] [stdout] | [INFO] [stdout] 137 | pub fn modify(&mut self, mut id: usize, upd: U) { [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/treap.rs:137:30 [INFO] [stdout] | [INFO] [stdout] 137 | pub fn modify(&mut self, mut id: usize, upd: U) { [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> contest/src/range_tree.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | for i in 0..level { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> contest/src/range_tree.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | for i in 0..level { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/link_cut_tree.rs:122:28 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn init(&mut self, mut id: usize) { [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/link_cut_tree.rs:122:28 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn init(&mut self, mut id: usize) { [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> contest/src/cost_flow_augment_dijkstra.rs:65:13 [INFO] [stdout] | [INFO] [stdout] 65 | let n = self.g.len(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> contest/src/cost_flow_augment_dijkstra.rs:65:13 [INFO] [stdout] | [INFO] [stdout] 65 | let n = self.g.len(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/general_graph_match.rs:139:24 [INFO] [stdout] | [INFO] [stdout] 139 | pub fn mate(&self, mut i: usize) -> Option { [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/general_graph_match.rs:139:24 [INFO] [stdout] | [INFO] [stdout] 139 | pub fn mate(&self, mut i: usize) -> Option { [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/bipartite_maximum_weight_match_km.rs:60:17 [INFO] [stdout] | [INFO] [stdout] 60 | let mut x = queue[qs]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/bipartite_maximum_weight_match_km.rs:67:21 [INFO] [stdout] | [INFO] [stdout] 67 | let mut tmp = row.left_label[x] + row.right_label[y] - row.table[x][y]; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/bipartite_maximum_weight_match_km.rs:123:13 [INFO] [stdout] | [INFO] [stdout] 123 | let mut pre_x = y_pre[end_y]; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/bipartite_maximum_weight_match_km.rs:124:13 [INFO] [stdout] | [INFO] [stdout] 124 | let mut pre_y = row.left_mate[pre_x]; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `test_id` [INFO] [stdout] --> contest/src/solver.rs:10:37 [INFO] [stdout] | [INFO] [stdout] 10 | pub unsafe fn solve_one(test_id: usize, fi: &mut FastInput, fo: &mut impl Write) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/bipartite_maximum_weight_match_km.rs:60:17 [INFO] [stdout] | [INFO] [stdout] 60 | let mut x = queue[qs]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/bipartite_maximum_weight_match_km.rs:67:21 [INFO] [stdout] | [INFO] [stdout] 67 | let mut tmp = row.left_label[x] + row.right_label[y] - row.table[x][y]; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/bipartite_maximum_weight_match_km.rs:123:13 [INFO] [stdout] | [INFO] [stdout] 123 | let mut pre_x = y_pre[end_y]; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/bipartite_maximum_weight_match_km.rs:124:13 [INFO] [stdout] | [INFO] [stdout] 124 | let mut pre_y = row.left_mate[pre_x]; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `test_id` [INFO] [stdout] --> contest/src/solver.rs:10:37 [INFO] [stdout] | [INFO] [stdout] 10 | pub unsafe fn solve_one(test_id: usize, fi: &mut FastInput, fo: &mut impl Write) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/macros.rs:67:13 [INFO] [stdout] | [INFO] [stdout] 67 | let mut $var $(: $t)? = $fi.read(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] ::: contest/src/solver.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | / input!{ [INFO] [stdout] 12 | | fi, [INFO] [stdout] 13 | | d: usize, [INFO] [stdout] 14 | | k: u64, [INFO] [stdout] 15 | | } [INFO] [stdout] | |_____- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `input` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/macros.rs:67:13 [INFO] [stdout] | [INFO] [stdout] 67 | let mut $var $(: $t)? = $fi.read(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] ::: contest/src/solver.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | / input!{ [INFO] [stdout] 12 | | fi, [INFO] [stdout] 13 | | d: usize, [INFO] [stdout] 14 | | k: u64, [INFO] [stdout] 15 | | } [INFO] [stdout] | |_____- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `input` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/solver.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | let mut c = c.iter().rev().map(|x| mi::zero() - *x).collect(); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/macros.rs:67:13 [INFO] [stdout] | [INFO] [stdout] 67 | let mut $var $(: $t)? = $fi.read(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] ::: contest/src/solver.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | / input!{ [INFO] [stdout] 12 | | fi, [INFO] [stdout] 13 | | d: usize, [INFO] [stdout] 14 | | k: u64, [INFO] [stdout] 15 | | } [INFO] [stdout] | |_____- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `input` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/macros.rs:67:13 [INFO] [stdout] | [INFO] [stdout] 67 | let mut $var $(: $t)? = $fi.read(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] ::: contest/src/solver.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | / input!{ [INFO] [stdout] 12 | | fi, [INFO] [stdout] 13 | | d: usize, [INFO] [stdout] 14 | | k: u64, [INFO] [stdout] 15 | | } [INFO] [stdout] | |_____- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `input` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> contest/src/solver.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | let mut c = c.iter().rev().map(|x| mi::zero() - *x).collect(); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fi` [INFO] [stdout] --> contest/src/stress_external_member.rs:6:32 [INFO] [stdout] | [INFO] [stdout] 6 | pub unsafe fn brute_force(fi: &mut FastInput, fo: &mut impl Write) [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_fi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fo` [INFO] [stdout] --> contest/src/stress_external_member.rs:6:57 [INFO] [stdout] | [INFO] [stdout] 6 | pub unsafe fn brute_force(fi: &mut FastInput, fo: &mut impl Write) [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_fo` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> contest/src/stress_external_member.rs:12:22 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn generate_test(rng: &mut Rng, fo: &mut impl Write) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fo` [INFO] [stdout] --> contest/src/stress_external_member.rs:12:37 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn generate_test(rng: &mut Rng, fo: &mut impl Write) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_fo` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fi` [INFO] [stdout] --> contest/src/stress_external_member.rs:6:32 [INFO] [stdout] | [INFO] [stdout] 6 | pub unsafe fn brute_force(fi: &mut FastInput, fo: &mut impl Write) [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_fi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fo` [INFO] [stdout] --> contest/src/stress_external_member.rs:6:57 [INFO] [stdout] | [INFO] [stdout] 6 | pub unsafe fn brute_force(fi: &mut FastInput, fo: &mut impl Write) [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_fo` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> contest/src/stress_external_member.rs:12:22 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn generate_test(rng: &mut Rng, fo: &mut impl Write) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fo` [INFO] [stdout] --> contest/src/stress_external_member.rs:12:37 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn generate_test(rng: &mut Rng, fo: &mut impl Write) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_fo` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `k` [INFO] [stdout] --> contest/src/vector_matrix.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | let k = lhs.m; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_k` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `k` [INFO] [stdout] --> contest/src/vector_matrix.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | let k = lhs.m; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_k` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `mod2` should have an upper case name [INFO] [stdout] --> contest/src/poly_mtt.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | static mod2: i64 = M0 * M1; [INFO] [stdout] | ^^^^ help: convert the identifier to upper case: `MOD2` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `inv10` should have an upper case name [INFO] [stdout] --> contest/src/poly_mtt.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | static inv10: i64 = 208783132; [INFO] [stdout] | ^^^^^ help: convert the identifier to upper case: `INV10` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `inv01` should have an upper case name [INFO] [stdout] --> contest/src/poly_mtt.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 30 | static inv01: i64 = 554580198; [INFO] [stdout] | ^^^^^ help: convert the identifier to upper case: `INV01` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `inv012` should have an upper case name [INFO] [stdout] --> contest/src/poly_mtt.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | static inv012: i64 = 29562547; [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper case: `INV012` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `p1inv10` should have an upper case name [INFO] [stdout] --> contest/src/poly_mtt.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | static p1inv10: i64 = 208416582520653596; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper case: `P1INV10` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `p0inv01` should have an upper case name [INFO] [stdout] --> contest/src/poly_mtt.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | static p0inv01: i64 = 260520730147305702; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper case: `P0INV01` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `C` should have a snake case name [INFO] [stdout] --> contest/src/poly.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | let C = Self::inverse_internal(p.split_at(prev_mod).0); [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `c` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `C` should have a snake case name [INFO] [stdout] --> contest/src/poly.rs:39:13 [INFO] [stdout] | [INFO] [stdout] 39 | let C = poly_extend(C, proper_len); [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A` should have a snake case name [INFO] [stdout] --> contest/src/poly.rs:40:13 [INFO] [stdout] | [INFO] [stdout] 40 | let A = p.to_owned(); [INFO] [stdout] | ^ help: convert the identifier to snake case: `a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A` should have a snake case name [INFO] [stdout] --> contest/src/poly.rs:41:13 [INFO] [stdout] | [INFO] [stdout] 41 | let A = poly_extend(A, proper_len); [INFO] [stdout] | ^ help: convert the identifier to snake case: `a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `AC` should have a snake case name [INFO] [stdout] --> contest/src/poly.rs:43:17 [INFO] [stdout] | [INFO] [stdout] 43 | let mut AC = poly_extend(Self::convolution(A, C.clone()), m); [INFO] [stdout] | ^^ help: convert the identifier to snake case: `ac` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `singleton` should have an upper case name [INFO] [stdout] --> contest/src/rand.rs:51:16 [INFO] [stdout] | [INFO] [stdout] 51 | static mut singleton: Option = None; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper case: `SINGLETON` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `singleton` should have an upper case name [INFO] [stdout] --> contest/src/dynamic_modint.rs:84:28 [INFO] [stdout] | [INFO] [stdout] 84 | static mut singleton: Modulus<$T> = Modulus { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper case: `SINGLETON` [INFO] [stdout] ... [INFO] [stdout] 96 | DynamicModulusFactoryImpl!(MF32, u32); [INFO] [stdout] | ------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `DynamicModulusFactoryImpl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `singleton` should have an upper case name [INFO] [stdout] --> contest/src/dynamic_modint.rs:84:28 [INFO] [stdout] | [INFO] [stdout] 84 | static mut singleton: Modulus<$T> = Modulus { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper case: `SINGLETON` [INFO] [stdout] ... [INFO] [stdout] 97 | DynamicModulusFactoryImpl!(MF64, u64); [INFO] [stdout] | ------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `DynamicModulusFactoryImpl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `phi` should have an upper case name [INFO] [stdout] --> contest/src/enumerate_prime.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 46 | static phi: [usize; 10] = [ [INFO] [stdout] | ^^^ help: convert the identifier to upper case: `PHI` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `L` should have a snake case name [INFO] [stdout] --> contest/src/segtree.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | L: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `R` should have a snake case name [INFO] [stdout] --> contest/src/segtree.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | R: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/segtree.rs:68:16 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn new(L: usize, R: usize, f: impl Fn(usize) -> S) -> Self { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/segtree.rs:68:26 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn new(L: usize, R: usize, f: impl Fn(usize) -> S) -> Self { [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `mod2` should have an upper case name [INFO] [stdout] --> contest/src/poly_mtt.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | static mod2: i64 = M0 * M1; [INFO] [stdout] | ^^^^ help: convert the identifier to upper case: `MOD2` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/segtree.rs:106:43 [INFO] [stdout] | [INFO] [stdout] 106 | fn update_rec(&mut self, root: usize, L: usize, R: usize, l: usize, r: usize, u: U) { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/segtree.rs:106:53 [INFO] [stdout] | [INFO] [stdout] 106 | fn update_rec(&mut self, root: usize, L: usize, R: usize, l: usize, r: usize, u: U) { [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/segtree.rs:121:42 [INFO] [stdout] | [INFO] [stdout] 121 | fn query_rec(&mut self, root: usize, L: usize, R: usize, l: usize, r: usize) -> S { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `inv10` should have an upper case name [INFO] [stdout] --> contest/src/poly_mtt.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | static inv10: i64 = 208783132; [INFO] [stdout] | ^^^^^ help: convert the identifier to upper case: `INV10` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `inv01` should have an upper case name [INFO] [stdout] --> contest/src/poly_mtt.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 30 | static inv01: i64 = 554580198; [INFO] [stdout] | ^^^^^ help: convert the identifier to upper case: `INV01` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `inv012` should have an upper case name [INFO] [stdout] --> contest/src/poly_mtt.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | static inv012: i64 = 29562547; [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper case: `INV012` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/segtree.rs:121:52 [INFO] [stdout] | [INFO] [stdout] 121 | fn query_rec(&mut self, root: usize, L: usize, R: usize, l: usize, r: usize) -> S { [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `p1inv10` should have an upper case name [INFO] [stdout] --> contest/src/poly_mtt.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | static p1inv10: i64 = 208416582520653596; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper case: `P1INV10` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `p0inv01` should have an upper case name [INFO] [stdout] --> contest/src/poly_mtt.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | static p0inv01: i64 = 260520730147305702; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper case: `P0INV01` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `L` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | L: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `C` should have a snake case name [INFO] [stdout] --> contest/src/poly.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | let C = Self::inverse_internal(p.split_at(prev_mod).0); [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `c` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `R` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | R: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `C` should have a snake case name [INFO] [stdout] --> contest/src/poly.rs:39:13 [INFO] [stdout] | [INFO] [stdout] 39 | let C = poly_extend(C, proper_len); [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A` should have a snake case name [INFO] [stdout] --> contest/src/poly.rs:40:13 [INFO] [stdout] | [INFO] [stdout] 40 | let A = p.to_owned(); [INFO] [stdout] | ^ help: convert the identifier to snake case: `a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A` should have a snake case name [INFO] [stdout] --> contest/src/poly.rs:41:13 [INFO] [stdout] | [INFO] [stdout] 41 | let A = poly_extend(A, proper_len); [INFO] [stdout] | ^ help: convert the identifier to snake case: `a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `AC` should have a snake case name [INFO] [stdout] --> contest/src/poly.rs:43:17 [INFO] [stdout] | [INFO] [stdout] 43 | let mut AC = poly_extend(Self::convolution(A, C.clone()), m); [INFO] [stdout] | ^^ help: convert the identifier to snake case: `ac` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:200:39 [INFO] [stdout] | [INFO] [stdout] 200 | pub fn query_sum(self: &mut Self, L: usize, R: usize) -> T { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:200:49 [INFO] [stdout] | [INFO] [stdout] 200 | pub fn query_sum(self: &mut Self, L: usize, R: usize) -> T { [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:204:52 [INFO] [stdout] | [INFO] [stdout] 204 | fn query_sum_rec(self: &mut Self, root: usize, L: usize, R: usize, l: usize, r: usize) -> T { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:204:62 [INFO] [stdout] | [INFO] [stdout] 204 | fn query_sum_rec(self: &mut Self, root: usize, L: usize, R: usize, l: usize, r: usize) -> T { [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:217:39 [INFO] [stdout] | [INFO] [stdout] 217 | pub fn query_max(self: &mut Self, L: usize, R: usize) -> T { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:217:49 [INFO] [stdout] | [INFO] [stdout] 217 | pub fn query_max(self: &mut Self, L: usize, R: usize) -> T { [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:221:52 [INFO] [stdout] | [INFO] [stdout] 221 | fn query_max_rec(self: &mut Self, root: usize, L: usize, R: usize, l: usize, r: usize) -> T { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:221:62 [INFO] [stdout] | [INFO] [stdout] 221 | fn query_max_rec(self: &mut Self, root: usize, L: usize, R: usize, l: usize, r: usize) -> T { [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:235:39 [INFO] [stdout] | [INFO] [stdout] 235 | pub fn query_min(self: &mut Self, L: usize, R: usize) -> T { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:235:49 [INFO] [stdout] | [INFO] [stdout] 235 | pub fn query_min(self: &mut Self, L: usize, R: usize) -> T { [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:239:52 [INFO] [stdout] | [INFO] [stdout] 239 | fn query_min_rec(self: &mut Self, root: usize, L: usize, R: usize, l: usize, r: usize) -> T { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:239:62 [INFO] [stdout] | [INFO] [stdout] 239 | fn query_min_rec(self: &mut Self, root: usize, L: usize, R: usize, l: usize, r: usize) -> T { [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:253:40 [INFO] [stdout] | [INFO] [stdout] 253 | pub fn update_min(self: &mut Self, L: usize, R: usize, u: T) { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `singleton` should have an upper case name [INFO] [stdout] --> contest/src/rand.rs:51:16 [INFO] [stdout] | [INFO] [stdout] 51 | static mut singleton: Option = None; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper case: `SINGLETON` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:253:50 [INFO] [stdout] | [INFO] [stdout] 253 | pub fn update_min(self: &mut Self, L: usize, R: usize, u: T) { [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:261:9 [INFO] [stdout] | [INFO] [stdout] 261 | L: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:262:9 [INFO] [stdout] | [INFO] [stdout] 262 | R: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:286:40 [INFO] [stdout] | [INFO] [stdout] 286 | pub fn update_max(self: &mut Self, L: usize, R: usize, u: T) { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:286:50 [INFO] [stdout] | [INFO] [stdout] 286 | pub fn update_max(self: &mut Self, L: usize, R: usize, u: T) { [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:294:9 [INFO] [stdout] | [INFO] [stdout] 294 | L: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:295:9 [INFO] [stdout] | [INFO] [stdout] 295 | R: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:319:42 [INFO] [stdout] | [INFO] [stdout] 319 | pub fn update_value(self: &mut Self, L: usize, R: usize, u: T) { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:319:52 [INFO] [stdout] | [INFO] [stdout] 319 | pub fn update_value(self: &mut Self, L: usize, R: usize, u: T) { [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:327:9 [INFO] [stdout] | [INFO] [stdout] 327 | L: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:328:9 [INFO] [stdout] | [INFO] [stdout] 328 | R: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `L` should have a snake case name [INFO] [stdout] --> contest/src/persistent_segtree.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub L: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `R` should have a snake case name [INFO] [stdout] --> contest/src/persistent_segtree.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | pub R: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `L` should have a snake case name [INFO] [stdout] --> contest/src/persistent_segtree.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | L: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `R` should have a snake case name [INFO] [stdout] --> contest/src/persistent_segtree.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | R: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `singleton` should have an upper case name [INFO] [stdout] --> contest/src/dynamic_modint.rs:84:28 [INFO] [stdout] | [INFO] [stdout] 84 | static mut singleton: Modulus<$T> = Modulus { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper case: `SINGLETON` [INFO] [stdout] ... [INFO] [stdout] 96 | DynamicModulusFactoryImpl!(MF32, u32); [INFO] [stdout] | ------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `DynamicModulusFactoryImpl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/persistent_segtree.rs:56:16 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn new(L: usize, R: usize, nil_sum: S) -> Self { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `singleton` should have an upper case name [INFO] [stdout] --> contest/src/dynamic_modint.rs:84:28 [INFO] [stdout] | [INFO] [stdout] 84 | static mut singleton: Modulus<$T> = Modulus { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper case: `SINGLETON` [INFO] [stdout] ... [INFO] [stdout] 97 | DynamicModulusFactoryImpl!(MF64, u64); [INFO] [stdout] | ------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `DynamicModulusFactoryImpl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/persistent_segtree.rs:56:26 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn new(L: usize, R: usize, nil_sum: S) -> Self { [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/persistent_segtree.rs:110:38 [INFO] [stdout] | [INFO] [stdout] 110 | fn query_rec(&self, root: usize, L: usize, R: usize, l: usize, r: usize) -> S { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/persistent_segtree.rs:110:48 [INFO] [stdout] | [INFO] [stdout] 110 | fn query_rec(&self, root: usize, L: usize, R: usize, l: usize, r: usize) -> S { [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `phi` should have an upper case name [INFO] [stdout] --> contest/src/enumerate_prime.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 46 | static phi: [usize; 10] = [ [INFO] [stdout] | ^^^ help: convert the identifier to upper case: `PHI` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/persistent_segtree.rs:249:9 [INFO] [stdout] | [INFO] [stdout] 249 | L: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/persistent_segtree.rs:250:9 [INFO] [stdout] | [INFO] [stdout] 250 | R: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/persistent_segtree.rs:283:9 [INFO] [stdout] | [INFO] [stdout] 283 | L: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/persistent_segtree.rs:284:9 [INFO] [stdout] | [INFO] [stdout] 284 | R: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `L` should have a snake case name [INFO] [stdout] --> contest/src/segtree.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | L: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `R` should have a snake case name [INFO] [stdout] --> contest/src/segtree.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | R: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/lichao_segtree.rs:84:30 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn insert(&mut self, L: T, R: T, a: T, b: T) { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/segtree.rs:68:16 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn new(L: usize, R: usize, f: impl Fn(usize) -> S) -> Self { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/segtree.rs:68:26 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn new(L: usize, R: usize, f: impl Fn(usize) -> S) -> Self { [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/lichao_segtree.rs:84:36 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn insert(&mut self, L: T, R: T, a: T, b: T) { [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/segtree.rs:106:43 [INFO] [stdout] | [INFO] [stdout] 106 | fn update_rec(&mut self, root: usize, L: usize, R: usize, l: usize, r: usize, u: U) { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/segtree.rs:106:53 [INFO] [stdout] | [INFO] [stdout] 106 | fn update_rec(&mut self, root: usize, L: usize, R: usize, l: usize, r: usize, u: U) { [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/lichao_segtree.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | let L = first_true(0, self.1.len() - 1, |&x| self.1[x] >= L); [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/segtree.rs:121:42 [INFO] [stdout] | [INFO] [stdout] 121 | fn query_rec(&mut self, root: usize, L: usize, R: usize, l: usize, r: usize) -> S { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/segtree.rs:121:52 [INFO] [stdout] | [INFO] [stdout] 121 | fn query_rec(&mut self, root: usize, L: usize, R: usize, l: usize, r: usize) -> S { [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/lichao_segtree.rs:86:13 [INFO] [stdout] | [INFO] [stdout] 86 | let R = last_true(0, self.1.len() - 1, |&x| self.1[x] <= R); [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/lichao_segtree.rs:87:22 [INFO] [stdout] | [INFO] [stdout] 87 | if let (Some(L), Some(R)) = (L, R) { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `L` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | L: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `R` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | R: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/lichao_segtree.rs:87:31 [INFO] [stdout] | [INFO] [stdout] 87 | if let (Some(L), Some(R)) = (L, R) { [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/lichao_segtree.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | L: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:200:39 [INFO] [stdout] | [INFO] [stdout] 200 | pub fn query_sum(self: &mut Self, L: usize, R: usize) -> T { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:200:49 [INFO] [stdout] | [INFO] [stdout] 200 | pub fn query_sum(self: &mut Self, L: usize, R: usize) -> T { [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:204:52 [INFO] [stdout] | [INFO] [stdout] 204 | fn query_sum_rec(self: &mut Self, root: usize, L: usize, R: usize, l: usize, r: usize) -> T { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/lichao_segtree.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | R: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:204:62 [INFO] [stdout] | [INFO] [stdout] 204 | fn query_sum_rec(self: &mut Self, root: usize, L: usize, R: usize, l: usize, r: usize) -> T { [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:217:39 [INFO] [stdout] | [INFO] [stdout] 217 | pub fn query_max(self: &mut Self, L: usize, R: usize) -> T { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:217:49 [INFO] [stdout] | [INFO] [stdout] 217 | pub fn query_max(self: &mut Self, L: usize, R: usize) -> T { [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:221:52 [INFO] [stdout] | [INFO] [stdout] 221 | fn query_max_rec(self: &mut Self, root: usize, L: usize, R: usize, l: usize, r: usize) -> T { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:221:62 [INFO] [stdout] | [INFO] [stdout] 221 | fn query_max_rec(self: &mut Self, root: usize, L: usize, R: usize, l: usize, r: usize) -> T { [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:235:39 [INFO] [stdout] | [INFO] [stdout] 235 | pub fn query_min(self: &mut Self, L: usize, R: usize) -> T { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:235:49 [INFO] [stdout] | [INFO] [stdout] 235 | pub fn query_min(self: &mut Self, L: usize, R: usize) -> T { [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:239:52 [INFO] [stdout] | [INFO] [stdout] 239 | fn query_min_rec(self: &mut Self, root: usize, L: usize, R: usize, l: usize, r: usize) -> T { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:239:62 [INFO] [stdout] | [INFO] [stdout] 239 | fn query_min_rec(self: &mut Self, root: usize, L: usize, R: usize, l: usize, r: usize) -> T { [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:253:40 [INFO] [stdout] | [INFO] [stdout] 253 | pub fn update_min(self: &mut Self, L: usize, R: usize, u: T) { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:253:50 [INFO] [stdout] | [INFO] [stdout] 253 | pub fn update_min(self: &mut Self, L: usize, R: usize, u: T) { [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:261:9 [INFO] [stdout] | [INFO] [stdout] 261 | L: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:262:9 [INFO] [stdout] | [INFO] [stdout] 262 | R: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:286:40 [INFO] [stdout] | [INFO] [stdout] 286 | pub fn update_max(self: &mut Self, L: usize, R: usize, u: T) { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:286:50 [INFO] [stdout] | [INFO] [stdout] 286 | pub fn update_max(self: &mut Self, L: usize, R: usize, u: T) { [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:294:9 [INFO] [stdout] | [INFO] [stdout] 294 | L: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:295:9 [INFO] [stdout] | [INFO] [stdout] 295 | R: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:319:42 [INFO] [stdout] | [INFO] [stdout] 319 | pub fn update_value(self: &mut Self, L: usize, R: usize, u: T) { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:319:52 [INFO] [stdout] | [INFO] [stdout] 319 | pub fn update_value(self: &mut Self, L: usize, R: usize, u: T) { [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:327:9 [INFO] [stdout] | [INFO] [stdout] 327 | L: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/segtree_beat_ext.rs:328:9 [INFO] [stdout] | [INFO] [stdout] 328 | R: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `L` should have a snake case name [INFO] [stdout] --> contest/src/persistent_segtree.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub L: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `R` should have a snake case name [INFO] [stdout] --> contest/src/persistent_segtree.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | pub R: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `L` should have a snake case name [INFO] [stdout] --> contest/src/persistent_segtree.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | L: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `R` should have a snake case name [INFO] [stdout] --> contest/src/persistent_segtree.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | R: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/persistent_segtree.rs:56:16 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn new(L: usize, R: usize, nil_sum: S) -> Self { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/persistent_segtree.rs:56:26 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn new(L: usize, R: usize, nil_sum: S) -> Self { [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/persistent_segtree.rs:110:38 [INFO] [stdout] | [INFO] [stdout] 110 | fn query_rec(&self, root: usize, L: usize, R: usize, l: usize, r: usize) -> S { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/persistent_segtree.rs:110:48 [INFO] [stdout] | [INFO] [stdout] 110 | fn query_rec(&self, root: usize, L: usize, R: usize, l: usize, r: usize) -> S { [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/persistent_segtree.rs:249:9 [INFO] [stdout] | [INFO] [stdout] 249 | L: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/persistent_segtree.rs:250:9 [INFO] [stdout] | [INFO] [stdout] 250 | R: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/persistent_segtree.rs:283:9 [INFO] [stdout] | [INFO] [stdout] 283 | L: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/persistent_segtree.rs:284:9 [INFO] [stdout] | [INFO] [stdout] 284 | R: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `leftSubset` should have a snake case name [INFO] [stdout] --> contest/src/maximum_independent_set.rs:62:13 [INFO] [stdout] | [INFO] [stdout] 62 | let leftSubset = subsets[(mask & (!nearby[i])) as usize]; [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `left_subset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/lichao_segtree.rs:84:30 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn insert(&mut self, L: T, R: T, a: T, b: T) { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/lichao_segtree.rs:84:36 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn insert(&mut self, L: T, R: T, a: T, b: T) { [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/lichao_segtree.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | let L = first_true(0, self.1.len() - 1, |&x| self.1[x] >= L); [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/lichao_segtree.rs:86:13 [INFO] [stdout] | [INFO] [stdout] 86 | let R = last_true(0, self.1.len() - 1, |&x| self.1[x] <= R); [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/lichao_segtree.rs:87:22 [INFO] [stdout] | [INFO] [stdout] 87 | if let (Some(L), Some(R)) = (L, R) { [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/lichao_segtree.rs:87:31 [INFO] [stdout] | [INFO] [stdout] 87 | if let (Some(L), Some(R)) = (L, R) { [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> contest/src/lichao_segtree.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | L: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> contest/src/lichao_segtree.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | R: usize, [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `S` should have a snake case name [INFO] [stdout] --> contest/src/bipartite_maximum_weight_match_km.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | let mut S = vec![false; n]; [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `T` should have a snake case name [INFO] [stdout] --> contest/src/bipartite_maximum_weight_match_km.rs:51:13 [INFO] [stdout] | [INFO] [stdout] 51 | let mut T = vec![false; n]; [INFO] [stdout] | ^ help: convert the identifier to snake case: `t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `leftSubset` should have a snake case name [INFO] [stdout] --> contest/src/maximum_independent_set.rs:62:13 [INFO] [stdout] | [INFO] [stdout] 62 | let leftSubset = subsets[(mask & (!nearby[i])) as usize]; [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `left_subset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> contest/src/solver.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | writeln!(fo, "{}", kth); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `S` should have a snake case name [INFO] [stdout] --> contest/src/bipartite_maximum_weight_match_km.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | let mut S = vec![false; n]; [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `T` should have a snake case name [INFO] [stdout] --> contest/src/bipartite_maximum_weight_match_km.rs:51:13 [INFO] [stdout] | [INFO] [stdout] 51 | let mut T = vec![false; n]; [INFO] [stdout] | ^ help: convert the identifier to snake case: `t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `T` should have a snake case name [INFO] [stdout] --> contest/src/vector_binary_subset_convolution.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | let mut T = vec![zero; n]; [INFO] [stdout] | ^ help: convert the identifier to snake case: `t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> contest/src/solver.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | writeln!(fo, "{}", kth); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `T` should have a snake case name [INFO] [stdout] --> contest/src/vector_binary_subset_convolution.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | let mut T = vec![zero; n]; [INFO] [stdout] | ^ help: convert the identifier to snake case: `t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 196 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 201 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `stress::stress` [INFO] [stdout] --> contest/src/main.rs:3:36 [INFO] [stdout] | [INFO] [stdout] 3 | use contest::{solver::solve_multi, stress::stress}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_in_new_thread` is never used [INFO] [stdout] --> contest/src/main.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | unsafe fn run_in_new_thread() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> contest/src/main.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | / thread::Builder::new() [INFO] [stdout] 17 | | .stack_size(256 << 20) [INFO] [stdout] 18 | | .spawn(|| {run_in_current_thread();}) [INFO] [stdout] 19 | | .unwrap() [INFO] [stdout] 20 | | .join(); [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 16 | let _ = thread::Builder::new() [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `stress::stress` [INFO] [stdout] --> contest/src/main.rs:3:36 [INFO] [stdout] | [INFO] [stdout] 3 | use contest::{solver::solve_multi, stress::stress}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_in_new_thread` is never used [INFO] [stdout] --> contest/src/main.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | unsafe fn run_in_new_thread() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> contest/src/main.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | / thread::Builder::new() [INFO] [stdout] 17 | | .stack_size(256 << 20) [INFO] [stdout] 18 | | .spawn(|| {run_in_current_thread();}) [INFO] [stdout] 19 | | .unwrap() [INFO] [stdout] 20 | | .join(); [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 16 | let _ = thread::Builder::new() [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.65s [INFO] running `Command { std: "docker" "inspect" "4f44221cc6f7437e1f159714b4f9a5315df21a1c408706c73942ab604b55a785", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4f44221cc6f7437e1f159714b4f9a5315df21a1c408706c73942ab604b55a785", kill_on_drop: false }` [INFO] [stdout] 4f44221cc6f7437e1f159714b4f9a5315df21a1c408706c73942ab604b55a785