[INFO] cloning repository https://github.com/OreAkintobi/rust-learning [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/OreAkintobi/rust-learning" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOreAkintobi%2Frust-learning", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOreAkintobi%2Frust-learning'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 7e916ff048f51d2a73e84fdf5b06ca01280dfab5 [INFO] checking OreAkintobi/rust-learning against try#f3d95de532264a1215023baa665c0028aecf74b1 for pr-148477 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOreAkintobi%2Frust-learning" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/OreAkintobi/rust-learning [INFO] finished tweaking git repo https://github.com/OreAkintobi/rust-learning [INFO] tweaked toml for git repo https://github.com/OreAkintobi/rust-learning written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/OreAkintobi/rust-learning on toolchain f3d95de532264a1215023baa665c0028aecf74b1 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f3d95de532264a1215023baa665c0028aecf74b1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/OreAkintobi/rust-learning 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" "+f3d95de532264a1215023baa665c0028aecf74b1" "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-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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" "+f3d95de532264a1215023baa665c0028aecf74b1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1bfc8fd602ad7f63febbc528df82f0111472755db40554002dfd55f0f27f3ef9 [INFO] running `Command { std: "docker" "start" "-a" "1bfc8fd602ad7f63febbc528df82f0111472755db40554002dfd55f0f27f3ef9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1bfc8fd602ad7f63febbc528df82f0111472755db40554002dfd55f0f27f3ef9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1bfc8fd602ad7f63febbc528df82f0111472755db40554002dfd55f0f27f3ef9", kill_on_drop: false }` [INFO] [stdout] 1bfc8fd602ad7f63febbc528df82f0111472755db40554002dfd55f0f27f3ef9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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" "+f3d95de532264a1215023baa665c0028aecf74b1" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f308660a62c0c410812d59edbe615a518fb5a866e41198de822d4b1df6efa3c1 [INFO] running `Command { std: "docker" "start" "-a" "f308660a62c0c410812d59edbe615a518fb5a866e41198de822d4b1df6efa3c1", kill_on_drop: false }` [INFO] [stderr] Checking activities v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0432]: unresolved import `structopt` [INFO] [stdout] --> src/bin/p2-example.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | use structopt::StructOpt; [INFO] [stdout] | ^^^^^^^^^ use of unresolved module or unlinked crate `structopt` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `structopt`, use `cargo add structopt` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `thiserror` [INFO] [stdout] --> src/bin/p2-example.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | 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] 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: cannot find attribute `error` in this scope [INFO] [stdout] --> src/bin/p2-example.rs:125:7 [INFO] [stdout] | [INFO] [stdout] 125 | #[error("id must be a number: {0}")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `from` in this scope [INFO] [stdout] --> src/bin/p2-example.rs:126:17 [INFO] [stdout] | [INFO] [stdout] 126 | InvalidId(#[from] std::num::ParseIntError), [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `error` in this scope [INFO] [stdout] --> src/bin/p2-example.rs:127:7 [INFO] [stdout] | [INFO] [stdout] 127 | #[error("empty record")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `error` in this scope [INFO] [stdout] --> src/bin/p2-example.rs:129:7 [INFO] [stdout] | [INFO] [stdout] 129 | #[error("missing field: {0}")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `structopt` in this scope [INFO] [stdout] --> src/bin/p2-example.rs:259:3 [INFO] [stdout] | [INFO] [stdout] 259 | #[structopt(about = "project 2: contact manager")] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `structopt` in this scope [INFO] [stdout] --> src/bin/p2-example.rs:261:7 [INFO] [stdout] | [INFO] [stdout] 261 | #[structopt(short, parse(from_os_str), default_value = "p2_data.csv")] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `structopt` in this scope [INFO] [stdout] --> src/bin/p2-example.rs:263:7 [INFO] [stdout] | [INFO] [stdout] 263 | #[structopt(subcommand)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `structopt` in this scope [INFO] [stdout] --> src/bin/p2-example.rs:265:7 [INFO] [stdout] | [INFO] [stdout] 265 | #[structopt(short, help = "verbose")] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `structopt` in this scope [INFO] [stdout] --> src/bin/p2-example.rs:273:11 [INFO] [stdout] | [INFO] [stdout] 273 | #[structopt(short)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `structopt` in this scope [INFO] [stdout] --> src/bin/p2-example.rs:279:11 [INFO] [stdout] | [INFO] [stdout] 279 | #[structopt(short)] [INFO] [stdout] | ^^^^^^^^^ [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] warning: function `clamp` is never used [INFO] [stdout] --> src/bin/a22.rs:14:4 [INFO] [stdout] | [INFO] [stdout] 14 | fn clamp(n: i32, lower: i32, upper: i32) -> i32 { [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 `div` is never used [INFO] [stdout] --> src/bin/a22.rs:25:4 [INFO] [stdout] | [INFO] [stdout] 25 | fn div(a: i32, b: i32) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `concat` is never used [INFO] [stdout] --> src/bin/a22.rs:30:4 [INFO] [stdout] | [INFO] [stdout] 30 | fn concat(first: &str, second: &str) -> String { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error to `ParseError` [INFO] [stdout] --> src/bin/p2-example.rs:149:48 [INFO] [stdout] | [INFO] [stdout] 134 | fn parse_record(record: &str) -> Result { [INFO] [stdout] | -------------------------- expected `ParseError` because of this [INFO] [stdout] ... [INFO] [stdout] 149 | Some(id) => i64::from_str_radix(id, 10)?, [INFO] [stdout] | ---------------------------^ the trait `From` is not implemented for `ParseError` [INFO] [stdout] | | [INFO] [stdout] | this can't be annotated with `?` because it has type `Result<_, ParseIntError>` [INFO] [stdout] | [INFO] [stdout] note: `ParseError` needs to implement `From` [INFO] [stdout] --> src/bin/p2-example.rs:124:1 [INFO] [stdout] | [INFO] [stdout] 124 | enum ParseError { [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]: `ParseError` doesn't implement `std::fmt::Display` [INFO] [stdout] --> src/bin/p2-example.rs:196:29 [INFO] [stdout] | [INFO] [stdout] 194 | ... "error on line number {}: {}\n > \"{}\"\n", [INFO] [stdout] | -- required by this formatting parameter [INFO] [stdout] 195 | ... num + 1, [INFO] [stdout] 196 | ... e, [INFO] [stdout] | ^ `ParseError` cannot be formatted with the default formatter [INFO] [stdout] | [INFO] [stdout] help: the trait `std::fmt::Display` is not implemented for `ParseError` [INFO] [stdout] --> src/bin/p2-example.rs:124:1 [INFO] [stdout] | [INFO] [stdout] 124 | enum ParseError { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead [INFO] [stdout] = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `from_args` found for struct `Opt` in the current scope [INFO] [stdout] --> src/bin/p2-example.rs:340:20 [INFO] [stdout] | [INFO] [stdout] 260 | struct Opt { [INFO] [stdout] | ---------- function or associated item `from_args` not found for this struct [INFO] [stdout] ... [INFO] [stdout] 340 | let opt = Opt::from_args(); [INFO] [stdout] | ^^^^^^^^^ function or associated item not found in `Opt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `structopt` [INFO] [stdout] --> src/bin/p2-example.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | use structopt::StructOpt; [INFO] [stdout] | ^^^^^^^^^ use of unresolved module or unlinked crate `structopt` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `structopt`, use `cargo add structopt` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `thiserror` [INFO] [stdout] --> src/bin/p2-example.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | 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/p2-example.rs:125:7 [INFO] [stdout] | [INFO] [stdout] 125 | #[error("id must be a number: {0}")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `from` in this scope [INFO] [stdout] --> src/bin/p2-example.rs:126:17 [INFO] [stdout] | [INFO] [stdout] 126 | InvalidId(#[from] std::num::ParseIntError), [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `error` in this scope [INFO] [stdout] --> src/bin/p2-example.rs:127:7 [INFO] [stdout] | [INFO] [stdout] 127 | #[error("empty record")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `error` in this scope [INFO] [stdout] --> src/bin/p2-example.rs:129:7 [INFO] [stdout] | [INFO] [stdout] 129 | #[error("missing field: {0}")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `structopt` in this scope [INFO] [stdout] --> src/bin/p2-example.rs:259:3 [INFO] [stdout] | [INFO] [stdout] 259 | #[structopt(about = "project 2: contact manager")] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `structopt` in this scope [INFO] [stdout] --> src/bin/p2-example.rs:261:7 [INFO] [stdout] | [INFO] [stdout] 261 | #[structopt(short, parse(from_os_str), default_value = "p2_data.csv")] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `structopt` in this scope [INFO] [stdout] --> src/bin/p2-example.rs:263:7 [INFO] [stdout] | [INFO] [stdout] 263 | #[structopt(subcommand)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0432, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `structopt` in this scope [INFO] [stdout] --> src/bin/p2-example.rs:265:7 [INFO] [stdout] | [INFO] [stdout] 265 | #[structopt(short, help = "verbose")] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `structopt` in this scope [INFO] [stdout] --> src/bin/p2-example.rs:273:11 [INFO] [stdout] | [INFO] [stdout] 273 | #[structopt(short)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `structopt` in this scope [INFO] [stdout] --> src/bin/p2-example.rs:279:11 [INFO] [stdout] | [INFO] [stdout] 279 | #[structopt(short)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `activities` (bin "p2-example" test) due to 15 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0277]: `?` couldn't convert the error to `ParseError` [INFO] [stdout] --> src/bin/p2-example.rs:149:48 [INFO] [stdout] | [INFO] [stdout] 134 | fn parse_record(record: &str) -> Result { [INFO] [stdout] | -------------------------- expected `ParseError` because of this [INFO] [stdout] ... [INFO] [stdout] 149 | Some(id) => i64::from_str_radix(id, 10)?, [INFO] [stdout] | ---------------------------^ the trait `From` is not implemented for `ParseError` [INFO] [stdout] | | [INFO] [stdout] | this can't be annotated with `?` because it has type `Result<_, ParseIntError>` [INFO] [stdout] | [INFO] [stdout] note: `ParseError` needs to implement `From` [INFO] [stdout] --> src/bin/p2-example.rs:124:1 [INFO] [stdout] | [INFO] [stdout] 124 | enum ParseError { [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]: `ParseError` doesn't implement `std::fmt::Display` [INFO] [stdout] --> src/bin/p2-example.rs:196:29 [INFO] [stdout] | [INFO] [stdout] 194 | ... "error on line number {}: {}\n > \"{}\"\n", [INFO] [stdout] | -- required by this formatting parameter [INFO] [stdout] 195 | ... num + 1, [INFO] [stdout] 196 | ... e, [INFO] [stdout] | ^ `ParseError` cannot be formatted with the default formatter [INFO] [stdout] | [INFO] [stdout] help: the trait `std::fmt::Display` is not implemented for `ParseError` [INFO] [stdout] --> src/bin/p2-example.rs:124:1 [INFO] [stdout] | [INFO] [stdout] 124 | enum ParseError { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead [INFO] [stdout] = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [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] [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[E0599]: no function or associated item named `from_args` found for struct `Opt` in the current scope [INFO] [stdout] --> src/bin/p2-example.rs:340:20 [INFO] [stdout] | [INFO] [stdout] 260 | struct Opt { [INFO] [stdout] | ---------- function or associated item `from_args` not found for this struct [INFO] [stdout] ... [INFO] [stdout] 340 | let opt = Opt::from_args(); [INFO] [stdout] | ^^^^^^^^^ function or associated item not found in `Opt` [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] Some errors have detailed explanations: E0277, E0432, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [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/f3d95de532264a1215023baa665c0028aecf74b1/library/core/src/result.rs:552:16 [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/f3d95de532264a1215023baa665c0028aecf74b1/library/core/src/result.rs:552:16 [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] [stderr] error: could not compile `activities` (bin "p2-example") due to 15 previous errors [INFO] [stderr] error: could not compile `activities` (bin "a27" test) due to 7 previous errors [INFO] running `Command { std: "docker" "inspect" "f308660a62c0c410812d59edbe615a518fb5a866e41198de822d4b1df6efa3c1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f308660a62c0c410812d59edbe615a518fb5a866e41198de822d4b1df6efa3c1", kill_on_drop: false }` [INFO] [stdout] f308660a62c0c410812d59edbe615a518fb5a866e41198de822d4b1df6efa3c1