[INFO] cloning repository https://github.com/Murtaza-arif/wiki-tree [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Murtaza-arif/wiki-tree" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMurtaza-arif%2Fwiki-tree", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMurtaza-arif%2Fwiki-tree'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 30c22f4e62633a8dd590887fb161a53a8f804623 [INFO] checking Murtaza-arif/wiki-tree against master#b7ebc6b0c1ba3c27ebb17c0b496ece778ef11e18 for pr-79470 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMurtaza-arif%2Fwiki-tree" "/workspace/builds/worker-3/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Murtaza-arif/wiki-tree on toolchain b7ebc6b0c1ba3c27ebb17c0b496ece778ef11e18 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+b7ebc6b0c1ba3c27ebb17c0b496ece778ef11e18" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Murtaza-arif/wiki-tree [INFO] finished tweaking git repo https://github.com/Murtaza-arif/wiki-tree [INFO] tweaked toml for git repo https://github.com/Murtaza-arif/wiki-tree written to /workspace/builds/worker-3/source/Cargo.toml [INFO] crate git repo https://github.com/Murtaza-arif/wiki-tree already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+b7ebc6b0c1ba3c27ebb17c0b496ece778ef11e18" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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" "rustops/crates-build-env@sha256:c8ac004eab7d63a0ad09a2dde3d3353ba464f767bee4de425dc8f74c46a1905e" "/opt/rustwide/cargo-home/bin/cargo" "+b7ebc6b0c1ba3c27ebb17c0b496ece778ef11e18" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 83b0d992da0cd388169c93e2edc125dd1a114ee6aabbb8343f1551183cf9594a [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "83b0d992da0cd388169c93e2edc125dd1a114ee6aabbb8343f1551183cf9594a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "83b0d992da0cd388169c93e2edc125dd1a114ee6aabbb8343f1551183cf9594a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "83b0d992da0cd388169c93e2edc125dd1a114ee6aabbb8343f1551183cf9594a", kill_on_drop: false }` [INFO] [stdout] 83b0d992da0cd388169c93e2edc125dd1a114ee6aabbb8343f1551183cf9594a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:c8ac004eab7d63a0ad09a2dde3d3353ba464f767bee4de425dc8f74c46a1905e" "/opt/rustwide/cargo-home/bin/cargo" "+b7ebc6b0c1ba3c27ebb17c0b496ece778ef11e18" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7d33cee350ff9a16ec48dcb86424b030f0f44899da55f5bbb57f38d156454c1e [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "7d33cee350ff9a16ec48dcb86424b030f0f44899da55f5bbb57f38d156454c1e", kill_on_drop: false }` [INFO] [stderr] Compiling syn v1.0.43 [INFO] [stderr] Compiling log v0.4.11 [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling ppv-lite86 v0.2.9 [INFO] [stderr] Compiling proc-macro-hack v0.5.18 [INFO] [stderr] Compiling serde v1.0.116 [INFO] [stderr] Compiling serde_json v1.0.58 [INFO] [stderr] Compiling serde_derive v1.0.116 [INFO] [stderr] Compiling pkg-config v0.3.18 [INFO] [stderr] Compiling pin-project-internal v0.4.26 [INFO] [stderr] Checking new_debug_unreachable v1.0.4 [INFO] [stderr] Compiling itoa v0.4.6 [INFO] [stderr] Checking precomputed-hash v0.1.1 [INFO] [stderr] Checking utf-8 v0.7.5 [INFO] [stderr] Compiling openssl v0.10.30 [INFO] [stderr] Compiling native-tls v0.2.4 [INFO] [stderr] Compiling encoding_rs v0.8.24 [INFO] [stderr] Checking smallvec v1.4.2 [INFO] [stderr] Checking nodrop v0.1.14 [INFO] [stderr] Checking rustc-demangle v0.1.17 [INFO] [stderr] Checking thin-slice v0.1.1 [INFO] [stderr] Checking bit-vec v0.6.2 [INFO] [stderr] Checking regex-syntax v0.6.18 [INFO] [stderr] Checking ego-tree v0.6.2 [INFO] [stderr] Checking ipnet v2.3.0 [INFO] [stderr] Checking tracing-core v0.1.17 [INFO] [stderr] Compiling error-chain v0.12.4 [INFO] [stderr] Checking http v0.2.1 [INFO] [stderr] Checking futf v0.1.4 [INFO] [stderr] Checking dtoa-short v0.3.2 [INFO] [stderr] Checking servo_arc v0.1.1 [INFO] [stderr] Checking getopts v0.2.21 [INFO] [stderr] Compiling libc v0.2.79 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Checking idna v0.2.0 [INFO] [stderr] Checking bit-set v0.5.2 [INFO] [stderr] Checking net2 v0.2.35 [INFO] [stderr] Checking socket2 v0.3.15 [INFO] [stderr] Checking tendril v0.4.1 [INFO] [stderr] Compiling indexmap v1.6.0 [INFO] [stderr] Compiling miniz_oxide v0.4.3 [INFO] [stderr] Checking want v0.3.0 [INFO] [stderr] Checking tracing v0.1.21 [INFO] [stderr] Compiling openssl-sys v0.9.58 [INFO] [stderr] Checking mio v0.6.22 [INFO] [stderr] Checking url v2.1.1 [INFO] [stderr] Compiling getrandom v0.1.15 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling rand_pcg v0.2.1 [INFO] [stderr] Compiling rand_chacha v0.2.2 [INFO] [stderr] Checking backtrace v0.3.52 [INFO] [stderr] Checking mio-uds v0.6.8 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Checking http-body v0.3.1 [INFO] [stderr] Checking regex v1.3.9 [INFO] [stderr] Compiling phf_generator v0.8.0 [INFO] [stderr] Compiling phf_codegen v0.8.0 [INFO] [stderr] Compiling string_cache_codegen v0.5.1 [INFO] [stderr] Compiling selectors v0.22.0 [INFO] [stderr] Checking string_cache v0.8.0 [INFO] [stderr] Checking serde_urlencoded v0.6.1 [INFO] [stderr] Compiling phf_macros v0.8.0 [INFO] [stderr] Compiling futures-macro v0.3.6 [INFO] [stderr] Compiling tokio-macros v0.2.5 [INFO] [stderr] Compiling html5ever v0.25.1 [INFO] [stderr] Compiling cssparser v0.27.2 [INFO] [stderr] Compiling cssparser-macros v0.6.0 [INFO] [stderr] Compiling derive_more v0.99.11 [INFO] [stderr] Checking tokio v0.2.22 [INFO] [stderr] Checking phf v0.8.0 [INFO] [stderr] Checking pin-project v0.4.26 [INFO] [stderr] Checking futures-util v0.3.6 [INFO] [stderr] Checking tokio-util v0.3.1 [INFO] [stderr] Checking tokio-tls v0.3.1 [INFO] [stderr] Compiling markup5ever v0.10.0 [INFO] [stderr] Checking h2 v0.2.6 [INFO] [stderr] Checking futures-executor v0.3.6 [INFO] [stderr] Checking futures v0.3.6 [INFO] [stderr] Checking xml5ever v0.16.1 [INFO] [stderr] Checking markup5ever_rcdom v0.1.0 [INFO] [stderr] Checking scraper v0.12.0 [INFO] [stderr] Checking select v0.5.0 [INFO] [stderr] Checking hyper v0.13.8 [INFO] [stderr] Checking hyper-tls v0.4.3 [INFO] [stderr] Checking reqwest v0.10.8 [INFO] [stderr] Checking wiki-tree v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `regex::Regex` [INFO] [stdout] --> src/main.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use regex::Regex; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error_chain::error_chain` [INFO] [stdout] --> src/main.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use error_chain::error_chain; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures::executor` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use futures::executor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/main.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | if (firsLink != previousUrl && !visited.contains_key(&*firsLink)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 46 | if (p_inside != "" || !p_inside.is_empty()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:53:20 [INFO] [stdout] | [INFO] [stdout] 53 | ...if (!link.contains("#") && !link.contains("Latin") &&!link.contains("wikimedia") &&!link.contains("wiktionary")&&!link.contains("Greek")&&!link.contains("English")&&!link.contains("File")... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regex::Regex` [INFO] [stdout] --> src/main.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use regex::Regex; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error_chain::error_chain` [INFO] [stdout] --> src/main.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use error_chain::error_chain; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures::executor` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use futures::executor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/main.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | if (firsLink != previousUrl && !visited.contains_key(&*firsLink)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 46 | if (p_inside != "" || !p_inside.is_empty()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:53:20 [INFO] [stdout] | [INFO] [stdout] 53 | ...if (!link.contains("#") && !link.contains("Latin") &&!link.contains("wikimedia") &&!link.contains("wiktionary")&&!link.contains("Greek")&&!link.contains("English")&&!link.contains("File")... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `firstLink` [INFO] [stdout] --> src/main.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 32 | let firstLink = recursiveCall(firsLink.as_str(), url.to_string(), visited).unwrap(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_firstLink` [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/main.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let mut baseUrl = "/wiki/Paper"; [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/main.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | let mut previousUrl = ""; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | let mut visited = HashMap::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `firstLink` [INFO] [stdout] --> src/main.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 32 | let firstLink = recursiveCall(firsLink.as_str(), url.to_string(), visited).unwrap(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_firstLink` [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/main.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | let mut p_inside = element.inner_html().replace("\n", ""); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `baseUrl` should have a snake case name [INFO] [stdout] --> src/main.rs:13:13 [INFO] [stdout] | [INFO] [stdout] 13 | let mut baseUrl = "/wiki/Paper"; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `base_url` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `previousUrl` should have a snake case name [INFO] [stdout] --> src/main.rs:14:13 [INFO] [stdout] | [INFO] [stdout] 14 | let mut previousUrl = ""; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `previous_url` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `recursiveCall` should have a snake case name [INFO] [stdout] --> src/main.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn recursiveCall(url: &str, previousUrl: String, mut visited: HashMap) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `recursive_call` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `previousUrl` should have a snake case name [INFO] [stdout] --> src/main.rs:21:29 [INFO] [stdout] | [INFO] [stdout] 21 | fn recursiveCall(url: &str, previousUrl: String, mut visited: HashMap) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `previous_url` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `firsLink` should have a snake case name [INFO] [stdout] --> src/main.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | let firsLink = parseFirstUrl(body); [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `firs_link` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `firstLink` should have a snake case name [INFO] [stdout] --> src/main.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 32 | let firstLink = recursiveCall(firsLink.as_str(), url.to_string(), visited).unwrap(); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `first_link` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parseFirstUrl` should have a snake case name [INFO] [stdout] --> src/main.rs:37:4 [INFO] [stdout] | [INFO] [stdout] 37 | fn parseFirstUrl(html: String) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_first_url` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `firstLink` should have a snake case name [INFO] [stdout] --> src/main.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | let firstLink = ""; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `first_link` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let mut baseUrl = "/wiki/Paper"; [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/main.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | let mut previousUrl = ""; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | let mut visited = HashMap::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | let mut p_inside = element.inner_html().replace("\n", ""); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `baseUrl` should have a snake case name [INFO] [stdout] --> src/main.rs:13:13 [INFO] [stdout] | [INFO] [stdout] 13 | let mut baseUrl = "/wiki/Paper"; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `base_url` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `previousUrl` should have a snake case name [INFO] [stdout] --> src/main.rs:14:13 [INFO] [stdout] | [INFO] [stdout] 14 | let mut previousUrl = ""; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `previous_url` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `recursiveCall` should have a snake case name [INFO] [stdout] --> src/main.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn recursiveCall(url: &str, previousUrl: String, mut visited: HashMap) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `recursive_call` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `previousUrl` should have a snake case name [INFO] [stdout] --> src/main.rs:21:29 [INFO] [stdout] | [INFO] [stdout] 21 | fn recursiveCall(url: &str, previousUrl: String, mut visited: HashMap) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `previous_url` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `firsLink` should have a snake case name [INFO] [stdout] --> src/main.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | let firsLink = parseFirstUrl(body); [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `firs_link` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `firstLink` should have a snake case name [INFO] [stdout] --> src/main.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 32 | let firstLink = recursiveCall(firsLink.as_str(), url.to_string(), visited).unwrap(); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `first_link` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parseFirstUrl` should have a snake case name [INFO] [stdout] --> src/main.rs:37:4 [INFO] [stdout] | [INFO] [stdout] 37 | fn parseFirstUrl(html: String) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_first_url` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `firstLink` should have a snake case name [INFO] [stdout] --> src/main.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | let firstLink = ""; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `first_link` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2m 47s [INFO] running `Command { std: "docker" "inspect" "7d33cee350ff9a16ec48dcb86424b030f0f44899da55f5bbb57f38d156454c1e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7d33cee350ff9a16ec48dcb86424b030f0f44899da55f5bbb57f38d156454c1e", kill_on_drop: false }` [INFO] [stdout] 7d33cee350ff9a16ec48dcb86424b030f0f44899da55f5bbb57f38d156454c1e