[INFO] cloning repository https://github.com/Abeeujah/grokking-algorithms
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Abeeujah/grokking-algorithms" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAbeeujah%2Fgrokking-algorithms", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAbeeujah%2Fgrokking-algorithms'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b380d9b49d1ee156a3c9f66aca9c44a67b63d30b
[INFO] checking Abeeujah/grokking-algorithms against master#3129d37ef7075ee3cbaa3d6cbe1b5794f67192b0 for pr-143164
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAbeeujah%2Fgrokking-algorithms" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Abeeujah/grokking-algorithms
[INFO] finished tweaking git repo https://github.com/Abeeujah/grokking-algorithms
[INFO] tweaked toml for git repo https://github.com/Abeeujah/grokking-algorithms written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Abeeujah/grokking-algorithms on toolchain 3129d37ef7075ee3cbaa3d6cbe1b5794f67192b0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3129d37ef7075ee3cbaa3d6cbe1b5794f67192b0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Abeeujah/grokking-algorithms 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" "+3129d37ef7075ee3cbaa3d6cbe1b5794f67192b0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+3129d37ef7075ee3cbaa3d6cbe1b5794f67192b0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 55a10cab87e3cd21dbf92b690fb667514cc392667bcca156868b1b380ce26e49
[INFO] running `Command { std: "docker" "start" "-a" "55a10cab87e3cd21dbf92b690fb667514cc392667bcca156868b1b380ce26e49", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "55a10cab87e3cd21dbf92b690fb667514cc392667bcca156868b1b380ce26e49", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "55a10cab87e3cd21dbf92b690fb667514cc392667bcca156868b1b380ce26e49", kill_on_drop: false }`
[INFO] [stdout] 55a10cab87e3cd21dbf92b690fb667514cc392667bcca156868b1b380ce26e49
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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" "-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:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+3129d37ef7075ee3cbaa3d6cbe1b5794f67192b0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ba10c70e4de6d3ffbc6c3b166fd03b79aa89840ff63dc19ca9d5f788c0c65920
[INFO] running `Command { std: "docker" "start" "-a" "ba10c70e4de6d3ffbc6c3b166fd03b79aa89840ff63dc19ca9d5f788c0c65920", kill_on_drop: false }`
[INFO] [stderr]     Checking grokking v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: function `binary_search` is never used
[INFO] [stdout]  --> src/binary_search.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn binary_search<T>(list: &[T], item: &T) -> Option<usize>
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum` is never used
[INFO] [stdout]  --> src/divide_and_conquer.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn sum<T>(list: &[T]) -> T
[INFO] [stdout]   |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_rec` is never used
[INFO] [stdout]   --> src/divide_and_conquer.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn count_rec<T: Clone>(list: &[T]) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `max_rec` is never used
[INFO] [stdout]   --> src/divide_and_conquer.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn max_rec<T: Ord + Default + Clone + Copy>(list: &[T]) -> T {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recursive_binary_search` is never used
[INFO] [stdout]   --> src/divide_and_conquer.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn recursive_binary_search<T: Ord + Clone>(list: &[T], item: T) -> Option<usize> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quicksort` is never used
[INFO] [stdout]   --> src/divide_and_conquer.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn quicksort<T: Ord + Clone + Copy>(list: &[T]) -> Vec<T> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_lowest_cost_node` is never used
[INFO] [stdout]  --> src/djikstra.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn find_lowest_cost_node(
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `djikstra` is never used
[INFO] [stdout]   --> src/djikstra.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn djikstra(graph: &HashMap<String, HashMap<String, u32>>, start: &str) -> HashMap<String, u32> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_voted` is never used
[INFO] [stdout]  --> src/hash_tables.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn has_voted<T, V>(key: T, map: &HashMap<T, V>) -> Result<(), String>
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cached_data` is never used
[INFO] [stdout]   --> src/hash_tables.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn cached_data<T>(key: T) -> T
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ends_with_m` is never used
[INFO] [stdout]   --> src/hash_tables.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn ends_with_m<'a>(name: &'a [&str]) -> (bool, &'a str) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `search_neighbors` is never used
[INFO] [stdout]   --> src/hash_tables.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn search_neighbors() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `breadth_first_search` is never used
[INFO] [stdout]   --> src/hash_tables.rs:68:4
[INFO] [stdout]    |
[INFO] [stdout] 68 | fn breadth_first_search<T>(graph: HashMap<T, Vec<T>>, start: &T) -> Vec<T>
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `countdown` is never used
[INFO] [stdout]  --> src/recursion.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn countdown(i: u32) {
[INFO] [stdout]   |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `greet` is never used
[INFO] [stdout]  --> src/recursion.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn greet(name: &str) {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `greet2` is never used
[INFO] [stdout]   --> src/recursion.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn greet2(name: &str) {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bye` is never used
[INFO] [stdout]   --> src/recursion.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn bye() {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `factorial` is never used
[INFO] [stdout]   --> src/recursion.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn factorial(n: u128) -> u128 {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `smallest` is never used
[INFO] [stdout]  --> src/selection_sort.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn smallest<T: Ord + Copy>(list: &[T]) -> usize {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `selection_sort` is never used
[INFO] [stdout]   --> src/selection_sort.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn selection_sort<T: Ord + Copy>(list: Vec<T>) -> Vec<T> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_directory` is never used
[INFO] [stdout]  --> src/trees.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn print_directory(start: &str) -> Result<(), io::Error> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_directory_recursively` is never used
[INFO] [stdout]   --> src/trees.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn print_directory_recursively(start: &str) -> Result<(), io::Error> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_lowest_cost_node` is never used
[INFO] [stdout]  --> src/djikstra.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn find_lowest_cost_node(
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `djikstra` is never used
[INFO] [stdout]   --> src/djikstra.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn djikstra(graph: &HashMap<String, HashMap<String, u32>>, start: &str) -> HashMap<String, u32> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ends_with_m` is never used
[INFO] [stdout]   --> src/hash_tables.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn ends_with_m<'a>(name: &'a [&str]) -> (bool, &'a str) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `search_neighbors` is never used
[INFO] [stdout]   --> src/hash_tables.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn search_neighbors() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `countdown` is never used
[INFO] [stdout]  --> src/recursion.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn countdown(i: u32) {
[INFO] [stdout]   |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `greet` is never used
[INFO] [stdout]  --> src/recursion.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn greet(name: &str) {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `greet2` is never used
[INFO] [stdout]   --> src/recursion.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn greet2(name: &str) {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bye` is never used
[INFO] [stdout]   --> src/recursion.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn bye() {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_directory` is never used
[INFO] [stdout]  --> src/trees.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn print_directory(start: &str) -> Result<(), io::Error> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_directory_recursively` is never used
[INFO] [stdout]   --> src/trees.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn print_directory_recursively(start: &str) -> Result<(), io::Error> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.29s
[INFO] running `Command { std: "docker" "inspect" "ba10c70e4de6d3ffbc6c3b166fd03b79aa89840ff63dc19ca9d5f788c0c65920", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ba10c70e4de6d3ffbc6c3b166fd03b79aa89840ff63dc19ca9d5f788c0c65920", kill_on_drop: false }`
[INFO] [stdout] ba10c70e4de6d3ffbc6c3b166fd03b79aa89840ff63dc19ca9d5f788c0c65920
