[INFO] cloning repository https://github.com/victor-arutiunov/rust-basics [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/victor-arutiunov/rust-basics" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvictor-arutiunov%2Frust-basics", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvictor-arutiunov%2Frust-basics'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 8e269d8195812c192bcdfdf1dfd92536ffad4ea1 [INFO] testing victor-arutiunov/rust-basics against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvictor-arutiunov%2Frust-basics" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/victor-arutiunov/rust-basics [INFO] finished tweaking git repo https://github.com/victor-arutiunov/rust-basics [INFO] tweaked toml for git repo https://github.com/victor-arutiunov/rust-basics written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/victor-arutiunov/rust-basics on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/victor-arutiunov/rust-basics 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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d2bcbb1e8c8fc9f3256e478c2f319e133801c3b982ad2511a4c6958b361d1f60 [INFO] running `Command { std: "docker" "start" "-a" "d2bcbb1e8c8fc9f3256e478c2f319e133801c3b982ad2511a4c6958b361d1f60", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d2bcbb1e8c8fc9f3256e478c2f319e133801c3b982ad2511a4c6958b361d1f60", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d2bcbb1e8c8fc9f3256e478c2f319e133801c3b982ad2511a4c6958b361d1f60", kill_on_drop: false }` [INFO] [stdout] d2bcbb1e8c8fc9f3256e478c2f319e133801c3b982ad2511a4c6958b361d1f60 [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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d70e128dddc59e529e4598549742048e0286bc2fdd351a5c68c40d0adc329402 [INFO] running `Command { std: "docker" "start" "-a" "d70e128dddc59e529e4598549742048e0286bc2fdd351a5c68c40d0adc329402", kill_on_drop: false }` [INFO] [stderr] Compiling base_course v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: enum `Color` is never used [INFO] [stdout] --> src/bin/a28.rs:13:6 [INFO] [stdout] | [INFO] [stdout] 13 | enum Color { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `User` is never constructed [INFO] [stdout] --> src/bin/a21.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | struct User { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_user` is never used [INFO] [stdout] --> src/bin/a21.rs:18:4 [INFO] [stdout] | [INFO] [stdout] 18 | fn find_user(name: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `thiserror` [INFO] [stdout] --> src/bin/a27.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use thiserror::Error; [INFO] [stdout] | ^^^^^^^^^ use of unresolved module or unlinked crate `thiserror` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `thiserror`, use `cargo add thiserror` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `error` in this scope [INFO] [stdout] --> src/bin/a27.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | #[error("menu item not found")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `error` in this scope [INFO] [stdout] --> src/bin/a27.rs:24:7 [INFO] [stdout] | [INFO] [stdout] 24 | #[error("divide by zero error")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error to `ProgramError` [INFO] [stdout] --> src/bin/a27.rs:47:23 [INFO] [stdout] | [INFO] [stdout] 45 | fn run(step: i32) -> Result<(), ProgramError> { [INFO] [stdout] | ------------------------ expected `ProgramError` because of this [INFO] [stdout] 46 | if step == 1 { [INFO] [stdout] 47 | pick_menu("4")?; [INFO] [stdout] | --------------^ the trait `From` is not implemented for `ProgramError` [INFO] [stdout] | | [INFO] [stdout] | this can't be annotated with `?` because it has type `Result<_, MenuError>` [INFO] [stdout] | [INFO] [stdout] note: `ProgramError` needs to implement `From` [INFO] [stdout] --> src/bin/a27.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | enum ProgramError {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: alternatively, `MenuError` needs to implement `Into` [INFO] [stdout] --> src/bin/a27.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | enum MenuError { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error to `ProgramError` [INFO] [stdout] --> src/bin/a27.rs:49:21 [INFO] [stdout] | [INFO] [stdout] 45 | fn run(step: i32) -> Result<(), ProgramError> { [INFO] [stdout] | ------------------------ expected `ProgramError` because of this [INFO] [stdout] ... [INFO] [stdout] 49 | divide(1, 0)?; [INFO] [stdout] | ------------^ the trait `From` is not implemented for `ProgramError` [INFO] [stdout] | | [INFO] [stdout] | this can't be annotated with `?` because it has type `Result<_, MathError>` [INFO] [stdout] | [INFO] [stdout] note: `ProgramError` needs to implement `From` [INFO] [stdout] --> src/bin/a27.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | enum ProgramError {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: alternatively, `MathError` needs to implement `Into` [INFO] [stdout] --> src/bin/a27.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | enum MathError { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `ProgramError` doesn't implement `Debug` [INFO] [stdout] --> src/bin/a27.rs:55:22 [INFO] [stdout] | [INFO] [stdout] 55 | println!("{:?}", run(1)); [INFO] [stdout] | ---- ^^^^^^ `ProgramError` cannot be formatted using `{:?}` because it doesn't implement `Debug` [INFO] [stdout] | | [INFO] [stdout] | required by this formatting parameter [INFO] [stdout] | [INFO] [stdout] = help: the trait `Debug` is not implemented for `ProgramError` [INFO] [stdout] = note: add `#[derive(Debug)]` to `ProgramError` or manually `impl Debug for ProgramError` [INFO] [stdout] help: the trait `Debug` is implemented for `Result` [INFO] [stdout] --> /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/result.rs:552:15 [INFO] [stdout] = note: required for `Result<(), ProgramError>` to implement `Debug` [INFO] [stdout] help: consider annotating `ProgramError` with `#[derive(Debug)]` [INFO] [stdout] | [INFO] [stdout] 14 + #[derive(Debug)] [INFO] [stdout] 15 | enum ProgramError {} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `ProgramError` doesn't implement `Debug` [INFO] [stdout] --> src/bin/a27.rs:56:22 [INFO] [stdout] | [INFO] [stdout] 56 | println!("{:?}", run(2)); [INFO] [stdout] | ---- ^^^^^^ `ProgramError` cannot be formatted using `{:?}` because it doesn't implement `Debug` [INFO] [stdout] | | [INFO] [stdout] | required by this formatting parameter [INFO] [stdout] | [INFO] [stdout] = help: the trait `Debug` is not implemented for `ProgramError` [INFO] [stdout] = note: add `#[derive(Debug)]` to `ProgramError` or manually `impl Debug for ProgramError` [INFO] [stdout] help: the trait `Debug` is implemented for `Result` [INFO] [stdout] --> /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/result.rs:552:15 [INFO] [stdout] = note: required for `Result<(), ProgramError>` to implement `Debug` [INFO] [stdout] help: consider annotating `ProgramError` with `#[derive(Debug)]` [INFO] [stdout] | [INFO] [stdout] 14 + #[derive(Debug)] [INFO] [stdout] 15 | enum ProgramError {} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0432. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/bin/a24.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | let data = vec![1, 2, 3, 4, 5]; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `base_course` (bin "a27") due to 7 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] running `Command { std: "docker" "inspect" "d70e128dddc59e529e4598549742048e0286bc2fdd351a5c68c40d0adc329402", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d70e128dddc59e529e4598549742048e0286bc2fdd351a5c68c40d0adc329402", kill_on_drop: false }` [INFO] [stdout] d70e128dddc59e529e4598549742048e0286bc2fdd351a5c68c40d0adc329402