[INFO] cloning repository https://github.com/johnsonjsyuen/rs-wordle-solver
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/johnsonjsyuen/rs-wordle-solver" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjohnsonjsyuen%2Frs-wordle-solver", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjohnsonjsyuen%2Frs-wordle-solver'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d4cf661ade6a39d2887cb2231d5f8608e868a46c
[INFO] testing johnsonjsyuen/rs-wordle-solver against 1.98.0-beta.8+cargoflags=--release for beta-release-1.99-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjohnsonjsyuen%2Frs-wordle-solver" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/johnsonjsyuen/rs-wordle-solver
[INFO] finished tweaking git repo https://github.com/johnsonjsyuen/rs-wordle-solver
[INFO] tweaked toml for git repo https://github.com/johnsonjsyuen/rs-wordle-solver written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/johnsonjsyuen/rs-wordle-solver on toolchain 1.98.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/johnsonjsyuen/rs-wordle-solver 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" "+1.98.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 034070c6b8380c0ba8aaacadf34901a0d9116e569b8ed6303f2b283b2654d671
[INFO] running `Command { std: "docker" "start" "034070c6b8380c0ba8aaacadf34901a0d9116e569b8ed6303f2b283b2654d671", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "034070c6b8380c0ba8aaacadf34901a0d9116e569b8ed6303f2b283b2654d671", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "034070c6b8380c0ba8aaacadf34901a0d9116e569b8ed6303f2b283b2654d671" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "034070c6b8380c0ba8aaacadf34901a0d9116e569b8ed6303f2b283b2654d671", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "034070c6b8380c0ba8aaacadf34901a0d9116e569b8ed6303f2b283b2654d671" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling rs-wordle-solver v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0106]: missing lifetime specifier
[INFO] [stdout]   --> src/main.rs:31:86
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn get_candidates(in_place_characters:&str,other_characters:&HashSet<String>) -> Vec<&str>{
[INFO] [stdout]    |                                       ----                  ----------------         ^ expected named lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout]    = help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from `in_place_characters` or `other_characters`
[INFO] [stdout] help: consider introducing a named lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn get_candidates<'a>(in_place_characters:&'a str,other_characters:&'a HashSet<String>) -> Vec<&'a str>{
[INFO] [stdout]    |                  ++++                      ++                       ++                          ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::hash_map::Entry`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::hash_map::Entry;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/main.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead` and `Read`
[INFO] [stdout]  --> src/main.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::{BufRead, Read};
[INFO] [stdout]   |               ^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stdout]   --> src/word_index.rs:26:46
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn letter_to_num(mut maybe_letter: String) ->Result<usize, dyn Error>{
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stdout] note: required by an implicit `Sized` bound in `Result`
[INFO] [stdout]   --> /rustc/04eb0d7194012623e82369b466d5084522957446/library/core/src/result.rs:557:0
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/word_index.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn letter_to_num(mut maybe_letter: String) ->Result<usize, dyn Error>{
[INFO] [stdout]    |                                              ------------------------ expected `Result<usize, (dyn std::error::Error + 'static)>` because of return type
[INFO] [stdout] 27 |     if maybe_letter.len() != 1 {
[INFO] [stdout] 28 |      return Err("Only converting a letter a time");
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Result<usize, dyn Error>`, found `Result<_, &str>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `Result<usize, (dyn std::error::Error + 'static)>`
[INFO] [stdout]               found enum `Result<_, &str>`
[INFO] [stdout]    = help: `&str` implements `Error` so you could box the found value and coerce it to the trait object `Box<dyn Error>`, you will have to change the expected type as well
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/word_index.rs:31:53
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let conver:HashMap<String,usize> = HashMap(["a",1,"b",2,"c",3,"d",4,"e",5,"f",6,"g",7,"h",8,"i",9,"j",10,"k",11,"l",12,
[INFO] [stdout]    |                                                     ^ expected `&str`, found integer
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `HashMap`
[INFO] [stdout]   --> src/word_index.rs:31:40
[INFO] [stdout]    |
[INFO] [stdout] 31 |       let conver:HashMap<String,usize> = HashMap(["a",1,"b",2,"c",3,"d",4,"e",5,"f",6,"g",7,"h",8,"i",9,"j",10,"k",11,"l",12,
[INFO] [stdout]    |  ________________________________________^
[INFO] [stdout] 32 | |     "m",13,"n",14,"o",15,"p",16,"q",17,"r",18,"s",19,"t",20,"u",21,"v",22,"w",23,"x",24,"y",25,"z",26]);
[INFO] [stdout]    | |_______________________________________________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]   --> /rustc/04eb0d7194012623e82369b466d5084522957446/library/std/src/collections/hash/map.rs:246:0
[INFO] [stdout]   ::: /rustc/04eb0d7194012623e82369b466d5084522957446/library/std/src/collections/hash/map.rs:251:1
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HashMap` defined here
[INFO] [stdout] help: you might have meant to use an associated function to build this type
[INFO] [stdout]    |
[INFO] [stdout] 31 -     let conver:HashMap<String,usize> = HashMap(["a",1,"b",2,"c",3,"d",4,"e",5,"f",6,"g",7,"h",8,"i",9,"j",10,"k",11,"l",12,
[INFO] [stdout] 32 -     "m",13,"n",14,"o",15,"p",16,"q",17,"r",18,"s",19,"t",20,"u",21,"v",22,"w",23,"x",24,"y",25,"z",26]);
[INFO] [stdout] 31 +     let conver:HashMap<String,usize> = HashMap::new();
[INFO] [stdout]    |
[INFO] [stdout] 31 -     let conver:HashMap<String,usize> = HashMap(["a",1,"b",2,"c",3,"d",4,"e",5,"f",6,"g",7,"h",8,"i",9,"j",10,"k",11,"l",12,
[INFO] [stdout] 32 -     "m",13,"n",14,"o",15,"p",16,"q",17,"r",18,"s",19,"t",20,"u",21,"v",22,"w",23,"x",24,"y",25,"z",26]);
[INFO] [stdout] 31 +     let conver:HashMap<String,usize> = HashMap::new_in(_);
[INFO] [stdout]    |
[INFO] [stdout] 31 -     let conver:HashMap<String,usize> = HashMap(["a",1,"b",2,"c",3,"d",4,"e",5,"f",6,"g",7,"h",8,"i",9,"j",10,"k",11,"l",12,
[INFO] [stdout] 32 -     "m",13,"n",14,"o",15,"p",16,"q",17,"r",18,"s",19,"t",20,"u",21,"v",22,"w",23,"x",24,"y",25,"z",26]);
[INFO] [stdout] 31 +     let conver:HashMap<String,usize> = HashMap::with_capacity(_);
[INFO] [stdout]    |
[INFO] [stdout] 31 -     let conver:HashMap<String,usize> = HashMap(["a",1,"b",2,"c",3,"d",4,"e",5,"f",6,"g",7,"h",8,"i",9,"j",10,"k",11,"l",12,
[INFO] [stdout] 32 -     "m",13,"n",14,"o",15,"p",16,"q",17,"r",18,"s",19,"t",20,"u",21,"v",22,"w",23,"x",24,"y",25,"z",26]);
[INFO] [stdout] 31 +     let conver:HashMap<String,usize> = HashMap::with_capacity_in(_, _);
[INFO] [stdout]    |
[INFO] [stdout]    = and 4 other candidates
[INFO] [stdout] help: consider using the `Default` trait
[INFO] [stdout]    |
[INFO] [stdout] 31 -     let conver:HashMap<String,usize> = HashMap(["a",1,"b",2,"c",3,"d",4,"e",5,"f",6,"g",7,"h",8,"i",9,"j",10,"k",11,"l",12,
[INFO] [stdout] 32 -     "m",13,"n",14,"o",15,"p",16,"q",17,"r",18,"s",19,"t",20,"u",21,"v",22,"w",23,"x",24,"y",25,"z",26]);
[INFO] [stdout] 31 +     let conver:HashMap<String,usize> = <HashMap as std::default::Default>::default();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rs-wordle-solver` (bin "rs-wordle-solver") due to 7 previous errors; 8 warnings emitted
[INFO] [stdout] error[E0277]: the size for values of type `dyn std::error::Error` cannot be known at compilation time
[INFO] [stdout]   --> src/word_index.rs:34:20
[INFO] [stdout]    |
[INFO] [stdout] 34 |         Some(n) => Ok(*n),
[INFO] [stdout]    |                    ^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Sized` is not implemented for `dyn std::error::Error`
[INFO] [stdout] note: required by a bound in `Ok`
[INFO] [stdout]   --> /rustc/04eb0d7194012623e82369b466d5084522957446/library/core/src/result.rs:561:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: `match` arms have incompatible types
[INFO] [stdout]   --> src/word_index.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 33 |       return match conver.get(&maybe_letter) {
[INFO] [stdout]    |  ____________-
[INFO] [stdout] 34 | |         Some(n) => Ok(*n),
[INFO] [stdout]    | |                    ------ this is found to be of type `Result<usize, (dyn std::error::Error + 'static)>`
[INFO] [stdout] 35 | |         None => Err("")
[INFO] [stdout]    | |                 ^^^^^^^ expected `Result<usize, dyn Error>`, found `Result<_, &str>`
[INFO] [stdout] 36 | |     }
[INFO] [stdout]    | |_____- `match` arms have incompatible types
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `Result<usize, (dyn std::error::Error + 'static)>`
[INFO] [stdout]               found enum `Result<_, &str>`
[INFO] [stdout]    = help: `&str` implements `Error` so you could box the found value and coerce it to the trait object `Box<dyn Error>`, you will have to change the expected type as well
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/word_index.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |         let mut letter_index= Vec::new();
[INFO] [stdout]    |             ----^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/word_index.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let mut freq_index= Vec::new();
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0106, E0277, E0308, E0423.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0106`.
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "034070c6b8380c0ba8aaacadf34901a0d9116e569b8ed6303f2b283b2654d671", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "034070c6b8380c0ba8aaacadf34901a0d9116e569b8ed6303f2b283b2654d671", kill_on_drop: false }`
[INFO] [stdout] 034070c6b8380c0ba8aaacadf34901a0d9116e569b8ed6303f2b283b2654d671
