[INFO] cloning repository https://github.com/clD11/rust-katas [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/clD11/rust-katas" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FclD11%2Frust-katas", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FclD11%2Frust-katas'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 3bea90de5d0ae718c39418469d908a09c934ab8f [INFO] checking clD11/rust-katas against master#0d56e340472882fa673d4b98d0802b9a799879d0 for pr-101692 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FclD11%2Frust-katas" "/workspace/builds/worker-4/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/clD11/rust-katas on toolchain 0d56e340472882fa673d4b98d0802b9a799879d0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+0d56e340472882fa673d4b98d0802b9a799879d0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/clD11/rust-katas [INFO] finished tweaking git repo https://github.com/clD11/rust-katas [INFO] tweaked toml for git repo https://github.com/clD11/rust-katas written to /workspace/builds/worker-4/source/Cargo.toml [INFO] crate git repo https://github.com/clD11/rust-katas already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+0d56e340472882fa673d4b98d0802b9a799879d0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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:824c28ce115f6b999260af6986f3384c158e782489540e41c0b698ca1d9fd927" "/opt/rustwide/cargo-home/bin/cargo" "+0d56e340472882fa673d4b98d0802b9a799879d0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c756ab32b09774a83bf87a5ac1e6e7815217218be98cd88919414924d8ba812d [INFO] running `Command { std: "docker" "start" "-a" "c756ab32b09774a83bf87a5ac1e6e7815217218be98cd88919414924d8ba812d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c756ab32b09774a83bf87a5ac1e6e7815217218be98cd88919414924d8ba812d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c756ab32b09774a83bf87a5ac1e6e7815217218be98cd88919414924d8ba812d", kill_on_drop: false }` [INFO] [stdout] c756ab32b09774a83bf87a5ac1e6e7815217218be98cd88919414924d8ba812d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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:824c28ce115f6b999260af6986f3384c158e782489540e41c0b698ca1d9fd927" "/opt/rustwide/cargo-home/bin/cargo" "+0d56e340472882fa673d4b98d0802b9a799879d0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5ec477361608dc4dd705e2679c390d566d9b741bdb17885203727f33a42a97ab [INFO] running `Command { std: "docker" "start" "-a" "5ec477361608dc4dd705e2679c390d566d9b741bdb17885203727f33a42a97ab", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.39 [INFO] [stderr] Compiling unicode-ident v1.0.1 [INFO] [stderr] Compiling syn v1.0.96 [INFO] [stderr] Compiling futures-core v0.3.21 [INFO] [stderr] Compiling libc v0.2.126 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Checking pin-project-lite v0.2.9 [INFO] [stderr] Compiling version_check v0.9.4 [INFO] [stderr] Checking futures-io v0.3.21 [INFO] [stderr] Compiling log v0.4.17 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Checking cache-padded v1.2.0 [INFO] [stderr] Checking slab v0.4.6 [INFO] [stderr] Checking once_cell v1.12.0 [INFO] [stderr] Checking waker-fn v1.1.0 [INFO] [stderr] Checking fastrand v1.7.0 [INFO] [stderr] Checking parking v2.0.0 [INFO] [stderr] Checking event-listener v2.5.2 [INFO] [stderr] Compiling futures-task v0.3.21 [INFO] [stderr] Compiling getrandom v0.1.14 [INFO] [stderr] Compiling futures-channel v0.3.21 [INFO] [stderr] Checking async-task v4.2.0 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Checking futures-sink v0.3.21 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Compiling futures-util v0.3.21 [INFO] [stderr] Checking atomic-waker v1.0.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.9 [INFO] [stderr] Checking ppv-lite86 v0.2.6 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking concurrent-queue v1.2.2 [INFO] [stderr] Compiling value-bag v1.0.0-alpha.9 [INFO] [stderr] Checking async-lock v2.5.0 [INFO] [stderr] Checking async-channel v1.6.1 [INFO] [stderr] Compiling quote v1.0.18 [INFO] [stderr] Checking futures-lite v1.12.0 [INFO] [stderr] Checking socket2 v0.4.4 [INFO] [stderr] Checking num_cpus v1.13.1 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking async-executor v1.4.1 [INFO] [stderr] Checking blocking v1.2.0 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Compiling ctor v0.1.22 [INFO] [stderr] Compiling futures-macro v0.3.21 [INFO] [stderr] Checking polling v2.2.0 [INFO] [stderr] Checking kv-log-macro v1.0.7 [INFO] [stderr] Checking async-io v1.7.0 [INFO] [stderr] Checking async-global-executor v2.1.0 [INFO] [stderr] Checking async-std v1.11.0 [INFO] [stderr] Checking futures-executor v0.3.21 [INFO] [stderr] Checking futures v0.3.21 [INFO] [stderr] Checking rust-katas v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `futures::executor::block_on` [INFO] [stdout] --> src/multithreading/async_book.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use futures::executor::block_on; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BoxFuture`, `FutureExt`, `sync::atomic::compiler_fence`, `sync_channel`, `waker_ref` [INFO] [stdout] --> src/multithreading/async_book.rs:6:18 [INFO] [stdout] | [INFO] [stdout] 6 | future::{BoxFuture, FutureExt}, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] 7 | task::{waker_ref, ArcWake}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | sync::atomic::compiler_fence, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | sync::mpsc::{sync_channel, Receiver, SyncSender}, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `datastore` should have an upper camel case name [INFO] [stdout] --> src/multithreading/concurrent.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | struct datastore { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `Datastore` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::string::String` [INFO] [stdout] --> src/rust_book/slice.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::string::String; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BoxFuture`, `FutureExt`, `sync::atomic::compiler_fence`, `sync_channel`, `waker_ref` [INFO] [stdout] --> src/multithreading/async_book.rs:6:18 [INFO] [stdout] | [INFO] [stdout] 6 | future::{BoxFuture, FutureExt}, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] 7 | task::{waker_ref, ArcWake}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | sync::atomic::compiler_fence, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | sync::mpsc::{sync_channel, Receiver, SyncSender}, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `datastore` should have an upper camel case name [INFO] [stdout] --> src/multithreading/concurrent.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | struct datastore { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `Datastore` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ArcWake` [INFO] [stdout] --> src/multithreading/async_book.rs:7:27 [INFO] [stdout] | [INFO] [stdout] 7 | task::{waker_ref, ArcWake}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_number_deletions` is never used [INFO] [stdout] --> src/hackerrank/problem_solving/alternating_characters.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn count_number_deletions(input: String) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `append_and_delete` is never used [INFO] [stdout] --> src/hackerrank/problem_solving/append_and_delete.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn append_and_delete(initial: &str, desired: &str, operation: usize) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `adj` is never read [INFO] [stdout] --> src/hackerrank/problem_solving/breadth_first_search_shortest_reach.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 2 | struct Graph { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 3 | adj: Vec>, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Graph` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `build` is never used [INFO] [stdout] --> src/hackerrank/problem_solving/breadth_first_search_shortest_reach.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | fn build(v: usize) -> Graph { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `add_edge` is never used [INFO] [stdout] --> src/hackerrank/problem_solving/breadth_first_search_shortest_reach.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | fn add_edge(&mut self, v: usize, w: usize) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `adj` is never used [INFO] [stdout] --> src/hackerrank/problem_solving/breadth_first_search_shortest_reach.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | fn adj(&mut self, v: usize) -> &Vec { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `encrypt` is never used [INFO] [stdout] --> src/hackerrank/problem_solving/caesar_cipher.rs:2:4 [INFO] [stdout] | [INFO] [stdout] 2 | fn encrypt(message: &str, rotate: u8) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cat_and_mouse` is never used [INFO] [stdout] --> src/hackerrank/problem_solving/cat_mouse.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn cat_and_mouse(x: i32, y: i32, z: i32) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sum` is never used [INFO] [stdout] --> src/hackerrank/problem_solving/distinct_pairs.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn sum(nums: &[u32], target: u32) -> u32 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `divisible_sum_pairs` is never used [INFO] [stdout] --> src/hackerrank/problem_solving/divisible_sum_pairs.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn divisible_sum_pairs(n: usize, k: u32, ar: &[u32]) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fair_rations` is never used [INFO] [stdout] --> src/hackerrank/problem_solving/fair_rations.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn fair_rations(arr: &[u32]) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_digits` is never used [INFO] [stdout] --> src/hackerrank/problem_solving/find_digits.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn find_digits(n: u32) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_divisible_by` is never used [INFO] [stdout] --> src/hackerrank/problem_solving/fizz_buzz.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn is_divisible_by(lhs: u32, rhs: u32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fizzbuzz` is never used [INFO] [stdout] --> src/hackerrank/problem_solving/fizz_buzz.rs:8:4 [INFO] [stdout] | [INFO] [stdout] 8 | fn fizzbuzz(n: u32) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fizzbuzz_to` is never used [INFO] [stdout] --> src/hackerrank/problem_solving/fizz_buzz.rs:20:4 [INFO] [stdout] | [INFO] [stdout] 20 | fn fizzbuzz_to(n: u32) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fizzbuzz_two` is never used [INFO] [stdout] --> src/hackerrank/problem_solving/fizz_buzz_two.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn fizzbuzz_two() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `funny_string` is never used [INFO] [stdout] --> src/hackerrank/problem_solving/funny_string.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn funny_string(input: &str) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_hackerrank` is never used [INFO] [stdout] --> src/hackerrank/problem_solving/hackerrank_string.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn has_hackerrank(input: &str) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `what_flavours` is never used [INFO] [stdout] --> src/hackerrank/problem_solving/ice_cream_parlor.rs:4:4 [INFO] [stdout] | [INFO] [stdout] 4 | fn what_flavours(flavours: &Vec, money: &u32) -> [u32; 2] { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_anagram` is never used [INFO] [stdout] --> src/hackerrank/problem_solving/making_anagrams.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn make_anagram(a: &str, b: &str) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_difference` is never used [INFO] [stdout] --> src/hackerrank/problem_solving/mars_exploration.rs:2:4 [INFO] [stdout] | [INFO] [stdout] 2 | fn count_difference(input: &str) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `missing_numbers` is never used [INFO] [stdout] --> src/hackerrank/problem_solving/missing_numbers.rs:4:4 [INFO] [stdout] | [INFO] [stdout] 4 | fn missing_numbers(arr: &Vec, brr: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_roman_numeral` is never used [INFO] [stdout] --> src/hackerrank/problem_solving/number_converter.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn to_roman_numeral(number: u32) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ArcWake` [INFO] [stdout] --> src/multithreading/async_book.rs:7:27 [INFO] [stdout] | [INFO] [stdout] 7 | task::{waker_ref, ArcWake}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_pairs_to_target` is never used [INFO] [stdout] --> src/hackerrank/problem_solving/pairs.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn find_pairs_to_target(input: Vec, target: u32) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/rust_book/defining_enums.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | if let IpAddrKind::V4(actual) = v4 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pairs_boxed` is never used [INFO] [stdout] --> src/hackerrank/problem_solving/pairs.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn pairs_boxed() -> Box<[u32; 2]> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pairs_vec` is never used [INFO] [stdout] --> src/hackerrank/problem_solving/pairs.rs:27:4 [INFO] [stdout] | [INFO] [stdout] 27 | fn pairs_vec() -> Vec<[u32; 2]> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_beautiful_number` is never used [INFO] [stdout] --> src/hackerrank/problem_solving/separate_numbers.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn find_beautiful_number(input: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `balanced_sums_count` is never used [INFO] [stdout] --> src/hackerrank/problem_solving/sherlock_and_array.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn balanced_sums_count(arr: &Vec) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `balanced_sums` is never used [INFO] [stdout] --> src/hackerrank/problem_solving/sherlock_and_array.rs:13:4 [INFO] [stdout] | [INFO] [stdout] 13 | fn balanced_sums(arr: &Vec) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `two_characters` is never used [INFO] [stdout] --> src/hackerrank/problem_solving/two_characters.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn two_characters(input: &str) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `useful` is never used [INFO] [stdout] --> src/hackerrank/utils.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn useful() { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `remove_newline` is never used [INFO] [stdout] --> src/hackerrank/utils.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn remove_newline(line: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_lines` is never used [INFO] [stdout] --> src/hackerrank/utils.rs:36:4 [INFO] [stdout] | [INFO] [stdout] 36 | fn read_lines() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_u8` is never used [INFO] [stdout] --> src/hackerrank/utils.rs:47:4 [INFO] [stdout] | [INFO] [stdout] 47 | fn read_u8() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_vec` is never used [INFO] [stdout] --> src/hackerrank/utils.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn read_vec() -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hello_world` is never used [INFO] [stdout] --> src/multithreading/async_book.rs:22:10 [INFO] [stdout] | [INFO] [stdout] 22 | async fn hello_world() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learn_song` is never used [INFO] [stdout] --> src/multithreading/async_book.rs:26:10 [INFO] [stdout] | [INFO] [stdout] 26 | async fn learn_song() -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sing_song` is never used [INFO] [stdout] --> src/multithreading/async_book.rs:33:10 [INFO] [stdout] | [INFO] [stdout] 33 | async fn sing_song(song: String) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `learn_and_sing` is never used [INFO] [stdout] --> src/multithreading/async_book.rs:37:10 [INFO] [stdout] | [INFO] [stdout] 37 | async fn learn_and_sing() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dance` is never used [INFO] [stdout] --> src/multithreading/async_book.rs:42:10 [INFO] [stdout] | [INFO] [stdout] 42 | async fn dance() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `perform` is never used [INFO] [stdout] --> src/multithreading/async_book.rs:49:10 [INFO] [stdout] | [INFO] [stdout] 49 | async fn perform() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Executor` is never constructed [INFO] [stdout] --> src/multithreading/async_book.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 102 | struct Executor { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `task_sender` is never read [INFO] [stdout] --> src/multithreading/async_book.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 107 | struct Spawner { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 108 | task_sender: SyncSender>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Spawner` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/multithreading/async_book.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn new(duration: Duration) -> TimerFuture { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `datastore` is never constructed [INFO] [stdout] --> src/multithreading/concurrent.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | struct datastore { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mask_character` is never used [INFO] [stdout] --> src/rust_book/char_strings.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn mask_character(target: &str, input: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `IpAddrKind` is never used [INFO] [stdout] --> src/rust_book/defining_enums.rs:1:6 [INFO] [stdout] | [INFO] [stdout] 1 | enum IpAddrKind { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `guess` is never used [INFO] [stdout] --> src/rust_book/guessing_game.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn guess() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `width` and `height` are never read [INFO] [stdout] --> src/rust_book/rectangle.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 6 | struct Rectangle { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 7 | width: i32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 8 | height: i32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Rectangle` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `square` is never used [INFO] [stdout] --> src/rust_book/rectangle.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | fn square(d: i32) -> Rectangle { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `area` is never used [INFO] [stdout] --> src/rust_book/rectangle.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | fn area(&self) -> i32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `can_hold` is never used [INFO] [stdout] --> src/rust_book/rectangle.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | fn can_hold(&self, rectangle: &Rectangle) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_first_word` is never used [INFO] [stdout] --> src/rust_book/slice.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn find_first_word(s: &str) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 58 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `useful` is never used [INFO] [stdout] --> src/hackerrank/utils.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn useful() { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `remove_newline` is never used [INFO] [stdout] --> src/hackerrank/utils.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn remove_newline(line: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_lines` is never used [INFO] [stdout] --> src/hackerrank/utils.rs:36:4 [INFO] [stdout] | [INFO] [stdout] 36 | fn read_lines() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_u8` is never used [INFO] [stdout] --> src/hackerrank/utils.rs:47:4 [INFO] [stdout] | [INFO] [stdout] 47 | fn read_u8() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_vec` is never used [INFO] [stdout] --> src/hackerrank/utils.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn read_vec() -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Executor` is never constructed [INFO] [stdout] --> src/multithreading/async_book.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 102 | struct Executor { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `task_sender` is never read [INFO] [stdout] --> src/multithreading/async_book.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 107 | struct Spawner { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 108 | task_sender: SyncSender>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Spawner` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/multithreading/async_book.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn new(duration: Duration) -> TimerFuture { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `guess` is never used [INFO] [stdout] --> src/rust_book/guessing_game.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn guess() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 13 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 19.22s [INFO] running `Command { std: "docker" "inspect" "5ec477361608dc4dd705e2679c390d566d9b741bdb17885203727f33a42a97ab", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5ec477361608dc4dd705e2679c390d566d9b741bdb17885203727f33a42a97ab", kill_on_drop: false }` [INFO] [stdout] 5ec477361608dc4dd705e2679c390d566d9b741bdb17885203727f33a42a97ab