[INFO] cloning repository https://github.com/figgyfigs/rust-practice [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/figgyfigs/rust-practice" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffiggyfigs%2Frust-practice", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffiggyfigs%2Frust-practice'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 6db9b64004a7fa4b42da0c265d4dc37e888a4190 [INFO] checking figgyfigs/rust-practice against try#3d9fdbff4f377de96b3a51174e7a64086bee9a5c for pr-81477 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffiggyfigs%2Frust-practice" "/workspace/builds/worker-5/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/figgyfigs/rust-practice on toolchain 3d9fdbff4f377de96b3a51174e7a64086bee9a5c [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+3d9fdbff4f377de96b3a51174e7a64086bee9a5c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/figgyfigs/rust-practice [INFO] finished tweaking git repo https://github.com/figgyfigs/rust-practice [INFO] tweaked toml for git repo https://github.com/figgyfigs/rust-practice written to /workspace/builds/worker-5/source/Cargo.toml [INFO] crate git repo https://github.com/figgyfigs/rust-practice already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+3d9fdbff4f377de96b3a51174e7a64086bee9a5c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+3d9fdbff4f377de96b3a51174e7a64086bee9a5c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 308351cc5e421ada3e2cd96e294a1db04a2ff3b647e6c81e38d3e800cc98b129 [INFO] running `Command { std: "docker" "start" "-a" "308351cc5e421ada3e2cd96e294a1db04a2ff3b647e6c81e38d3e800cc98b129", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "308351cc5e421ada3e2cd96e294a1db04a2ff3b647e6c81e38d3e800cc98b129", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "308351cc5e421ada3e2cd96e294a1db04a2ff3b647e6c81e38d3e800cc98b129", kill_on_drop: false }` [INFO] [stdout] 308351cc5e421ada3e2cd96e294a1db04a2ff3b647e6c81e38d3e800cc98b129 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+3d9fdbff4f377de96b3a51174e7a64086bee9a5c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e65b741afd0a424a935793aec47cbe35935f69bf491dbddeb990dddb635e4600 [INFO] running `Command { std: "docker" "start" "-a" "e65b741afd0a424a935793aec47cbe35935f69bf491dbddeb990dddb635e4600", kill_on_drop: false }` [INFO] [stderr] Checking company_directory v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 12 | ListDepartments, [INFO] [stdout] | --------------- unit variant defined here [INFO] [stdout] ... [INFO] [stdout] 45 | match user_input { [INFO] [stdout] | ---------- this expression has type `Option` [INFO] [stdout] 46 | OpCode::ListDepartments => list_departments(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ expected enum `Option`, found enum `OpCode` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Option` [INFO] [stdout] found enum `OpCode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 13 | AddEmployee, [INFO] [stdout] | ----------- unit variant defined here [INFO] [stdout] ... [INFO] [stdout] 45 | match user_input { [INFO] [stdout] | ---------- this expression has type `Option` [INFO] [stdout] 46 | OpCode::ListDepartments => list_departments(), [INFO] [stdout] 47 | OpCode::AddEmployee => add_employee(&mut departments), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ expected enum `Option`, found enum `OpCode` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Option` [INFO] [stdout] found enum `OpCode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 14 | ListDepartmentEmployees, [INFO] [stdout] | ----------------------- unit variant defined here [INFO] [stdout] ... [INFO] [stdout] 45 | match user_input { [INFO] [stdout] | ---------- this expression has type `Option` [INFO] [stdout] ... [INFO] [stdout] 48 | OpCode::ListDepartmentEmployees => println!("List employees in x department"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `Option`, found enum `OpCode` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Option` [INFO] [stdout] found enum `OpCode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:49:13 [INFO] [stdout] | [INFO] [stdout] 15 | AllEmployees, [INFO] [stdout] | ------------ unit variant defined here [INFO] [stdout] ... [INFO] [stdout] 45 | match user_input { [INFO] [stdout] | ---------- this expression has type `Option` [INFO] [stdout] ... [INFO] [stdout] 49 | OpCode::AllEmployees => println!("List all employees in the company"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ expected enum `Option`, found enum `OpCode` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Option` [INFO] [stdout] found enum `OpCode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 11 | Exit, [INFO] [stdout] | ---- unit variant defined here [INFO] [stdout] ... [INFO] [stdout] 45 | match user_input { [INFO] [stdout] | ---------- this expression has type `Option` [INFO] [stdout] ... [INFO] [stdout] 50 | OpCode::Exit => println!("Exit"), [INFO] [stdout] | ^^^^^^^^^^^^ expected enum `Option`, found enum `OpCode` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Option` [INFO] [stdout] found enum `OpCode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:51:13 [INFO] [stdout] | [INFO] [stdout] 16 | InvalidOp, [INFO] [stdout] | --------- unit variant defined here [INFO] [stdout] ... [INFO] [stdout] 45 | match user_input { [INFO] [stdout] | ---------- this expression has type `Option` [INFO] [stdout] ... [INFO] [stdout] 51 | OpCode::InvalidOp => println!("Invalid OpCode"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ expected enum `Option`, found enum `OpCode` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Option` [INFO] [stdout] found enum `OpCode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 12 | ListDepartments, [INFO] [stdout] | --------------- unit variant defined here [INFO] [stdout] ... [INFO] [stdout] 45 | match user_input { [INFO] [stdout] | ---------- this expression has type `Option` [INFO] [stdout] 46 | OpCode::ListDepartments => list_departments(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ expected enum `Option`, found enum `OpCode` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Option` [INFO] [stdout] found enum `OpCode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 13 | AddEmployee, [INFO] [stdout] | ----------- unit variant defined here [INFO] [stdout] ... [INFO] [stdout] 45 | match user_input { [INFO] [stdout] | ---------- this expression has type `Option` [INFO] [stdout] 46 | OpCode::ListDepartments => list_departments(), [INFO] [stdout] 47 | OpCode::AddEmployee => add_employee(&mut departments), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ expected enum `Option`, found enum `OpCode` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Option` [INFO] [stdout] found enum `OpCode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 14 | ListDepartmentEmployees, [INFO] [stdout] | ----------------------- unit variant defined here [INFO] [stdout] ... [INFO] [stdout] 45 | match user_input { [INFO] [stdout] | ---------- this expression has type `Option` [INFO] [stdout] ... [INFO] [stdout] 48 | OpCode::ListDepartmentEmployees => println!("List employees in x department"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `Option`, found enum `OpCode` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Option` [INFO] [stdout] found enum `OpCode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:49:13 [INFO] [stdout] | [INFO] [stdout] 15 | AllEmployees, [INFO] [stdout] | ------------ unit variant defined here [INFO] [stdout] ... [INFO] [stdout] 45 | match user_input { [INFO] [stdout] | ---------- this expression has type `Option` [INFO] [stdout] ... [INFO] [stdout] 49 | OpCode::AllEmployees => println!("List all employees in the company"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ expected enum `Option`, found enum `OpCode` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Option` [INFO] [stdout] found enum `OpCode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 11 | Exit, [INFO] [stdout] | ---- unit variant defined here [INFO] [stdout] ... [INFO] [stdout] 45 | match user_input { [INFO] [stdout] | ---------- this expression has type `Option` [INFO] [stdout] ... [INFO] [stdout] 50 | OpCode::Exit => println!("Exit"), [INFO] [stdout] | ^^^^^^^^^^^^ expected enum `Option`, found enum `OpCode` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Option` [INFO] [stdout] found enum `OpCode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:51:13 [INFO] [stdout] | [INFO] [stdout] 16 | InvalidOp, [INFO] [stdout] | --------- unit variant defined here [INFO] [stdout] ... [INFO] [stdout] 45 | match user_input { [INFO] [stdout] | ---------- this expression has type `Option` [INFO] [stdout] ... [INFO] [stdout] 51 | OpCode::InvalidOp => println!("Invalid OpCode"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ expected enum `Option`, found enum `OpCode` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Option` [INFO] [stdout] found enum `OpCode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/main.rs:47:36 [INFO] [stdout] | [INFO] [stdout] 45 | / match user_input { [INFO] [stdout] 46 | | OpCode::ListDepartments => list_departments(), [INFO] [stdout] | | ------------------ this is found to be of type `()` [INFO] [stdout] 47 | | OpCode::AddEmployee => add_employee(&mut departments), [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found struct `HashMap` [INFO] [stdout] 48 | | OpCode::ListDepartmentEmployees => println!("List employees in x department"), [INFO] [stdout] ... | [INFO] [stdout] 52 | | None => println!("Invalid"), [INFO] [stdout] 53 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] = note: expected type `()` [INFO] [stdout] found struct `HashMap>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 93 | fn add_employee(departments: &mut HashMap>) -> HashMap> { [INFO] [stdout] | ---------------------------- expected `HashMap>` because of return type [INFO] [stdout] ... [INFO] [stdout] 109 | departments [INFO] [stdout] | ^^^^^^^^^^^ expected struct `HashMap`, found mutable reference [INFO] [stdout] | [INFO] [stdout] = note: expected struct `HashMap>` [INFO] [stdout] found mutable reference `&mut HashMap>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 8 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0308`. [INFO] [stdout] [INFO] [stderr] error: could not compile `company_directory` [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/main.rs:47:36 [INFO] [stdout] | [INFO] [stdout] 45 | / match user_input { [INFO] [stdout] 46 | | OpCode::ListDepartments => list_departments(), [INFO] [stdout] | | ------------------ this is found to be of type `()` [INFO] [stdout] 47 | | OpCode::AddEmployee => add_employee(&mut departments), [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found struct `HashMap` [INFO] [stdout] 48 | | OpCode::ListDepartmentEmployees => println!("List employees in x department"), [INFO] [stdout] ... | [INFO] [stdout] 52 | | None => println!("Invalid"), [INFO] [stdout] 53 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] = note: expected type `()` [INFO] [stdout] found struct `HashMap>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 93 | fn add_employee(departments: &mut HashMap>) -> HashMap> { [INFO] [stdout] | ---------------------------- expected `HashMap>` because of return type [INFO] [stdout] ... [INFO] [stdout] 109 | departments [INFO] [stdout] | ^^^^^^^^^^^ expected struct `HashMap`, found mutable reference [INFO] [stdout] | [INFO] [stdout] = note: expected struct `HashMap>` [INFO] [stdout] found mutable reference `&mut HashMap>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 8 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0308`. [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "e65b741afd0a424a935793aec47cbe35935f69bf491dbddeb990dddb635e4600", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e65b741afd0a424a935793aec47cbe35935f69bf491dbddeb990dddb635e4600", kill_on_drop: false }` [INFO] [stdout] e65b741afd0a424a935793aec47cbe35935f69bf491dbddeb990dddb635e4600