[INFO] cloning repository https://github.com/jtrognon/RustProject_L1_S1 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jtrognon/RustProject_L1_S1" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjtrognon%2FRustProject_L1_S1", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjtrognon%2FRustProject_L1_S1'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 4cfde0c1acf761f11e3ea08ef144510cc3045425 [INFO] checking jtrognon/RustProject_L1_S1 against master#d8810e3e2dab96778d20dd6d746ff95465515509 for pr-137033 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjtrognon%2FRustProject_L1_S1" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/jtrognon/RustProject_L1_S1 on toolchain d8810e3e2dab96778d20dd6d746ff95465515509 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d8810e3e2dab96778d20dd6d746ff95465515509" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/jtrognon/RustProject_L1_S1 [INFO] finished tweaking git repo https://github.com/jtrognon/RustProject_L1_S1 [INFO] tweaked toml for git repo https://github.com/jtrognon/RustProject_L1_S1 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/jtrognon/RustProject_L1_S1 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" "+d8810e3e2dab96778d20dd6d746ff95465515509" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded libgit2-sys v0.16.1+1.7.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+d8810e3e2dab96778d20dd6d746ff95465515509" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e74fa7e04e0f4e91cb7d4ddf7f5a86f0485ca73c39b31ac0a0055e840dd58202 [INFO] running `Command { std: "docker" "start" "-a" "e74fa7e04e0f4e91cb7d4ddf7f5a86f0485ca73c39b31ac0a0055e840dd58202", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e74fa7e04e0f4e91cb7d4ddf7f5a86f0485ca73c39b31ac0a0055e840dd58202", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e74fa7e04e0f4e91cb7d4ddf7f5a86f0485ca73c39b31ac0a0055e840dd58202", kill_on_drop: false }` [INFO] [stdout] e74fa7e04e0f4e91cb7d4ddf7f5a86f0485ca73c39b31ac0a0055e840dd58202 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+d8810e3e2dab96778d20dd6d746ff95465515509" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 46b5f28e1d247e0589eca6722e9b5e380e50a1d598d6f690f85dd17df6bb8747 [INFO] running `Command { std: "docker" "start" "-a" "46b5f28e1d247e0589eca6722e9b5e380e50a1d598d6f690f85dd17df6bb8747", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.151 [INFO] [stderr] Compiling pkg-config v0.3.27 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Checking tinyvec_macros v0.1.1 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Checking unicode-bidi v0.3.14 [INFO] [stderr] Checking percent-encoding v2.3.1 [INFO] [stderr] Checking ppv-lite86 v0.2.17 [INFO] [stderr] Checking log v0.4.20 [INFO] [stderr] Checking openssl-probe v0.1.5 [INFO] [stderr] Checking bitflags v2.4.1 [INFO] [stderr] Checking tinyvec v1.6.0 [INFO] [stderr] Checking form_urlencoded v1.2.1 [INFO] [stderr] Checking unicode-normalization v0.1.22 [INFO] [stderr] Compiling jobserver v0.1.27 [INFO] [stderr] Checking getrandom v0.2.11 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking idna v0.5.0 [INFO] [stderr] Checking url v2.5.0 [INFO] [stderr] Compiling openssl-sys v0.9.97 [INFO] [stderr] Compiling libz-sys v1.1.12 [INFO] [stderr] Compiling libssh2-sys v0.3.0 [INFO] [stderr] Compiling libgit2-sys v0.16.1+1.7.1 [INFO] [stderr] Checking git2 v0.18.1 [INFO] [stderr] Checking Projet v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::passwordAndWords::nbOfWord` [INFO] [stdout] --> src/main.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::passwordAndWords::nbOfWord; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Read` [INFO] [stdout] --> src/passwordAndWords.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::Read; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/passwordAndWords.rs:76:14 [INFO] [stdout] | [INFO] [stdout] 76 | for i in (0..nbOfWord){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 76 - for i in (0..nbOfWord){ [INFO] [stdout] 76 + for i in 0..nbOfWord { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/passwordAndWords.rs:89:14 [INFO] [stdout] | [INFO] [stdout] 89 | for i in (0..nbOfWord) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 89 - for i in (0..nbOfWord) { [INFO] [stdout] 89 + for i in 0..nbOfWord { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/passwordAndWords.rs:152:14 [INFO] [stdout] | [INFO] [stdout] 152 | for i in (0..chosenWord.content.len()){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 152 - for i in (0..chosenWord.content.len()){ [INFO] [stdout] 152 + for i in 0..chosenWord.content.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/main.rs:22:10 [INFO] [stdout] | [INFO] [stdout] 22 | while(wordSize == 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 22 - while(wordSize == 0) { [INFO] [stdout] 22 + while wordSize == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/main.rs:117:14 [INFO] [stdout] | [INFO] [stdout] 117 | for i in (0..words.len()){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 117 - for i in (0..words.len()){ [INFO] [stdout] 117 + for i in 0..words.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/main.rs:134:14 [INFO] [stdout] | [INFO] [stdout] 134 | for i in (0..words.len()){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 134 - for i in (0..words.len()){ [INFO] [stdout] 134 + for i in 0..words.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::passwordAndWords::nbOfWord` [INFO] [stdout] --> src/main.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::passwordAndWords::nbOfWord; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Read` [INFO] [stdout] --> src/passwordAndWords.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::Read; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/passwordAndWords.rs:76:14 [INFO] [stdout] | [INFO] [stdout] 76 | for i in (0..nbOfWord){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 76 - for i in (0..nbOfWord){ [INFO] [stdout] 76 + for i in 0..nbOfWord { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/passwordAndWords.rs:89:14 [INFO] [stdout] | [INFO] [stdout] 89 | for i in (0..nbOfWord) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 89 - for i in (0..nbOfWord) { [INFO] [stdout] 89 + for i in 0..nbOfWord { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/passwordAndWords.rs:152:14 [INFO] [stdout] | [INFO] [stdout] 152 | for i in (0..chosenWord.content.len()){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 152 - for i in (0..chosenWord.content.len()){ [INFO] [stdout] 152 + for i in 0..chosenWord.content.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/main.rs:22:10 [INFO] [stdout] | [INFO] [stdout] 22 | while(wordSize == 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 22 - while(wordSize == 0) { [INFO] [stdout] 22 + while wordSize == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/main.rs:117:14 [INFO] [stdout] | [INFO] [stdout] 117 | for i in (0..words.len()){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 117 - for i in (0..words.len()){ [INFO] [stdout] 117 + for i in 0..words.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/main.rs:134:14 [INFO] [stdout] | [INFO] [stdout] 134 | for i in (0..words.len()){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 134 - for i in (0..words.len()){ [INFO] [stdout] 134 + for i in 0..words.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `words` [INFO] [stdout] --> src/passwordAndWords.rs:96:18 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn askPlayer(words: &Vec) -> usize{ [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_words` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `chosenWord` is never read [INFO] [stdout] --> src/main.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | let mut chosenWord = &passwordAndWords::Word::init(String::from("")); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `matchingPair` is never read [INFO] [stdout] --> src/main.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | let mut matchingPair: usize = 0; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:41:10 [INFO] [stdout] | [INFO] [stdout] 41 | let (mut words, passwordId) = passwordAndWords::getWordsAndPassword(&wordSize); [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:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | let mut password = match words.get(passwordId){ [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `passwordAndWords` should have a snake case name [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | mod passwordAndWords; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `password_and_words` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `realAnswer` should have a snake case name [INFO] [stdout] --> src/main.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | let realAnswer = answer.split("\r\n").collect::>()[0]; [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `real_answer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `wordSize` should have a snake case name [INFO] [stdout] --> src/main.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | let mut wordSize: usize = 0; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `word_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `passwordId` should have a snake case name [INFO] [stdout] --> src/main.rs:41:21 [INFO] [stdout] | [INFO] [stdout] 41 | let (mut words, passwordId) = passwordAndWords::getWordsAndPassword(&wordSize); [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `password_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `chosenWord` should have a snake case name [INFO] [stdout] --> src/main.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | let mut chosenWord = &passwordAndWords::Word::init(String::from("")); [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `chosen_word` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `matchingPair` should have a snake case name [INFO] [stdout] --> src/main.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | let mut matchingPair: usize = 0; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `matching_pair` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `wordIndex` should have a snake case name [INFO] [stdout] --> src/main.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | let mut wordIndex: usize; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `word_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `alreadySelected` should have a snake case name [INFO] [stdout] --> src/main.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | let mut alreadySelected: Vec<&passwordAndWords::Word> = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `already_selected` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `displayWords` should have a snake case name [INFO] [stdout] --> src/main.rs:114:4 [INFO] [stdout] | [INFO] [stdout] 114 | fn displayWords(words: &Vec, alreadySelected: &Vec<&passwordAndWords::Word>){ [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `display_words` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `alreadySelected` should have a snake case name [INFO] [stdout] --> src/main.rs:114:54 [INFO] [stdout] | [INFO] [stdout] 114 | fn displayWords(words: &Vec, alreadySelected: &Vec<&passwordAndWords::Word>){ [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `already_selected` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `wordPrint` should have a snake case name [INFO] [stdout] --> src/main.rs:115:13 [INFO] [stdout] | [INFO] [stdout] 115 | let mut wordPrint: String; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `word_print` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `randomWord` should have a snake case name [INFO] [stdout] --> src/main.rs:130:4 [INFO] [stdout] | [INFO] [stdout] 130 | fn randomWord<'a>(words: &'a Vec, mut alreadySelected: Vec<&'a passwordAndWords::Word>) -> Vec<&'a passwordAndWor... [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `random_word` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `alreadySelected` should have a snake case name [INFO] [stdout] --> src/main.rs:130:63 [INFO] [stdout] | [INFO] [stdout] 130 | ...asswordAndWords::Word>, mut alreadySelected: Vec<&'a passwordAndWords::Word>) -> Vec<&'a passwordAndWords::Word>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `already_selected` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `wordNotSelected` should have a snake case name [INFO] [stdout] --> src/main.rs:133:13 [INFO] [stdout] | [INFO] [stdout] 133 | let mut wordNotSelected = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `word_not_selected` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `randomNum` should have a snake case name [INFO] [stdout] --> src/main.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 142 | let randomNum = rng.gen_range(0..wordNotSelected.len()); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `random_num` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `nbOfWord` should have an upper case name [INFO] [stdout] --> src/passwordAndWords.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const nbOfWord: usize = 10; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper case: `NB_OF_WORD` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `isPassword` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | isPassword: bool, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `is_password` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `setPassword` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | fn setPassword(&mut self){ [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `set_password` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `getContent` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn getContent(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `get_content` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `inList` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn inList(&self, list: &Vec<&Word>) -> bool{ [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `in_list` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `isPassword` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn isPassword(&self) -> &bool{ [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `is_password` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `getWordsAndPassword` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn getWordsAndPassword(wordSize: &usize) -> (Vec, usize){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_words_and_password` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `wordSize` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:47:28 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn getWordsAndPassword(wordSize: &usize) -> (Vec, usize){ [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `word_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `getRandomWords` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:64:4 [INFO] [stdout] | [INFO] [stdout] 64 | fn getRandomWords(lengthWord: &usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_random_words` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `lengthWord` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:64:19 [INFO] [stdout] | [INFO] [stdout] 64 | fn getRandomWords(lengthWord: &usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `length_word` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `wordIndexList` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:71:13 [INFO] [stdout] | [INFO] [stdout] 71 | let mut wordIndexList: [usize; nbOfWord] = [0; nbOfWord]; [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `word_index_list` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `randomIndex` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:75:13 [INFO] [stdout] | [INFO] [stdout] 75 | let mut randomIndex; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `random_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `randomWordList` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | let mut randomWordList: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `random_word_list` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `askPlayer` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:96:8 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn askPlayer(words: &Vec) -> usize{ [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `ask_player` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `realAnswer` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:110:13 [INFO] [stdout] | [INFO] [stdout] 110 | let realAnswer = answer.split("\r\n").collect::>()[0]; [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `real_answer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `firstLetter` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:112:13 [INFO] [stdout] | [INFO] [stdout] 112 | let firstLetter = realAnswer.chars().collect::>()[0]; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `first_letter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `getPassword` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:141:4 [INFO] [stdout] | [INFO] [stdout] 141 | fn getPassword(words: &Vec) -> usize{ [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `get_password` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `matchingLetters` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:150:8 [INFO] [stdout] | [INFO] [stdout] 150 | pub fn matchingLetters(chosenWord: &Word, password: &Word) -> usize{ [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `matching_letters` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `chosenWord` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:150:24 [INFO] [stdout] | [INFO] [stdout] 150 | pub fn matchingLetters(chosenWord: &Word, password: &Word) -> usize{ [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `chosen_word` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `matchingPair` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:151:13 [INFO] [stdout] | [INFO] [stdout] 151 | let mut matchingPair: usize = 0; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `matching_pair` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `words` [INFO] [stdout] --> src/passwordAndWords.rs:96:18 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn askPlayer(words: &Vec) -> usize{ [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_words` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `chosenWord` is never read [INFO] [stdout] --> src/main.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | let mut chosenWord = &passwordAndWords::Word::init(String::from("")); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `matchingPair` is never read [INFO] [stdout] --> src/main.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | let mut matchingPair: usize = 0; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:41:10 [INFO] [stdout] | [INFO] [stdout] 41 | let (mut words, passwordId) = passwordAndWords::getWordsAndPassword(&wordSize); [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:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | let mut password = match words.get(passwordId){ [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `passwordAndWords` should have a snake case name [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | mod passwordAndWords; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `password_and_words` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `realAnswer` should have a snake case name [INFO] [stdout] --> src/main.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | let realAnswer = answer.split("\r\n").collect::>()[0]; [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `real_answer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `wordSize` should have a snake case name [INFO] [stdout] --> src/main.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | let mut wordSize: usize = 0; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `word_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `passwordId` should have a snake case name [INFO] [stdout] --> src/main.rs:41:21 [INFO] [stdout] | [INFO] [stdout] 41 | let (mut words, passwordId) = passwordAndWords::getWordsAndPassword(&wordSize); [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `password_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `chosenWord` should have a snake case name [INFO] [stdout] --> src/main.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | let mut chosenWord = &passwordAndWords::Word::init(String::from("")); [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `chosen_word` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `matchingPair` should have a snake case name [INFO] [stdout] --> src/main.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | let mut matchingPair: usize = 0; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `matching_pair` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `wordIndex` should have a snake case name [INFO] [stdout] --> src/main.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | let mut wordIndex: usize; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `word_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `alreadySelected` should have a snake case name [INFO] [stdout] --> src/main.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | let mut alreadySelected: Vec<&passwordAndWords::Word> = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `already_selected` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `displayWords` should have a snake case name [INFO] [stdout] --> src/main.rs:114:4 [INFO] [stdout] | [INFO] [stdout] 114 | fn displayWords(words: &Vec, alreadySelected: &Vec<&passwordAndWords::Word>){ [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `display_words` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `alreadySelected` should have a snake case name [INFO] [stdout] --> src/main.rs:114:54 [INFO] [stdout] | [INFO] [stdout] 114 | fn displayWords(words: &Vec, alreadySelected: &Vec<&passwordAndWords::Word>){ [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `already_selected` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `wordPrint` should have a snake case name [INFO] [stdout] --> src/main.rs:115:13 [INFO] [stdout] | [INFO] [stdout] 115 | let mut wordPrint: String; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `word_print` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `randomWord` should have a snake case name [INFO] [stdout] --> src/main.rs:130:4 [INFO] [stdout] | [INFO] [stdout] 130 | fn randomWord<'a>(words: &'a Vec, mut alreadySelected: Vec<&'a passwordAndWords::Word>) -> Vec<&'a passwordAndWor... [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `random_word` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `alreadySelected` should have a snake case name [INFO] [stdout] --> src/main.rs:130:63 [INFO] [stdout] | [INFO] [stdout] 130 | ...asswordAndWords::Word>, mut alreadySelected: Vec<&'a passwordAndWords::Word>) -> Vec<&'a passwordAndWords::Word>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `already_selected` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `wordNotSelected` should have a snake case name [INFO] [stdout] --> src/main.rs:133:13 [INFO] [stdout] | [INFO] [stdout] 133 | let mut wordNotSelected = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `word_not_selected` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `randomNum` should have a snake case name [INFO] [stdout] --> src/main.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 142 | let randomNum = rng.gen_range(0..wordNotSelected.len()); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `random_num` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `nbOfWord` should have an upper case name [INFO] [stdout] --> src/passwordAndWords.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const nbOfWord: usize = 10; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper case: `NB_OF_WORD` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `isPassword` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | isPassword: bool, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `is_password` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `setPassword` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | fn setPassword(&mut self){ [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `set_password` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `getContent` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn getContent(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `get_content` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `inList` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn inList(&self, list: &Vec<&Word>) -> bool{ [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `in_list` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `isPassword` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn isPassword(&self) -> &bool{ [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `is_password` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `getWordsAndPassword` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn getWordsAndPassword(wordSize: &usize) -> (Vec, usize){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_words_and_password` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `wordSize` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:47:28 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn getWordsAndPassword(wordSize: &usize) -> (Vec, usize){ [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `word_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `getRandomWords` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:64:4 [INFO] [stdout] | [INFO] [stdout] 64 | fn getRandomWords(lengthWord: &usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_random_words` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `lengthWord` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:64:19 [INFO] [stdout] | [INFO] [stdout] 64 | fn getRandomWords(lengthWord: &usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `length_word` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `wordIndexList` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:71:13 [INFO] [stdout] | [INFO] [stdout] 71 | let mut wordIndexList: [usize; nbOfWord] = [0; nbOfWord]; [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `word_index_list` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `randomIndex` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:75:13 [INFO] [stdout] | [INFO] [stdout] 75 | let mut randomIndex; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `random_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `randomWordList` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | let mut randomWordList: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `random_word_list` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `askPlayer` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:96:8 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn askPlayer(words: &Vec) -> usize{ [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `ask_player` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `realAnswer` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:110:13 [INFO] [stdout] | [INFO] [stdout] 110 | let realAnswer = answer.split("\r\n").collect::>()[0]; [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `real_answer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `firstLetter` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:112:13 [INFO] [stdout] | [INFO] [stdout] 112 | let firstLetter = realAnswer.chars().collect::>()[0]; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `first_letter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `getPassword` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:141:4 [INFO] [stdout] | [INFO] [stdout] 141 | fn getPassword(words: &Vec) -> usize{ [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `get_password` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `matchingLetters` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:150:8 [INFO] [stdout] | [INFO] [stdout] 150 | pub fn matchingLetters(chosenWord: &Word, password: &Word) -> usize{ [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `matching_letters` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `chosenWord` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:150:24 [INFO] [stdout] | [INFO] [stdout] 150 | pub fn matchingLetters(chosenWord: &Word, password: &Word) -> usize{ [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `chosen_word` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `matchingPair` should have a snake case name [INFO] [stdout] --> src/passwordAndWords.rs:151:13 [INFO] [stdout] | [INFO] [stdout] 151 | let mut matchingPair: usize = 0; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `matching_pair` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 22.43s [INFO] running `Command { std: "docker" "inspect" "46b5f28e1d247e0589eca6722e9b5e380e50a1d598d6f690f85dd17df6bb8747", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "46b5f28e1d247e0589eca6722e9b5e380e50a1d598d6f690f85dd17df6bb8747", kill_on_drop: false }` [INFO] [stdout] 46b5f28e1d247e0589eca6722e9b5e380e50a1d598d6f690f85dd17df6bb8747