[INFO] cloning repository https://github.com/lazystitan/codewars [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lazystitan/codewars" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flazystitan%2Fcodewars", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flazystitan%2Fcodewars'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 55de808b653648313c1c78d6493508e9798a8502 [INFO] checking lazystitan/codewars against master#1f12b9b0fdbe735968ac002792a720f0ba4faca6 for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flazystitan%2Fcodewars" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/lazystitan/codewars 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/lazystitan/codewars [INFO] finished tweaking git repo https://github.com/lazystitan/codewars [INFO] tweaked toml for git repo https://github.com/lazystitan/codewars written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/lazystitan/codewars 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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 23a5826214f86096681799894c610e505cb218a5cadd576b8384fa1a5f868ef3 [INFO] running `Command { std: "docker" "start" "-a" "23a5826214f86096681799894c610e505cb218a5cadd576b8384fa1a5f868ef3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "23a5826214f86096681799894c610e505cb218a5cadd576b8384fa1a5f868ef3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "23a5826214f86096681799894c610e505cb218a5cadd576b8384fa1a5f868ef3", kill_on_drop: false }` [INFO] [stdout] 23a5826214f86096681799894c610e505cb218a5cadd576b8384fa1a5f868ef3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 08cb98f4d664ab9e778bd9fc630c933df080dbbf9fb4e5d3b20e3fd2d17f6aa0 [INFO] running `Command { std: "docker" "start" "-a" "08cb98f4d664ab9e778bd9fc630c933df080dbbf9fb4e5d3b20e3fd2d17f6aa0", kill_on_drop: false }` [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Checking regex-syntax v0.6.28 [INFO] [stderr] Checking aho-corasick v0.7.20 [INFO] [stderr] Checking regex v1.7.1 [INFO] [stderr] Checking codewars v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::arch::asm` [INFO] [stdout] --> src/hard/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::arch::asm; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap`, `BTreeSet`, and `VecDeque` [INFO] [stdout] --> src/hard/mod.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet, HashMap, HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around index expression [INFO] [stdout] --> src/hard/integer_partitions.rs:46:11 [INFO] [stdout] | [INFO] [stdout] 46 | v[(v.len() / 2)] as f64 [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 46 - v[(v.len() / 2)] as f64 [INFO] [stdout] 46 + v[v.len() / 2] as f64 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BTreeSet` [INFO] [stdout] --> src/hard/rect_area.rs:1:24 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{BTreeSet, HashMap}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::arch::asm` [INFO] [stdout] --> src/hard/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::arch::asm; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap`, `BTreeSet`, and `VecDeque` [INFO] [stdout] --> src/hard/mod.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet, HashMap, HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around index expression [INFO] [stdout] --> src/hard/integer_partitions.rs:46:11 [INFO] [stdout] | [INFO] [stdout] 46 | v[(v.len() / 2)] as f64 [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 46 - v[(v.len() / 2)] as f64 [INFO] [stdout] 46 + v[v.len() / 2] as f64 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BTreeSet` [INFO] [stdout] --> src/hard/rect_area.rs:1:24 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{BTreeSet, HashMap}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr` [INFO] [stdout] --> src/hard/evaluate.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | fn calc(expr: &str) -> f64 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_expr` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/hard/mod.rs:208:9 [INFO] [stdout] | [INFO] [stdout] 208 | let mut len_of_sorted = nv.len() - 2; [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: variable does not need to be mutable [INFO] [stdout] --> src/hard/mod.rs:271:13 [INFO] [stdout] | [INFO] [stdout] 271 | let mut min_r = *r_index.iter().min().unwrap(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `array_diff` is never used [INFO] [stdout] --> src/under4.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn array_diff(a: Vec, b: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_next_square` is never used [INFO] [stdout] --> src/under4.rs:8:4 [INFO] [stdout] | [INFO] [stdout] 8 | fn find_next_square(sq: u64) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_even_index` is never used [INFO] [stdout] --> src/under4.rs:13:4 [INFO] [stdout] | [INFO] [stdout] 13 | fn find_even_index(arr: &[i32]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `duplicate_encode` is never used [INFO] [stdout] --> src/under4.rs:41:4 [INFO] [stdout] | [INFO] [stdout] 41 | fn duplicate_encode(word: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dna_strand` is never used [INFO] [stdout] --> src/under4.rs:78:4 [INFO] [stdout] | [INFO] [stdout] 78 | fn dna_strand(dna: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_pin` is never used [INFO] [stdout] --> src/under4.rs:89:4 [INFO] [stdout] | [INFO] [stdout] 89 | fn validate_pin(_pin: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_short` is never used [INFO] [stdout] --> src/under4.rs:93:4 [INFO] [stdout] | [INFO] [stdout] 93 | fn find_short(s: &str) -> u32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `alphabet_position` is never used [INFO] [stdout] --> src/under4.rs:97:4 [INFO] [stdout] | [INFO] [stdout] 97 | fn alphabet_position(text: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_valid_walk` is never used [INFO] [stdout] --> src/under4.rs:106:4 [INFO] [stdout] | [INFO] [stdout] 106 | fn is_valid_walk(walk: &[char]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_readable` is never used [INFO] [stdout] --> src/under4.rs:123:4 [INFO] [stdout] | [INFO] [stdout] 123 | fn make_readable(seconds: u32) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Direction` is never used [INFO] [stdout] --> src/under4.rs:135:6 [INFO] [stdout] | [INFO] [stdout] 135 | enum Direction { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dir_reduc` is never used [INFO] [stdout] --> src/under4.rs:142:4 [INFO] [stdout] | [INFO] [stdout] 142 | fn dir_reduc(arr: &[Direction]) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_camel_case` is never used [INFO] [stdout] --> src/under4.rs:213:4 [INFO] [stdout] | [INFO] [stdout] 213 | fn to_camel_case(text: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `two_sum` is never used [INFO] [stdout] --> src/under4.rs:238:4 [INFO] [stdout] | [INFO] [stdout] 238 | fn two_sum(numbers: &[i32], target: i32) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rot13` is never used [INFO] [stdout] --> src/under4.rs:251:4 [INFO] [stdout] | [INFO] [stdout] 251 | fn rot13(message: &str) -> String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tower_builder` is never used [INFO] [stdout] --> src/under4.rs:280:4 [INFO] [stdout] | [INFO] [stdout] 280 | fn tower_builder(n_floors: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parts_sums` is never used [INFO] [stdout] --> src/under4.rs:316:4 [INFO] [stdout] | [INFO] [stdout] 316 | fn parts_sums(ls: &[u64]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `valid_isbn10` is never used [INFO] [stdout] --> src/under4.rs:324:4 [INFO] [stdout] | [INFO] [stdout] 324 | fn valid_isbn10(isbn: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `zeros` is never used [INFO] [stdout] --> src/under4.rs:347:4 [INFO] [stdout] | [INFO] [stdout] 347 | fn zeros(n: u64) -> u64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decompose` is never used [INFO] [stdout] --> src/under4.rs:356:4 [INFO] [stdout] | [INFO] [stdout] 356 | fn decompose(n: i64) -> Option> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_postfix` is never used [INFO] [stdout] --> src/hard/mod.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn to_postfix(infix: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_prime` is never used [INFO] [stdout] --> src/hard/mod.rs:72:4 [INFO] [stdout] | [INFO] [stdout] 72 | fn is_prime(n: u64) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `prime_factorisation` is never used [INFO] [stdout] --> src/hard/mod.rs:82:4 [INFO] [stdout] | [INFO] [stdout] 82 | fn prime_factorisation(mut n: u64, prime_list: &mut Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gcd` is never used [INFO] [stdout] --> src/hard/mod.rs:110:4 [INFO] [stdout] | [INFO] [stdout] 110 | fn gcd(a: u64, b: u64) -> u64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `smallest_possible_sum_gcd` is never used [INFO] [stdout] --> src/hard/mod.rs:120:4 [INFO] [stdout] | [INFO] [stdout] 120 | fn smallest_possible_sum_gcd(arr: &[u64]) -> u128 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `smallest_possible_sum` is never used [INFO] [stdout] --> src/hard/mod.rs:124:4 [INFO] [stdout] | [INFO] [stdout] 124 | fn smallest_possible_sum(arr: &[u64]) -> u128 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mix` is never used [INFO] [stdout] --> src/hard/mod.rs:164:4 [INFO] [stdout] | [INFO] [stdout] 164 | fn mix(s1: &str, s2: &str) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_sorted` is never used [INFO] [stdout] --> src/hard/mod.rs:187:4 [INFO] [stdout] | [INFO] [stdout] 187 | fn is_sorted(x: &[char]) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `next_smaller_number` is never used [INFO] [stdout] --> src/hard/mod.rs:202:4 [INFO] [stdout] | [INFO] [stdout] 202 | fn next_smaller_number(n: u64) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dbl_linear` is never used [INFO] [stdout] --> src/hard/mod.rs:247:4 [INFO] [stdout] | [INFO] [stdout] 247 | fn dbl_linear(n: u32) -> u32{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `n_linear` is never used [INFO] [stdout] --> src/hard/mod.rs:263:4 [INFO] [stdout] | [INFO] [stdout] 263 | fn n_linear(m: &[u32], n: usize) -> u32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `recover_secret` is never used [INFO] [stdout] --> src/hard/graph.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn recover_secret(triplets: Vec<[char; 3]>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `qmul` is never used [INFO] [stdout] --> src/hard/prime.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn qmul(a: u64, b: u64, m: u64) -> u64 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `qpow` is never used [INFO] [stdout] --> src/hard/prime.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn qpow(mut base: u64, mut exp: u64, m: u64) -> u64 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mr_test` is never used [INFO] [stdout] --> src/hard/prime.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn mr_test(n: u64) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Cons` is never used [INFO] [stdout] --> src/hard/cons.rs:2:6 [INFO] [stdout] | [INFO] [stdout] 2 | enum Cons { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `to_vec` are never used [INFO] [stdout] --> src/hard/cons.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl Cons { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 8 | pub fn new(head: T, tail: Self) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | pub fn to_vec(&self) -> Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_iter`, `filter`, and `map` are never used [INFO] [stdout] --> src/hard/cons.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl Cons { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 25 | pub fn from_iter(it: I) -> Self [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn filter(&self, fun: F) -> Self [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn map(&self, fun: F) -> Cons [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `partition` is never used [INFO] [stdout] --> src/hard/integer_partitions.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn partition(n: u64, m: u64) -> u64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `int_part` is never used [INFO] [stdout] --> src/hard/integer_partitions.rs:13:4 [INFO] [stdout] | [INFO] [stdout] 13 | fn int_part(n: i64, m: i64) -> Vec> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part` is never used [INFO] [stdout] --> src/hard/integer_partitions.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn part(n: i64) -> String { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_exp` is never used [INFO] [stdout] --> src/hard/evaluate.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn parse_exp() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calc` is never used [INFO] [stdout] --> src/hard/evaluate.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn calc(expr: &str) -> f64 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate` is never used [INFO] [stdout] --> src/hard/rect_area.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn calculate(rectangles: &[[i32; 4]]) -> i64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `spiralize` is never used [INFO] [stdout] --> src/hard/spiral.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn spiralize(size: usize) -> Vec> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `list_position` is never used [INFO] [stdout] --> src/hard/alphabetic_anagrams.rs:4:4 [INFO] [stdout] | [INFO] [stdout] 4 | fn list_position(word: &str) -> u128 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 53 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr` [INFO] [stdout] --> src/hard/evaluate.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | fn calc(expr: &str) -> f64 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_expr` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/hard/mod.rs:208:9 [INFO] [stdout] | [INFO] [stdout] 208 | let mut len_of_sorted = nv.len() - 2; [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: variable does not need to be mutable [INFO] [stdout] --> src/hard/mod.rs:271:13 [INFO] [stdout] | [INFO] [stdout] 271 | let mut min_r = *r_index.iter().min().unwrap(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `array_diff` is never used [INFO] [stdout] --> src/under4.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn array_diff(a: Vec, b: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/hard/cons.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl Cons { [INFO] [stdout] | ---------------------- associated function in this implementation [INFO] [stdout] 8 | pub fn new(head: T, tail: Self) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_exp` is never used [INFO] [stdout] --> src/hard/evaluate.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn parse_exp() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ERR_MSG` is never used [INFO] [stdout] --> src/hard/alphabetic_anagrams.rs:27:11 [INFO] [stdout] | [INFO] [stdout] 27 | const ERR_MSG: &str = "\nYour result (left) did not match the expected output (right)"; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 11 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.73s [INFO] running `Command { std: "docker" "inspect" "08cb98f4d664ab9e778bd9fc630c933df080dbbf9fb4e5d3b20e3fd2d17f6aa0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "08cb98f4d664ab9e778bd9fc630c933df080dbbf9fb4e5d3b20e3fd2d17f6aa0", kill_on_drop: false }` [INFO] [stdout] 08cb98f4d664ab9e778bd9fc630c933df080dbbf9fb4e5d3b20e3fd2d17f6aa0 [INFO] checking lazystitan/codewars against try#f9935d29d867449445ee008640ccca1bf1ae0889+rustflags=-Dtail_expr_drop_order for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flazystitan%2Fcodewars" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/lazystitan/codewars on toolchain f9935d29d867449445ee008640ccca1bf1ae0889 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/lazystitan/codewars [INFO] finished tweaking git repo https://github.com/lazystitan/codewars [INFO] tweaked toml for git repo https://github.com/lazystitan/codewars written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/lazystitan/codewars 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" "+f9935d29d867449445ee008640ccca1bf1ae0889" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a7df6030615b3f49837e9fb301e33f0987753aa204d54b37fc1f300adbbe2273 [INFO] running `Command { std: "docker" "start" "-a" "a7df6030615b3f49837e9fb301e33f0987753aa204d54b37fc1f300adbbe2273", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a7df6030615b3f49837e9fb301e33f0987753aa204d54b37fc1f300adbbe2273", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a7df6030615b3f49837e9fb301e33f0987753aa204d54b37fc1f300adbbe2273", kill_on_drop: false }` [INFO] [stdout] a7df6030615b3f49837e9fb301e33f0987753aa204d54b37fc1f300adbbe2273 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail_expr_drop_order" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6963bcaf3fa695907f9c515669a5d1f884f8b73695e3a112b2a9cc8b7cf5ca37 [INFO] running `Command { std: "docker" "start" "-a" "6963bcaf3fa695907f9c515669a5d1f884f8b73695e3a112b2a9cc8b7cf5ca37", kill_on_drop: false }` [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Checking regex-syntax v0.6.28 [INFO] [stderr] Checking aho-corasick v0.7.20 [INFO] [stderr] Checking regex v1.7.1 [INFO] [stderr] Checking codewars v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::arch::asm` [INFO] [stdout] --> src/hard/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::arch::asm; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap`, `BTreeSet`, and `VecDeque` [INFO] [stdout] --> src/hard/mod.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet, HashMap, HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around index expression [INFO] [stdout] --> src/hard/integer_partitions.rs:46:11 [INFO] [stdout] | [INFO] [stdout] 46 | v[(v.len() / 2)] as f64 [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 46 - v[(v.len() / 2)] as f64 [INFO] [stdout] 46 + v[v.len() / 2] as f64 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BTreeSet` [INFO] [stdout] --> src/hard/rect_area.rs:1:24 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{BTreeSet, HashMap}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::arch::asm` [INFO] [stdout] --> src/hard/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::arch::asm; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BTreeMap`, `BTreeSet`, and `VecDeque` [INFO] [stdout] --> src/hard/mod.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{BTreeMap, BTreeSet, HashMap, HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around index expression [INFO] [stdout] --> src/hard/integer_partitions.rs:46:11 [INFO] [stdout] | [INFO] [stdout] 46 | v[(v.len() / 2)] as f64 [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 46 - v[(v.len() / 2)] as f64 [INFO] [stdout] 46 + v[v.len() / 2] as f64 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BTreeSet` [INFO] [stdout] --> src/hard/rect_area.rs:1:24 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{BTreeSet, HashMap}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr` [INFO] [stdout] --> src/hard/evaluate.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | fn calc(expr: &str) -> f64 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_expr` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/hard/mod.rs:208:9 [INFO] [stdout] | [INFO] [stdout] 208 | let mut len_of_sorted = nv.len() - 2; [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: variable does not need to be mutable [INFO] [stdout] --> src/hard/mod.rs:271:13 [INFO] [stdout] | [INFO] [stdout] 271 | let mut min_r = *r_index.iter().min().unwrap(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `array_diff` is never used [INFO] [stdout] --> src/under4.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn array_diff(a: Vec, b: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_next_square` is never used [INFO] [stdout] --> src/under4.rs:8:4 [INFO] [stdout] | [INFO] [stdout] 8 | fn find_next_square(sq: u64) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_even_index` is never used [INFO] [stdout] --> src/under4.rs:13:4 [INFO] [stdout] | [INFO] [stdout] 13 | fn find_even_index(arr: &[i32]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `duplicate_encode` is never used [INFO] [stdout] --> src/under4.rs:41:4 [INFO] [stdout] | [INFO] [stdout] 41 | fn duplicate_encode(word: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dna_strand` is never used [INFO] [stdout] --> src/under4.rs:78:4 [INFO] [stdout] | [INFO] [stdout] 78 | fn dna_strand(dna: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_pin` is never used [INFO] [stdout] --> src/under4.rs:89:4 [INFO] [stdout] | [INFO] [stdout] 89 | fn validate_pin(_pin: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_short` is never used [INFO] [stdout] --> src/under4.rs:93:4 [INFO] [stdout] | [INFO] [stdout] 93 | fn find_short(s: &str) -> u32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `alphabet_position` is never used [INFO] [stdout] --> src/under4.rs:97:4 [INFO] [stdout] | [INFO] [stdout] 97 | fn alphabet_position(text: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_valid_walk` is never used [INFO] [stdout] --> src/under4.rs:106:4 [INFO] [stdout] | [INFO] [stdout] 106 | fn is_valid_walk(walk: &[char]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_readable` is never used [INFO] [stdout] --> src/under4.rs:123:4 [INFO] [stdout] | [INFO] [stdout] 123 | fn make_readable(seconds: u32) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Direction` is never used [INFO] [stdout] --> src/under4.rs:135:6 [INFO] [stdout] | [INFO] [stdout] 135 | enum Direction { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dir_reduc` is never used [INFO] [stdout] --> src/under4.rs:142:4 [INFO] [stdout] | [INFO] [stdout] 142 | fn dir_reduc(arr: &[Direction]) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_camel_case` is never used [INFO] [stdout] --> src/under4.rs:213:4 [INFO] [stdout] | [INFO] [stdout] 213 | fn to_camel_case(text: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `two_sum` is never used [INFO] [stdout] --> src/under4.rs:238:4 [INFO] [stdout] | [INFO] [stdout] 238 | fn two_sum(numbers: &[i32], target: i32) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rot13` is never used [INFO] [stdout] --> src/under4.rs:251:4 [INFO] [stdout] | [INFO] [stdout] 251 | fn rot13(message: &str) -> String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tower_builder` is never used [INFO] [stdout] --> src/under4.rs:280:4 [INFO] [stdout] | [INFO] [stdout] 280 | fn tower_builder(n_floors: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parts_sums` is never used [INFO] [stdout] --> src/under4.rs:316:4 [INFO] [stdout] | [INFO] [stdout] 316 | fn parts_sums(ls: &[u64]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `valid_isbn10` is never used [INFO] [stdout] --> src/under4.rs:324:4 [INFO] [stdout] | [INFO] [stdout] 324 | fn valid_isbn10(isbn: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `zeros` is never used [INFO] [stdout] --> src/under4.rs:347:4 [INFO] [stdout] | [INFO] [stdout] 347 | fn zeros(n: u64) -> u64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decompose` is never used [INFO] [stdout] --> src/under4.rs:356:4 [INFO] [stdout] | [INFO] [stdout] 356 | fn decompose(n: i64) -> Option> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_postfix` is never used [INFO] [stdout] --> src/hard/mod.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn to_postfix(infix: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_prime` is never used [INFO] [stdout] --> src/hard/mod.rs:72:4 [INFO] [stdout] | [INFO] [stdout] 72 | fn is_prime(n: u64) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `prime_factorisation` is never used [INFO] [stdout] --> src/hard/mod.rs:82:4 [INFO] [stdout] | [INFO] [stdout] 82 | fn prime_factorisation(mut n: u64, prime_list: &mut Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gcd` is never used [INFO] [stdout] --> src/hard/mod.rs:110:4 [INFO] [stdout] | [INFO] [stdout] 110 | fn gcd(a: u64, b: u64) -> u64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `smallest_possible_sum_gcd` is never used [INFO] [stdout] --> src/hard/mod.rs:120:4 [INFO] [stdout] | [INFO] [stdout] 120 | fn smallest_possible_sum_gcd(arr: &[u64]) -> u128 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `smallest_possible_sum` is never used [INFO] [stdout] --> src/hard/mod.rs:124:4 [INFO] [stdout] | [INFO] [stdout] 124 | fn smallest_possible_sum(arr: &[u64]) -> u128 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mix` is never used [INFO] [stdout] --> src/hard/mod.rs:164:4 [INFO] [stdout] | [INFO] [stdout] 164 | fn mix(s1: &str, s2: &str) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_sorted` is never used [INFO] [stdout] --> src/hard/mod.rs:187:4 [INFO] [stdout] | [INFO] [stdout] 187 | fn is_sorted(x: &[char]) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `next_smaller_number` is never used [INFO] [stdout] --> src/hard/mod.rs:202:4 [INFO] [stdout] | [INFO] [stdout] 202 | fn next_smaller_number(n: u64) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dbl_linear` is never used [INFO] [stdout] --> src/hard/mod.rs:247:4 [INFO] [stdout] | [INFO] [stdout] 247 | fn dbl_linear(n: u32) -> u32{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `n_linear` is never used [INFO] [stdout] --> src/hard/mod.rs:263:4 [INFO] [stdout] | [INFO] [stdout] 263 | fn n_linear(m: &[u32], n: usize) -> u32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `recover_secret` is never used [INFO] [stdout] --> src/hard/graph.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn recover_secret(triplets: Vec<[char; 3]>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `qmul` is never used [INFO] [stdout] --> src/hard/prime.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn qmul(a: u64, b: u64, m: u64) -> u64 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `qpow` is never used [INFO] [stdout] --> src/hard/prime.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn qpow(mut base: u64, mut exp: u64, m: u64) -> u64 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mr_test` is never used [INFO] [stdout] --> src/hard/prime.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn mr_test(n: u64) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Cons` is never used [INFO] [stdout] --> src/hard/cons.rs:2:6 [INFO] [stdout] | [INFO] [stdout] 2 | enum Cons { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `to_vec` are never used [INFO] [stdout] --> src/hard/cons.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl Cons { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 8 | pub fn new(head: T, tail: Self) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | pub fn to_vec(&self) -> Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_iter`, `filter`, and `map` are never used [INFO] [stdout] --> src/hard/cons.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl Cons { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 25 | pub fn from_iter(it: I) -> Self [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn filter(&self, fun: F) -> Self [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn map(&self, fun: F) -> Cons [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `partition` is never used [INFO] [stdout] --> src/hard/integer_partitions.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn partition(n: u64, m: u64) -> u64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `int_part` is never used [INFO] [stdout] --> src/hard/integer_partitions.rs:13:4 [INFO] [stdout] | [INFO] [stdout] 13 | fn int_part(n: i64, m: i64) -> Vec> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `part` is never used [INFO] [stdout] --> src/hard/integer_partitions.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn part(n: i64) -> String { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_exp` is never used [INFO] [stdout] --> src/hard/evaluate.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn parse_exp() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calc` is never used [INFO] [stdout] --> src/hard/evaluate.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn calc(expr: &str) -> f64 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate` is never used [INFO] [stdout] --> src/hard/rect_area.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn calculate(rectangles: &[[i32; 4]]) -> i64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `spiralize` is never used [INFO] [stdout] --> src/hard/spiral.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn spiralize(size: usize) -> Vec> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `list_position` is never used [INFO] [stdout] --> src/hard/alphabetic_anagrams.rs:4:4 [INFO] [stdout] | [INFO] [stdout] 4 | fn list_position(word: &str) -> u128 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/under4.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 1 | fn array_diff(a: Vec, b: Vec) -> Vec { [INFO] [stdout] | --------- --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 2 | // a.retain(|x| !b.contains(x)); [INFO] [stdout] 3 | / a.into_iter().filter(|item| { [INFO] [stdout] 4 | | !b.contains(item) [INFO] [stdout] 5 | | }).collect() [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/hard/cons.rs:9:26 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn new(head: T, tail: Self) -> Self { [INFO] [stdout] | ------- ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 9 | Cons::Cons(head, Box::new(tail)) [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/hard/cons.rs:29:15 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn from_iter(it: I) -> Self [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 28 | let mut it = it.into_iter(); [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 29 | match it.next() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors; 53 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `codewars` (bin "codewars") due to 4 previous errors; 53 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused variable: `expr` [INFO] [stdout] --> src/hard/evaluate.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | fn calc(expr: &str) -> f64 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_expr` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/hard/mod.rs:208:9 [INFO] [stdout] | [INFO] [stdout] 208 | let mut len_of_sorted = nv.len() - 2; [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: variable does not need to be mutable [INFO] [stdout] --> src/hard/mod.rs:271:13 [INFO] [stdout] | [INFO] [stdout] 271 | let mut min_r = *r_index.iter().min().unwrap(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `array_diff` is never used [INFO] [stdout] --> src/under4.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn array_diff(a: Vec, b: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/hard/cons.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl Cons { [INFO] [stdout] | ---------------------- associated function in this implementation [INFO] [stdout] 8 | pub fn new(head: T, tail: Self) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_exp` is never used [INFO] [stdout] --> src/hard/evaluate.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn parse_exp() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ERR_MSG` is never used [INFO] [stdout] --> src/hard/alphabetic_anagrams.rs:27:11 [INFO] [stdout] | [INFO] [stdout] 27 | const ERR_MSG: &str = "\nYour result (left) did not match the expected output (right)"; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/under4.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 1 | fn array_diff(a: Vec, b: Vec) -> Vec { [INFO] [stdout] | --------- --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 2 | // a.retain(|x| !b.contains(x)); [INFO] [stdout] 3 | / a.into_iter().filter(|item| { [INFO] [stdout] 4 | | !b.contains(item) [INFO] [stdout] 5 | | }).collect() [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/hard/cons.rs:9:26 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn new(head: T, tail: Self) -> Self { [INFO] [stdout] | ------- ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 9 | Cons::Cons(head, Box::new(tail)) [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/hard/cons.rs:29:15 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn from_iter(it: I) -> Self [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 28 | let mut it = it.into_iter(); [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 29 | match it.next() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors; 11 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `codewars` (bin "codewars" test) due to 4 previous errors; 11 warnings emitted [INFO] running `Command { std: "docker" "inspect" "6963bcaf3fa695907f9c515669a5d1f884f8b73695e3a112b2a9cc8b7cf5ca37", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6963bcaf3fa695907f9c515669a5d1f884f8b73695e3a112b2a9cc8b7cf5ca37", kill_on_drop: false }` [INFO] [stdout] 6963bcaf3fa695907f9c515669a5d1f884f8b73695e3a112b2a9cc8b7cf5ca37