[INFO] cloning repository https://github.com/IndianBoy42/codewars
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/IndianBoy42/codewars" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIndianBoy42%2Fcodewars", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIndianBoy42%2Fcodewars'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 184edd3ca283bf7a3f920630442310fff46c5ea0
[INFO] testing IndianBoy42/codewars against master#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIndianBoy42%2Fcodewars" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/IndianBoy42/codewars
[INFO] finished tweaking git repo https://github.com/IndianBoy42/codewars
[INFO] tweaked toml for git repo https://github.com/IndianBoy42/codewars written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/IndianBoy42/codewars on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/IndianBoy42/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" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3ce569196435c67448ddcfbf3a7056eeca55f0b1df26c23026290a629852cdd4
[INFO] running `Command { std: "docker" "start" "-a" "3ce569196435c67448ddcfbf3a7056eeca55f0b1df26c23026290a629852cdd4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3ce569196435c67448ddcfbf3a7056eeca55f0b1df26c23026290a629852cdd4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3ce569196435c67448ddcfbf3a7056eeca55f0b1df26c23026290a629852cdd4", kill_on_drop: false }`
[INFO] [stdout] 3ce569196435c67448ddcfbf3a7056eeca55f0b1df26c23026290a629852cdd4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 426c06d004fa7dda0f070305612ae7d9834d1d7e0a1a158c9765756df709977a
[INFO] running `Command { std: "docker" "start" "-a" "426c06d004fa7dda0f070305612ae7d9834d1d7e0a1a158c9765756df709977a", kill_on_drop: false }`
[INFO] [stderr]    Compiling codewars v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]  --> src/going_to_zero_inf.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 |                 .map(|j| (1.0f64 / (j as f64)))
[INFO] [stdout]   |                          ^                   ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]   |
[INFO] [stdout] 6 -                 .map(|j| (1.0f64 / (j as f64)))
[INFO] [stdout] 6 +                 .map(|j| 1.0f64 / (j as f64) )
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded`
[INFO] [stdout]   --> src/decode_morse.rs:10:31
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn decode_bits(&self, encoded: &str) -> String {
[INFO] [stdout]    |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded`
[INFO] [stdout]   --> src/decode_morse.rs:16:32
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn decode_morse(&self, encoded: &str) -> String {
[INFO] [stdout]    |                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `swap_lt` is never used
[INFO] [stdout]  --> src/sq_in_rect.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn swap_lt(a: i32, b: i32) -> (i32, i32) {
[INFO] [stdout]   |    ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sq_in_rect` is never used
[INFO] [stdout]  --> src/sq_in_rect.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn sq_in_rect(length: i32, width: i32) -> Option<Vec<i32>> {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sq_in_rect2` is never used
[INFO] [stdout]   --> src/sq_in_rect.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn sq_in_rect2(length: i32, width: i32) -> Option<Vec<i32>> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testing` is never used
[INFO] [stdout]   --> src/sq_in_rect.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn testing(lng: i32, wdth: i32, exp: Option<Vec<i32>>) -> () {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nth_odd` is never used
[INFO] [stdout]  --> src/row_sum_odd_numbers.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn nth_odd(n: i64) -> i64 {
[INFO] [stdout]   |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `row_sum_odd_numbers2` is never used
[INFO] [stdout]  --> src/row_sum_odd_numbers.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn row_sum_odd_numbers2(n: i64) -> i64 {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_n_even_numbers` is never used
[INFO] [stdout]  --> src/row_sum_odd_numbers.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn sum_n_even_numbers(n: i64) -> i64 {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `row_sum_odd_numbers` is never used
[INFO] [stdout]   --> src/row_sum_odd_numbers.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn row_sum_odd_numbers(n: i64) -> i64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `duplicate_encode` is never used
[INFO] [stdout]  --> src/duplicate_encode.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn duplicate_encode(word: &str) -> String {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rot` is never used
[INFO] [stdout]  --> src/play_pass.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn rot(ch: u8, base: u8, len: u8, n: u8) -> u8 {
[INFO] [stdout]   |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `play_pass` is never used
[INFO] [stdout]  --> src/play_pass.rs:4:4
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn play_pass(s: &str, n: u32) -> String {
[INFO] [stdout]   |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `order` is never used
[INFO] [stdout]  --> src/order.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn order(sentence: &str) -> String {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `digits` is never used
[INFO] [stdout]  --> src/num_as_roman.rs:2:4
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn digits(num: i32) -> [i32; 10] {
[INFO] [stdout]   |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `num_as_roman` is never used
[INFO] [stdout]   --> src/num_as_roman.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn num_as_roman(num: i32) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Name` is never used
[INFO] [stdout]  --> src/who_is_next.rs:3:6
[INFO] [stdout]   |
[INFO] [stdout] 3 | enum Name {
[INFO] [stdout]   |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Names` is never used
[INFO] [stdout]   --> src/who_is_next.rs:12:6
[INFO] [stdout]    |
[INFO] [stdout] 12 | type Names = Vec<Name>;
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generation` is never used
[INFO] [stdout]   --> src/who_is_next.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn generation(n: usize) -> (usize, usize, usize) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `who_is_next` is never used
[INFO] [stdout]   --> src/who_is_next.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn who_is_next(_names: &Names, n: usize) -> Name {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encrypt_this` is never used
[INFO] [stdout]  --> src/encrypt_this.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn encrypt_this(text: &str) -> String {
[INFO] [stdout]   |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `range_extraction` is never used
[INFO] [stdout]  --> src/range_extraction.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 |     pub fn range_extraction(a: &[i32]) -> String {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decompose` is never used
[INFO] [stdout]  --> src/decompose.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn decompose(n: i64) -> Option<Vec<i64>> {
[INFO] [stdout]   |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testing` is never used
[INFO] [stdout]   --> src/decompose.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn testing(n: i64, exp: Option<Vec<i64>>) -> () {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rgb` is never used
[INFO] [stdout]  --> src/rgb_to_hex.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn rgb(r: i32, g: i32, b: i32) -> String {
[INFO] [stdout]   |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prod_merge` is never used
[INFO] [stdout]  --> src/integer_partitions.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn prod_merge(a: BTreeSet<i64>, b: &BTreeSet<i64>) -> BTreeSet<i64> {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prod_one` is never used
[INFO] [stdout]   --> src/integer_partitions.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn prod_one(v: &Vec<BTreeSet<i64>>, n: i64) -> BTreeSet<i64> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prod` is never used
[INFO] [stdout]   --> src/integer_partitions.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn prod(n: i64) -> Vec<i64> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part` is never used
[INFO] [stdout]   --> src/integer_partitions.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn part(n: i64) -> String {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `doubles` is never used
[INFO] [stdout]  --> src/magnet_particules.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn doubles(maxk: i32, maxn: i32) -> f64 {
[INFO] [stdout]   |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MorseDecoder` is never constructed
[INFO] [stdout]  --> src/decode_morse.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct MorseDecoder;
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/decode_morse.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl MorseDecoder {
[INFO] [stdout]   | ----------------- associated function in this implementation
[INFO] [stdout] 4 |     fn new() -> MorseDecoder {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `decode_bits` and `decode_morse` are never used
[INFO] [stdout]   --> src/decode_morse.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl MorseDecoder {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 10 |     pub fn decode_bits(&self, encoded: &str) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn decode_morse(&self, encoded: &str) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Sudoku` is never constructed
[INFO] [stdout]  --> src/validate_sudoku.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | struct Sudoku {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_valid` is never used
[INFO] [stdout]  --> src/validate_sudoku.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl Sudoku {
[INFO] [stdout]   | ----------- method in this implementation
[INFO] [stdout] 8 |     fn is_valid(&self) -> bool {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `snail` is never used
[INFO] [stdout]  --> src/snail.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn snail(matrix: &[Vec<i32>]) -> Vec<i32> {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rolldice_sum_prob` is never used
[INFO] [stdout]  --> src/rolldice_sum_prob.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn rolldice_sum_prob(sum: i32, dice_amount: i32) -> f64 {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_fuzzy_eq` is never used
[INFO] [stdout]   --> src/rolldice_sum_prob.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn assert_fuzzy_eq(actual: f64, expected: f64, eps: f64) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rectangle_rotation` is never used
[INFO] [stdout]  --> src/rectangle_rotation.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn rectangle_rotation(a: i32, b: i32) -> i32 {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dbl_linear` is never used
[INFO] [stdout]  --> src/twice_linear.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn dbl_linear(n: u32) -> u32 {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `zeroes` is never used
[INFO] [stdout]  --> src/factorial_tail.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn zeroes(base: i32, number: i32) -> i32 {
[INFO] [stdout]   |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `going1` is never used
[INFO] [stdout]  --> src/going_to_zero_inf.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn going1(n: i32) -> f64 {
[INFO] [stdout]   |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `going` is never used
[INFO] [stdout]   --> src/going_to_zero_inf.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn going(n: i32) -> f64 {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remove_nb` is never used
[INFO] [stdout]  --> src/remove_nb.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn remove_nb(m: i32) -> Vec<(i32, i32)> {
[INFO] [stdout]   |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testing` is never used
[INFO] [stdout]   --> src/remove_nb.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn testing(n: i32, exp: Vec<(i32, i32)>) -> () {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `S` should have a snake case name
[INFO] [stdout]   --> src/magnet_particules.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn S(k: i32, n: i32) -> f64 {
[INFO] [stdout]    |        ^ help: convert the identifier to snake case (notice the capitalization): `s`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/rolldice_sum_prob.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         format!("Expected {}, but got {}", expected, actual)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 26 -         format!("Expected {}, but got {}", expected, actual)
[INFO] [stdout] 26 +         "Expected {}, but got {}", expected, actual
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.39s
[INFO] running `Command { std: "docker" "inspect" "426c06d004fa7dda0f070305612ae7d9834d1d7e0a1a158c9765756df709977a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "426c06d004fa7dda0f070305612ae7d9834d1d7e0a1a158c9765756df709977a", kill_on_drop: false }`
[INFO] [stdout] 426c06d004fa7dda0f070305612ae7d9834d1d7e0a1a158c9765756df709977a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2ed951822d1f326c9c9f769e351c865090c6f3c6947549a6572af285521fea29
[INFO] running `Command { std: "docker" "start" "-a" "2ed951822d1f326c9c9f769e351c865090c6f3c6947549a6572af285521fea29", kill_on_drop: false }`
[INFO] [stderr]    Compiling codewars v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]  --> src/going_to_zero_inf.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 |                 .map(|j| (1.0f64 / (j as f64)))
[INFO] [stdout]   |                          ^                   ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]   |
[INFO] [stdout] 6 -                 .map(|j| (1.0f64 / (j as f64)))
[INFO] [stdout] 6 +                 .map(|j| 1.0f64 / (j as f64) )
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/going_to_zero_inf.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |             (actual.abs() <= merr)
[INFO] [stdout]    |             ^                    ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 34 -             (actual.abs() <= merr)
[INFO] [stdout] 34 +             actual.abs() <= merr 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/going_to_zero_inf.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             ((actual - expected).abs() / expected <= merr)
[INFO] [stdout]    |             ^                                            ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 36 -             ((actual - expected).abs() / expected <= merr)
[INFO] [stdout] 36 +             (actual - expected).abs() / expected <= merr 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded`
[INFO] [stdout]   --> src/decode_morse.rs:10:31
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn decode_bits(&self, encoded: &str) -> String {
[INFO] [stdout]    |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded`
[INFO] [stdout]   --> src/decode_morse.rs:16:32
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn decode_morse(&self, encoded: &str) -> String {
[INFO] [stdout]    |                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `solid`
[INFO] [stdout]   --> src/bloxorz_solver.rs:78:13
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let solid: HashSet<_> = map
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_solid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `queue`
[INFO] [stdout]   --> src/bloxorz_solver.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |         let queue = BinaryHeap::<(i32, State)>::new();
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_queue`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sq_in_rect2` is never used
[INFO] [stdout]   --> src/sq_in_rect.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn sq_in_rect2(length: i32, width: i32) -> Option<Vec<i32>> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `row_sum_odd_numbers2` is never used
[INFO] [stdout]  --> src/row_sum_odd_numbers.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn row_sum_odd_numbers2(n: i64) -> i64 {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]  --> src/bloxorz_solver.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 |     enum Direction {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `North` and `East` are never constructed
[INFO] [stdout]   --> src/bloxorz_solver.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     enum Lying {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] 15 |         North,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 16 |         East,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Lying` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `One` and `Two` are never constructed
[INFO] [stdout]   --> src/bloxorz_solver.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     enum State {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] 20 |         One(usize, usize),
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 21 |         Two(usize, usize, Lying),
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `State` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `base`, `both`, `one`, `two`, and `ok` are never used
[INFO] [stdout]   --> src/bloxorz_solver.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 |     impl State {
[INFO] [stdout]    |     ---------- methods in this implementation
[INFO] [stdout] 25 |         fn base(self) -> (usize, usize) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |         fn both(self) -> ((usize, usize), (usize, usize)) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |         fn one(self) -> Option<(usize, usize)> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |         fn two(self) -> Option<((usize, usize), (usize, usize))> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |         fn ok(self, gnd: &HashSet<(usize, usize)>) -> bool {
[INFO] [stdout]    |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `going1` is never used
[INFO] [stdout]  --> src/going_to_zero_inf.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn going1(n: i32) -> f64 {
[INFO] [stdout]   |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]   --> src/who_is_next.rs:75:26
[INFO] [stdout]    |
[INFO] [stdout] 75 |           for (i, name) in (1..)
[INFO] [stdout]    |  __________________________^
[INFO] [stdout] 76 | |             .flat_map(|i| {
[INFO] [stdout] 77 | |                 (0..5).flat_map(move |j| std::iter::repeat(names[j]).take(2usize.pow(i - 1)))
[INFO] [stdout] 78 | |             })
[INFO] [stdout] 79 | |             .enumerate()
[INFO] [stdout] 80 | |             .nth(759137-1)
[INFO] [stdout]    | |__________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]    |
[INFO] [stdout] 75 -         for (i, name) in (1..)
[INFO] [stdout] 75 +         while let Some((i, name)) = (1..)
[INFO] [stdout]    |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]    |
[INFO] [stdout] 75 -         for (i, name) in (1..)
[INFO] [stdout] 75 +         if let Some((i, name)) = (1..)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `S` should have a snake case name
[INFO] [stdout]   --> src/magnet_particules.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn S(k: i32, n: i32) -> f64 {
[INFO] [stdout]    |        ^ help: convert the identifier to snake case (notice the capitalization): `s`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/rolldice_sum_prob.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         format!("Expected {}, but got {}", expected, actual)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 26 -         format!("Expected {}, but got {}", expected, actual)
[INFO] [stdout] 26 +         "Expected {}, but got {}", expected, actual
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.54s
[INFO] running `Command { std: "docker" "inspect" "2ed951822d1f326c9c9f769e351c865090c6f3c6947549a6572af285521fea29", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2ed951822d1f326c9c9f769e351c865090c6f3c6947549a6572af285521fea29", kill_on_drop: false }`
[INFO] [stdout] 2ed951822d1f326c9c9f769e351c865090c6f3c6947549a6572af285521fea29
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 3b2fcbe7ab30a4dcd2e6abee0c2a0e30856360788483ead559fb9154ecf88cde
[INFO] running `Command { std: "docker" "start" "-a" "3b2fcbe7ab30a4dcd2e6abee0c2a0e30856360788483ead559fb9154ecf88cde", kill_on_drop: false }`
[INFO] [stderr] warning: unnecessary parentheses around closure body
[INFO] [stderr]  --> src/going_to_zero_inf.rs:6:26
[INFO] [stderr]   |
[INFO] [stderr] 6 |                 .map(|j| (1.0f64 / (j as f64)))
[INFO] [stderr]   |                          ^                   ^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]   |
[INFO] [stderr] 6 -                 .map(|j| (1.0f64 / (j as f64)))
[INFO] [stderr] 6 +                 .map(|j| 1.0f64 / (j as f64) )
[INFO] [stderr]   |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]   --> src/going_to_zero_inf.rs:34:13
[INFO] [stderr]    |
[INFO] [stderr] 34 |             (actual.abs() <= merr)
[INFO] [stderr]    |             ^                    ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 34 -             (actual.abs() <= merr)
[INFO] [stderr] 34 +             actual.abs() <= merr 
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]   --> src/going_to_zero_inf.rs:36:13
[INFO] [stderr]    |
[INFO] [stderr] 36 |             ((actual - expected).abs() / expected <= merr)
[INFO] [stderr]    |             ^                                            ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 36 -             ((actual - expected).abs() / expected <= merr)
[INFO] [stderr] 36 +             (actual - expected).abs() / expected <= merr 
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `encoded`
[INFO] [stderr]   --> src/decode_morse.rs:10:31
[INFO] [stderr]    |
[INFO] [stderr] 10 |     pub fn decode_bits(&self, encoded: &str) -> String {
[INFO] [stderr]    |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `encoded`
[INFO] [stderr]   --> src/decode_morse.rs:16:32
[INFO] [stderr]    |
[INFO] [stderr] 16 |     pub fn decode_morse(&self, encoded: &str) -> String {
[INFO] [stderr]    |                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `solid`
[INFO] [stderr]   --> src/bloxorz_solver.rs:78:13
[INFO] [stderr]    |
[INFO] [stderr] 78 |         let solid: HashSet<_> = map
[INFO] [stderr]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_solid`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `queue`
[INFO] [stderr]   --> src/bloxorz_solver.rs:84:13
[INFO] [stderr]    |
[INFO] [stderr] 84 |         let queue = BinaryHeap::<(i32, State)>::new();
[INFO] [stderr]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_queue`
[INFO] [stderr] 
[INFO] [stderr] warning: function `sq_in_rect2` is never used
[INFO] [stderr]   --> src/sq_in_rect.rs:29:4
[INFO] [stderr]    |
[INFO] [stderr] 29 | fn sq_in_rect2(length: i32, width: i32) -> Option<Vec<i32>> {
[INFO] [stderr]    |    ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `row_sum_odd_numbers2` is never used
[INFO] [stderr]  --> src/row_sum_odd_numbers.rs:5:4
[INFO] [stderr]   |
[INFO] [stderr] 5 | fn row_sum_odd_numbers2(n: i64) -> i64 {
[INFO] [stderr]   |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Direction` is never used
[INFO] [stderr]  --> src/bloxorz_solver.rs:6:10
[INFO] [stderr]   |
[INFO] [stderr] 6 |     enum Direction {
[INFO] [stderr]   |          ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `North` and `East` are never constructed
[INFO] [stderr]   --> src/bloxorz_solver.rs:15:9
[INFO] [stderr]    |
[INFO] [stderr] 14 |     enum Lying {
[INFO] [stderr]    |          ----- variants in this enum
[INFO] [stderr] 15 |         North,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr] 16 |         East,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Lying` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `One` and `Two` are never constructed
[INFO] [stderr]   --> src/bloxorz_solver.rs:20:9
[INFO] [stderr]    |
[INFO] [stderr] 19 |     enum State {
[INFO] [stderr]    |          ----- variants in this enum
[INFO] [stderr] 20 |         One(usize, usize),
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 21 |         Two(usize, usize, Lying),
[INFO] [stderr]    |         ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `State` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `base`, `both`, `one`, `two`, and `ok` are never used
[INFO] [stderr]   --> src/bloxorz_solver.rs:25:12
[INFO] [stderr]    |
[INFO] [stderr] 24 |     impl State {
[INFO] [stderr]    |     ---------- methods in this implementation
[INFO] [stderr] 25 |         fn base(self) -> (usize, usize) {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 31 |         fn both(self) -> ((usize, usize), (usize, usize)) {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 37 |         fn one(self) -> Option<(usize, usize)> {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 43 |         fn two(self) -> Option<((usize, usize), (usize, usize))> {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 55 |         fn ok(self, gnd: &HashSet<(usize, usize)>) -> bool {
[INFO] [stderr]    |            ^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `going1` is never used
[INFO] [stderr]  --> src/going_to_zero_inf.rs:1:4
[INFO] [stderr]   |
[INFO] [stderr] 1 | fn going1(n: i32) -> f64 {
[INFO] [stderr]   |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stderr]   --> src/who_is_next.rs:75:26
[INFO] [stderr]    |
[INFO] [stderr] 75 |           for (i, name) in (1..)
[INFO] [stderr]    |  __________________________^
[INFO] [stderr] 76 | |             .flat_map(|i| {
[INFO] [stderr] 77 | |                 (0..5).flat_map(move |j| std::iter::repeat(names[j]).take(2usize.pow(i - 1)))
[INFO] [stderr] 78 | |             })
[INFO] [stderr] 79 | |             .enumerate()
[INFO] [stderr] 80 | |             .nth(759137-1)
[INFO] [stderr]    | |__________________________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stderr] help: to check pattern in a loop use `while let`
[INFO] [stderr]    |
[INFO] [stderr] 75 -         for (i, name) in (1..)
[INFO] [stderr] 75 +         while let Some((i, name)) = (1..)
[INFO] [stderr]    |
[INFO] [stderr] help: consider using `if let` to clear intent
[INFO] [stderr]    |
[INFO] [stderr] 75 -         for (i, name) in (1..)
[INFO] [stderr] 75 +         if let Some((i, name)) = (1..)
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: function `S` should have a snake case name
[INFO] [stderr]   --> src/magnet_particules.rs:10:8
[INFO] [stderr]    |
[INFO] [stderr] 10 |     fn S(k: i32, n: i32) -> f64 {
[INFO] [stderr]    |        ^ help: convert the identifier to snake case (notice the capitalization): `s`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> src/rolldice_sum_prob.rs:26:9
[INFO] [stderr]    |
[INFO] [stderr] 26 |         format!("Expected {}, but got {}", expected, actual)
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr]    = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]    |
[INFO] [stderr] 26 -         format!("Expected {}, but got {}", expected, actual)
[INFO] [stderr] 26 +         "Expected {}, but got {}", expected, actual
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: `codewars` (bin "codewars" test) generated 17 warnings (run `cargo fix --bin "codewars" -p codewars --tests` to apply 8 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.14s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/codewars-f9925b3f3a941beb)
[INFO] [stdout] 
[INFO] [stdout] running 30 tests
[INFO] [stdout] test integer_partitions::tests::test_prod ... ok
[INFO] [stdout] test going_to_zero_inf::tests::basics_going ... ok
[INFO] [stdout] test encrypt_this::tests::test_basic ... ok
[INFO] [stdout] test duplicate_encode::run_tests ... ok
[INFO] [stdout] test magnet_particules::tests::basic_tests_doubles ... ok
[INFO] [stdout] test num_as_roman::returns_expected ... ok
[INFO] [stdout] test order::tests::returns_expected ... ok
[INFO] [stdout] test play_pass::tests::basic_tests ... ok
[INFO] [stdout] test range_extraction::tests::example ... ok
[INFO] [stdout] test rectangle_rotation::tests::basic_tests ... ok
[INFO] [stdout] test sq_in_rect::tests_sq_in_rect ... ok
[INFO] [stdout] test validate_sudoku::bad_sudoku ... ok
[INFO] [stdout] test validate_sudoku::good_sudoku ... ok
[INFO] [stdout] test remove_nb::basics_remove_nb ... ok
[INFO] [stdout] test who_is_next::tests::test_alot ... ok
[INFO] [stdout] test rgb_to_hex::sample_tests::tests ... ok
[INFO] [stdout] test rolldice_sum_prob::returns_expected ... ok
[INFO] [stdout] test row_sum_odd_numbers::returns_expected ... ok
[INFO] [stdout] test snail::tests::sample_test1 ... ok
[INFO] [stdout] test who_is_next::tests::test_gen ... ok
[INFO] [stdout] test who_is_next::tests::test_basic ... ok
[INFO] [stdout] test snail::tests::sample_test4 ... ok
[INFO] [stdout] test snail::tests::sample_test3 ... ok
[INFO] [stdout] test snail::tests::sample_test2 ... ok
[INFO] [stdout] test decode_morse::examples ... FAILED
[INFO] [stdout] test bloxorz_solver::example_tests::example_tests ... FAILED
[INFO] [stdout] test factorial_tail::tests::basic_cases ... FAILED
[INFO] [stdout] test decompose::tests_decompose ... FAILED
[INFO] [stdout] test integer_partitions::tests::returns_expected ... ok
[INFO] [stdout] test twice_linear::tests::basics_dbl_linear has been running for over 60 seconds
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "3b2fcbe7ab30a4dcd2e6abee0c2a0e30856360788483ead559fb9154ecf88cde", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3b2fcbe7ab30a4dcd2e6abee0c2a0e30856360788483ead559fb9154ecf88cde", kill_on_drop: false }`
[INFO] [stdout] 3b2fcbe7ab30a4dcd2e6abee0c2a0e30856360788483ead559fb9154ecf88cde
