[INFO] cloning repository https://github.com/dylmarcor/rust_temp_converter [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dylmarcor/rust_temp_converter" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdylmarcor%2Frust_temp_converter", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdylmarcor%2Frust_temp_converter'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 0821dfa0b1db8ac7974805220b6c6cb65a79fe0c [INFO] checking dylmarcor/rust_temp_converter/0821dfa0b1db8ac7974805220b6c6cb65a79fe0c against master#f609b7e0586f81fefb3523e3e17adf779ac416be for pr-129466-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdylmarcor%2Frust_temp_converter" "/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/dylmarcor/rust_temp_converter on toolchain f609b7e0586f81fefb3523e3e17adf779ac416be [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/dylmarcor/rust_temp_converter [INFO] finished tweaking git repo https://github.com/dylmarcor/rust_temp_converter [INFO] tweaked toml for git repo https://github.com/dylmarcor/rust_temp_converter written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/dylmarcor/rust_temp_converter 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" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5a98a92ecfc359de6e3bea827d2b4deca9a2f5940b54443bba636a8e139a41ba [INFO] running `Command { std: "docker" "start" "-a" "5a98a92ecfc359de6e3bea827d2b4deca9a2f5940b54443bba636a8e139a41ba", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5a98a92ecfc359de6e3bea827d2b4deca9a2f5940b54443bba636a8e139a41ba", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5a98a92ecfc359de6e3bea827d2b4deca9a2f5940b54443bba636a8e139a41ba", kill_on_drop: false }` [INFO] [stdout] 5a98a92ecfc359de6e3bea827d2b4deca9a2f5940b54443bba636a8e139a41ba [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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b16160a5a023ccedd04098f7dc24fa0b15a484846ed28e1c716cfb4377fad80a [INFO] running `Command { std: "docker" "start" "-a" "b16160a5a023ccedd04098f7dc24fa0b15a484846ed28e1c716cfb4377fad80a", kill_on_drop: false }` [INFO] [stderr] Checking temp_conv v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0106]: missing lifetime specifier [INFO] [stdout] --> src/main.rs:89:21 [INFO] [stdout] | [INFO] [stdout] 89 | fn temp_choice() -> &str { [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` [INFO] [stdout] | [INFO] [stdout] 89 | fn temp_choice() -> &'static str { [INFO] [stdout] | +++++++ [INFO] [stdout] help: instead, you are more likely to want to return an owned value [INFO] [stdout] | [INFO] [stdout] 89 | fn temp_choice() -> String { [INFO] [stdout] | ~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0106]: missing lifetime specifier [INFO] [stdout] --> src/main.rs:89:21 [INFO] [stdout] | [INFO] [stdout] 89 | fn temp_choice() -> &str { [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` [INFO] [stdout] | [INFO] [stdout] 89 | fn temp_choice() -> &'static str { [INFO] [stdout] | +++++++ [INFO] [stdout] help: instead, you are more likely to want to return an owned value [INFO] [stdout] | [INFO] [stdout] 89 | fn temp_choice() -> String { [INFO] [stdout] | ~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:10:32 [INFO] [stdout] | [INFO] [stdout] 10 | let mut choice: char = temp_choice(); [INFO] [stdout] | ---- ^^^^^^^^^^^^^ expected `char`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | expected due to this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:10:32 [INFO] [stdout] | [INFO] [stdout] 10 | let mut choice: char = temp_choice(); [INFO] [stdout] | ---- ^^^^^^^^^^^^^ expected `char`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | expected due to this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:13:24 [INFO] [stdout] | [INFO] [stdout] 13 | .read_line(&mut choice) [INFO] [stdout] | --------- ^^^^^^^^^^^ expected `&mut String`, found `&mut char` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected mutable reference `&mut String` [INFO] [stdout] found mutable reference `&mut char` [INFO] [stdout] note: method defined here [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/std/src/io/stdio.rs:397:12 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:18:22 [INFO] [stdout] | [INFO] [stdout] 18 | if choice == "C" { [INFO] [stdout] | ------ ^^^ expected `char`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `char` [INFO] [stdout] | [INFO] [stdout] help: if you meant to write a `char` literal, use single quotes [INFO] [stdout] | [INFO] [stdout] 18 | if choice == 'C' { [INFO] [stdout] | ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:13:24 [INFO] [stdout] | [INFO] [stdout] 13 | .read_line(&mut choice) [INFO] [stdout] | --------- ^^^^^^^^^^^ expected `&mut String`, found `&mut char` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected mutable reference `&mut String` [INFO] [stdout] found mutable reference `&mut char` [INFO] [stdout] note: method defined here [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/std/src/io/stdio.rs:397:12 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:18:22 [INFO] [stdout] | [INFO] [stdout] 18 | if choice == "C" { [INFO] [stdout] | ------ ^^^ expected `char`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `char` [INFO] [stdout] | [INFO] [stdout] help: if you meant to write a `char` literal, use single quotes [INFO] [stdout] | [INFO] [stdout] 18 | if choice == 'C' { [INFO] [stdout] | ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:50:29 [INFO] [stdout] | [INFO] [stdout] 50 | } else if choice == "F" { [INFO] [stdout] | ------ ^^^ expected `char`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `char` [INFO] [stdout] | [INFO] [stdout] help: if you meant to write a `char` literal, use single quotes [INFO] [stdout] | [INFO] [stdout] 50 | } else if choice == 'F' { [INFO] [stdout] | ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:83:29 [INFO] [stdout] | [INFO] [stdout] 83 | } else if choice == "END" { [INFO] [stdout] | ------ ^^^^^ expected `char`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `char` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:100:13 [INFO] [stdout] | [INFO] [stdout] 99 | / if choice == "F" { [INFO] [stdout] 100 | | "F" [INFO] [stdout] | | ^^^ expected `()`, found `&str` [INFO] [stdout] 101 | | } else if choice == "C" { [INFO] [stdout] 102 | | "C" [INFO] [stdout] ... | [INFO] [stdout] 107 | | continue [INFO] [stdout] 108 | | } [INFO] [stdout] | |_________- expected this to be `()` [INFO] [stdout] | [INFO] [stdout] help: you might have meant to return this value [INFO] [stdout] | [INFO] [stdout] 100 | return "F"; [INFO] [stdout] | ++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:50:29 [INFO] [stdout] | [INFO] [stdout] 50 | } else if choice == "F" { [INFO] [stdout] | ------ ^^^ expected `char`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `char` [INFO] [stdout] | [INFO] [stdout] help: if you meant to write a `char` literal, use single quotes [INFO] [stdout] | [INFO] [stdout] 50 | } else if choice == 'F' { [INFO] [stdout] | ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 101 | } else if choice == "C" { [INFO] [stdout] | ________________- [INFO] [stdout] 102 | | "C" [INFO] [stdout] | | ^^^ expected `()`, found `&str` [INFO] [stdout] 103 | | } else if choice == "END" { [INFO] [stdout] 104 | | break; [INFO] [stdout] ... | [INFO] [stdout] 107 | | continue [INFO] [stdout] 108 | | } [INFO] [stdout] | |_________- expected this to be `()` [INFO] [stdout] | [INFO] [stdout] help: you might have meant to return this value [INFO] [stdout] | [INFO] [stdout] 102 | return "C"; [INFO] [stdout] | ++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:104:13 [INFO] [stdout] | [INFO] [stdout] 89 | fn temp_choice() -> &str { [INFO] [stdout] | ---- expected `&'_ str` because of this return type [INFO] [stdout] ... [INFO] [stdout] 98 | loop { [INFO] [stdout] | ---- this loop is expected to be of type `&'static str` [INFO] [stdout] ... [INFO] [stdout] 104 | break; [INFO] [stdout] | ^^^^^ expected `&str`, found `()` [INFO] [stdout] | [INFO] [stdout] help: give the `break` a value of the expected type [INFO] [stdout] | [INFO] [stdout] 104 | break ""; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:83:29 [INFO] [stdout] | [INFO] [stdout] 83 | } else if choice == "END" { [INFO] [stdout] | ------ ^^^^^ expected `char`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `char` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:100:13 [INFO] [stdout] | [INFO] [stdout] 99 | / if choice == "F" { [INFO] [stdout] 100 | | "F" [INFO] [stdout] | | ^^^ expected `()`, found `&str` [INFO] [stdout] 101 | | } else if choice == "C" { [INFO] [stdout] 102 | | "C" [INFO] [stdout] ... | [INFO] [stdout] 107 | | continue [INFO] [stdout] 108 | | } [INFO] [stdout] | |_________- expected this to be `()` [INFO] [stdout] | [INFO] [stdout] help: you might have meant to return this value [INFO] [stdout] | [INFO] [stdout] 100 | return "F"; [INFO] [stdout] | ++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 101 | } else if choice == "C" { [INFO] [stdout] | ________________- [INFO] [stdout] 102 | | "C" [INFO] [stdout] | | ^^^ expected `()`, found `&str` [INFO] [stdout] 103 | | } else if choice == "END" { [INFO] [stdout] 104 | | break; [INFO] [stdout] ... | [INFO] [stdout] 107 | | continue [INFO] [stdout] 108 | | } [INFO] [stdout] | |_________- expected this to be `()` [INFO] [stdout] | [INFO] [stdout] help: you might have meant to return this value [INFO] [stdout] | [INFO] [stdout] 102 | return "C"; [INFO] [stdout] | ++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:104:13 [INFO] [stdout] | [INFO] [stdout] 89 | fn temp_choice() -> &str { [INFO] [stdout] | ---- expected `&'_ str` because of this return type [INFO] [stdout] ... [INFO] [stdout] 98 | loop { [INFO] [stdout] | ---- this loop is expected to be of type `&'static str` [INFO] [stdout] ... [INFO] [stdout] 104 | break; [INFO] [stdout] | ^^^^^ expected `&str`, found `()` [INFO] [stdout] | [INFO] [stdout] help: give the `break` a value of the expected type [INFO] [stdout] | [INFO] [stdout] 104 | break ""; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 9 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0106, E0308. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0106`. [INFO] [stdout] [INFO] [stdout] error: aborting due to 9 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0106, E0308. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0106`. [INFO] [stdout] [INFO] [stderr] error: could not compile `temp_conv` (bin "temp_conv") due to 10 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `temp_conv` (bin "temp_conv" test) due to 10 previous errors [INFO] running `Command { std: "docker" "inspect" "b16160a5a023ccedd04098f7dc24fa0b15a484846ed28e1c716cfb4377fad80a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b16160a5a023ccedd04098f7dc24fa0b15a484846ed28e1c716cfb4377fad80a", kill_on_drop: false }` [INFO] [stdout] b16160a5a023ccedd04098f7dc24fa0b15a484846ed28e1c716cfb4377fad80a