[INFO] cloning repository https://github.com/BrunoSienkiewicz/rust_grep
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/BrunoSienkiewicz/rust_grep" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBrunoSienkiewicz%2Frust_grep", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBrunoSienkiewicz%2Frust_grep'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 037458609b1e9d095b003502581e8f8d0bb652c4
[INFO] checking BrunoSienkiewicz/rust_grep against master#292be5c7c05138d753bbd4b30db7a3f1a5c914f7 for pr-148271
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBrunoSienkiewicz%2Frust_grep" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/BrunoSienkiewicz/rust_grep
[INFO] finished tweaking git repo https://github.com/BrunoSienkiewicz/rust_grep
[INFO] tweaked toml for git repo https://github.com/BrunoSienkiewicz/rust_grep written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/BrunoSienkiewicz/rust_grep on toolchain 292be5c7c05138d753bbd4b30db7a3f1a5c914f7
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+292be5c7c05138d753bbd4b30db7a3f1a5c914f7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/BrunoSienkiewicz/rust_grep 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" "+292be5c7c05138d753bbd4b30db7a3f1a5c914f7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+292be5c7c05138d753bbd4b30db7a3f1a5c914f7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3adf054ae4612f5f2afa20d30cfc4f0c8e6770a3fdbd1be40cee44822d3cf0d9
[INFO] running `Command { std: "docker" "start" "-a" "3adf054ae4612f5f2afa20d30cfc4f0c8e6770a3fdbd1be40cee44822d3cf0d9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3adf054ae4612f5f2afa20d30cfc4f0c8e6770a3fdbd1be40cee44822d3cf0d9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3adf054ae4612f5f2afa20d30cfc4f0c8e6770a3fdbd1be40cee44822d3cf0d9", kill_on_drop: false }`
[INFO] [stdout] 3adf054ae4612f5f2afa20d30cfc4f0c8e6770a3fdbd1be40cee44822d3cf0d9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+292be5c7c05138d753bbd4b30db7a3f1a5c914f7" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f91fca6b2d290faa068e3b105f62059db77d9bfd5bd26d27459a3c609a9c1507
[INFO] running `Command { std: "docker" "start" "-a" "f91fca6b2d290faa068e3b105f62059db77d9bfd5bd26d27459a3c609a9c1507", kill_on_drop: false }`
[INFO] [stderr]     Checking rust_grep v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0106]: missing lifetime specifier
[INFO] [stdout]   --> src/search/search_builder.rs:15:35
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn new(config: Config) -> SearchBuilder {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^ expected named lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout]    = help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from
[INFO] [stdout] help: consider using the `'static` lifetime, but this is uncommon unless you're returning a borrowed value from a `const` or a `static`, or if you will only have owned values
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn new(config: Config) -> SearchBuilder<'static> {
[INFO] [stdout]    |                                                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected value, found struct `Config`
[INFO] [stdout]   --> src/search/search_builder.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 |               config: Config,
[INFO] [stdout]    |                       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/config/config.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | / pub struct Config {
[INFO] [stdout]  5 | |     pub query: String,
[INFO] [stdout]  6 | |     pub file_path: String,
[INFO] [stdout]  7 | |     pub flag_config: FlagConfig,
[INFO] [stdout]  8 | | }
[INFO] [stdout]    | |_- `Config` defined here
[INFO] [stdout]    |
[INFO] [stdout] help: use struct literal syntax instead
[INFO] [stdout]    |
[INFO] [stdout] 17 |             config: Config { query: val, file_path: val, flag_config: val },
[INFO] [stdout]    |                            ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] help: a local variable with a similar name exists (notice the capitalization)
[INFO] [stdout]    |
[INFO] [stdout] 17 -             config: Config,
[INFO] [stdout] 17 +             config: config,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0106]: missing lifetime specifier
[INFO] [stdout]   --> src/search/search_builder.rs:15:35
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn new(config: Config) -> SearchBuilder {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^ expected named lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout]    = help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from
[INFO] [stdout] help: consider using the `'static` lifetime, but this is uncommon unless you're returning a borrowed value from a `const` or a `static`, or if you will only have owned values
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn new(config: Config) -> SearchBuilder<'static> {
[INFO] [stdout]    |                                                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected value, found struct `Config`
[INFO] [stdout]   --> src/search/search_builder.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 |               config: Config,
[INFO] [stdout]    |                       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/config/config.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | / pub struct Config {
[INFO] [stdout]  5 | |     pub query: String,
[INFO] [stdout]  6 | |     pub file_path: String,
[INFO] [stdout]  7 | |     pub flag_config: FlagConfig,
[INFO] [stdout]  8 | | }
[INFO] [stdout]    | |_- `Config` defined here
[INFO] [stdout]    |
[INFO] [stdout] help: use struct literal syntax instead
[INFO] [stdout]    |
[INFO] [stdout] 17 |             config: Config { query: val, file_path: val, flag_config: val },
[INFO] [stdout]    |                            ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] help: a local variable with a similar name exists (notice the capitalization)
[INFO] [stdout]    |
[INFO] [stdout] 17 -             config: Config,
[INFO] [stdout] 17 +             config: config,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: borrow of moved value: `args`
[INFO] [stdout]   --> src/config/config.rs:24:31
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn build(mut args: impl Iterator<Item = String>) -> Result<Config, &'static str> {
[INFO] [stdout]    |                  -------- move occurs because `args` has type `impl Iterator<Item = String>`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout] 19 |         let flag_config = match FlagConfig::build(args) {
[INFO] [stdout]    |                                                   ---- value moved here
[INFO] [stdout] ...
[INFO] [stdout] 24 |         let file_path = match args.next() {
[INFO] [stdout]    |                               ^^^^ value borrowed here after move
[INFO] [stdout]    |
[INFO] [stdout] help: if `impl Iterator<Item = String>` implemented `Clone`, you could clone the value
[INFO] [stdout]   --> src/config/config.rs:11:28
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn build(mut args: impl Iterator<Item = String>) -> Result<Config, &'static str> {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ consider constraining this type parameter with `Clone`
[INFO] [stdout] ...
[INFO] [stdout] 19 |         let flag_config = match FlagConfig::build(args) {
[INFO] [stdout]    |                                                   ---- you could clone this value
[INFO] [stdout] help: consider mutably borrowing `args`
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let flag_config = match FlagConfig::build(&mut args) {
[INFO] [stdout]    |                                                   ++++
[INFO] [stdout] help: consider restricting opaque type `impl Iterator<Item = String>` with trait `Copy`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn build(mut args: impl Iterator<Item = String> + Copy) -> Result<Config, &'static str> {
[INFO] [stdout]    |                                                         ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0106, E0382, E0423.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0106`.
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: borrow of moved value: `args`
[INFO] [stdout]   --> src/config/config.rs:24:31
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn build(mut args: impl Iterator<Item = String>) -> Result<Config, &'static str> {
[INFO] [stdout]    |                  -------- move occurs because `args` has type `impl Iterator<Item = String>`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout] 19 |         let flag_config = match FlagConfig::build(args) {
[INFO] [stdout]    |                                                   ---- value moved here
[INFO] [stdout] ...
[INFO] [stdout] 24 |         let file_path = match args.next() {
[INFO] [stdout]    |                               ^^^^ value borrowed here after move
[INFO] [stdout]    |
[INFO] [stdout] help: if `impl Iterator<Item = String>` implemented `Clone`, you could clone the value
[INFO] [stdout]   --> src/config/config.rs:11:28
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn build(mut args: impl Iterator<Item = String>) -> Result<Config, &'static str> {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ consider constraining this type parameter with `Clone`
[INFO] [stdout] ...
[INFO] [stdout] 19 |         let flag_config = match FlagConfig::build(args) {
[INFO] [stdout]    |                                                   ---- you could clone this value
[INFO] [stdout] help: consider mutably borrowing `args`
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let flag_config = match FlagConfig::build(&mut args) {
[INFO] [stdout]    |                                                   ++++
[INFO] [stdout] help: consider restricting opaque type `impl Iterator<Item = String>` with trait `Copy`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn build(mut args: impl Iterator<Item = String> + Copy) -> Result<Config, &'static str> {
[INFO] [stdout]    |                                                         ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0106, E0382, E0423.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0106`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust_grep` (lib test) due to 3 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `rust_grep` (lib) due to 3 previous errors
[INFO] running `Command { std: "docker" "inspect" "f91fca6b2d290faa068e3b105f62059db77d9bfd5bd26d27459a3c609a9c1507", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f91fca6b2d290faa068e3b105f62059db77d9bfd5bd26d27459a3c609a9c1507", kill_on_drop: false }`
[INFO] [stdout] f91fca6b2d290faa068e3b105f62059db77d9bfd5bd26d27459a3c609a9c1507
