[INFO] cloning repository https://github.com/syuni/rust-by-example [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/syuni/rust-by-example" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsyuni%2Frust-by-example", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsyuni%2Frust-by-example'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b3f4cf9a5219e47165d823446a761a963ce48beb [INFO] checking syuni/rust-by-example against master#33fdb797f59421c7bbecaa4588ed5d7a31a9494a for pr-87190-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsyuni%2Frust-by-example" "/workspace/builds/worker-111/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-111/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/syuni/rust-by-example on toolchain 33fdb797f59421c7bbecaa4588ed5d7a31a9494a [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+33fdb797f59421c7bbecaa4588ed5d7a31a9494a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/syuni/rust-by-example [INFO] finished tweaking git repo https://github.com/syuni/rust-by-example [INFO] tweaked toml for git repo https://github.com/syuni/rust-by-example written to /workspace/builds/worker-111/source/Cargo.toml [INFO] crate git repo https://github.com/syuni/rust-by-example already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+33fdb797f59421c7bbecaa4588ed5d7a31a9494a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: file found to be present in multiple build targets: /workspace/builds/worker-111/source/src/8_2_4.rs [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-111/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-111/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" "+33fdb797f59421c7bbecaa4588ed5d7a31a9494a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] cba61e200e6e54bab915c3d05829c70a772f929b935639445f9e2629bc7e8454 [INFO] running `Command { std: "docker" "start" "-a" "cba61e200e6e54bab915c3d05829c70a772f929b935639445f9e2629bc7e8454", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "cba61e200e6e54bab915c3d05829c70a772f929b935639445f9e2629bc7e8454", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cba61e200e6e54bab915c3d05829c70a772f929b935639445f9e2629bc7e8454", kill_on_drop: false }` [INFO] [stdout] cba61e200e6e54bab915c3d05829c70a772f929b935639445f9e2629bc7e8454 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-111/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-111/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" "+33fdb797f59421c7bbecaa4588ed5d7a31a9494a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3e3c282b1309d354d7d8f61e8536c1e3dafe827abd261da4785a9a3452cefe4f [INFO] running `Command { std: "docker" "start" "-a" "3e3c282b1309d354d7d8f61e8536c1e3dafe827abd261da4785a9a3452cefe4f", kill_on_drop: false }` [INFO] [stderr] warning: file found to be present in multiple build targets: /opt/rustwide/workdir/src/8_2_4.rs [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Checking rust-by-example v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused label [INFO] [stdout] --> src/7_2_1.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | 'inner: loop { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_labels)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused arithmetic operation that must be used [INFO] [stdout] --> src/6.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | 2 * x; [INFO] [stdout] | ^^^^^ the arithmetic operation produces a value [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 14 | let _ = 2 * x; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/18_4_2.rs:20:70 [INFO] [stdout] | [INFO] [stdout] 20 | Err(why) => panic!("couldn't create {}: {}", display, Error::description(&why)), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/18_4_2.rs:29:20 [INFO] [stdout] | [INFO] [stdout] 29 | Error::description(&why) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected one of `!`, `(`, `...`, `..=`, `..`, `::`, `:`, `{`, or `|`, found `,` [INFO] [stdout] --> src/13_7_2.rs:10:32 [INFO] [stdout] | [INFO] [stdout] 10 | fn contains(&self, &Self::A, &Self::B) -> bool; [INFO] [stdout] | ^ expected one of 9 possible tokens [INFO] [stdout] | [INFO] [stdout] = note: anonymous parameters are removed in the 2018 edition (see RFC 1685) [INFO] [stdout] help: explicitly ignore the parameter name [INFO] [stdout] | [INFO] [stdout] 10 | fn contains(&self, _: &Self::A, &Self::B) -> bool; [INFO] [stdout] | ~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected one of `!`, `(`, `...`, `..=`, `..`, `::`, `:`, `{`, or `|`, found `)` [INFO] [stdout] --> src/13_7_2.rs:10:42 [INFO] [stdout] | [INFO] [stdout] 10 | fn contains(&self, &Self::A, &Self::B) -> bool; [INFO] [stdout] | ^ expected one of 9 possible tokens [INFO] [stdout] | [INFO] [stdout] = note: anonymous parameters are removed in the 2018 edition (see RFC 1685) [INFO] [stdout] help: explicitly ignore the parameter name [INFO] [stdout] | [INFO] [stdout] 10 | fn contains(&self, &Self::A, _: &Self::B) -> bool; [INFO] [stdout] | ~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Structure` [INFO] [stdout] --> src/1_2.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | struct Structure(i32); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `rust-by-example` due to 3 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused import: `std::iter` [INFO] [stdout] --> src/9_4.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | use std::iter; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected one of `:`, `@`, or `|`, found `,` [INFO] [stdout] --> src/13_7_1.rs:6:26 [INFO] [stdout] | [INFO] [stdout] 6 | fn contains(&self, &A, &B) -> bool; // `A`と`B`の両方を明示的に要求する [INFO] [stdout] | ^ expected one of `:`, `@`, or `|` [INFO] [stdout] | [INFO] [stdout] = note: anonymous parameters are removed in the 2018 edition (see RFC 1685) [INFO] [stdout] help: if this is a parameter name, give it a type [INFO] [stdout] | [INFO] [stdout] 6 | fn contains(&self, A: &TypeName, &B) -> bool; // `A`と`B`の両方を明示的に要求する [INFO] [stdout] | ~~~~~~~~~~~~ [INFO] [stdout] help: if this is a type, explicitly ignore the parameter name [INFO] [stdout] | [INFO] [stdout] 6 | fn contains(&self, _: &A, &B) -> bool; // `A`と`B`の両方を明示的に要求する [INFO] [stdout] | ~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `noisy_unused_function` [INFO] [stdout] --> src/12_1.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn noisy_unused_function() {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0601]: `main` function not found in crate `9_4` [INFO] [stdout] --> src/9_4.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / use std::ops::{Add, Mul, Sub}; [INFO] [stdout] 2 | | [INFO] [stdout] 3 | | macro_rules! assert_equal_len { [INFO] [stdout] 4 | | // `tt`(トークン木)識別子は演算子とトークン用の識別子です。 [INFO] [stdout] ... | [INFO] [stdout] 57 | | test!(sub_assign, 3u32, 2u32, 1u32); [INFO] [stdout] 58 | | } [INFO] [stdout] | |_^ consider adding a `main` function to `src/9_4.rs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused label [INFO] [stdout] --> src/7_2_1.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | 'inner: loop { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_labels)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected one of `:`, `@`, or `|`, found `)` [INFO] [stdout] --> src/13_7_1.rs:6:30 [INFO] [stdout] | [INFO] [stdout] 6 | fn contains(&self, &A, &B) -> bool; // `A`と`B`の両方を明示的に要求する [INFO] [stdout] | ^ expected one of `:`, `@`, or `|` [INFO] [stdout] | [INFO] [stdout] = note: anonymous parameters are removed in the 2018 edition (see RFC 1685) [INFO] [stdout] help: if this is a parameter name, give it a type [INFO] [stdout] | [INFO] [stdout] 6 | fn contains(&self, &A, B: &TypeName) -> bool; // `A`と`B`の両方を明示的に要求する [INFO] [stdout] | ~~~~~~~~~~~~ [INFO] [stdout] help: if this is a type, explicitly ignore the parameter name [INFO] [stdout] | [INFO] [stdout] 6 | fn contains(&self, &A, _: &B) -> bool; // `A`と`B`の両方を明示的に要求する [INFO] [stdout] | ~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to previous error; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0601`. [INFO] [stdout] [INFO] [stdout] error: expected one of `:`, `@`, or `|`, found `,` [INFO] [stdout] --> src/13_7_1.rs:6:26 [INFO] [stdout] | [INFO] [stdout] 6 | fn contains(&self, &A, &B) -> bool; // `A`と`B`の両方を明示的に要求する [INFO] [stdout] | ^ expected one of `:`, `@`, or `|` [INFO] [stdout] | [INFO] [stdout] = note: anonymous parameters are removed in the 2018 edition (see RFC 1685) [INFO] [stdout] help: if this is a parameter name, give it a type [INFO] [stdout] | [INFO] [stdout] 6 | fn contains(&self, A: &TypeName, &B) -> bool; // `A`と`B`の両方を明示的に要求する [INFO] [stdout] | ~~~~~~~~~~~~ [INFO] [stdout] help: if this is a type, explicitly ignore the parameter name [INFO] [stdout] | [INFO] [stdout] 6 | fn contains(&self, _: &A, &B) -> bool; // `A`と`B`の両方を明示的に要求する [INFO] [stdout] | ~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected one of `:`, `@`, or `|`, found `)` [INFO] [stdout] --> src/13_7_1.rs:6:30 [INFO] [stdout] | [INFO] [stdout] 6 | fn contains(&self, &A, &B) -> bool; // `A`と`B`の両方を明示的に要求する [INFO] [stdout] | ^ expected one of `:`, `@`, or `|` [INFO] [stdout] | [INFO] [stdout] = note: anonymous parameters are removed in the 2018 edition (see RFC 1685) [INFO] [stdout] help: if this is a parameter name, give it a type [INFO] [stdout] | [INFO] [stdout] 6 | fn contains(&self, &A, B: &TypeName) -> bool; // `A`と`B`の両方を明示的に要求する [INFO] [stdout] | ~~~~~~~~~~~~ [INFO] [stdout] help: if this is a type, explicitly ignore the parameter name [INFO] [stdout] | [INFO] [stdout] 6 | fn contains(&self, &A, _: &B) -> bool; // `A`と`B`の両方を明示的に要求する [INFO] [stdout] | ~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot pass `self` by raw pointer [INFO] [stdout] --> src/16_10.rs:39:15 [INFO] [stdout] | [INFO] [stdout] 39 | fn cause(*self) -> Option<&error::Error> { [INFO] [stdout] | ^^^^ cannot pass `self` by raw pointer [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot pass `self` by raw pointer [INFO] [stdout] --> src/16_10.rs:39:15 [INFO] [stdout] | [INFO] [stdout] 39 | fn cause(*self) -> Option<&error::Error> { [INFO] [stdout] | ^^^^ cannot pass `self` by raw pointer [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/16_10.rs:6:45 [INFO] [stdout] | [INFO] [stdout] 6 | type Result = std::result::Result>; [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/16_10.rs:39:32 [INFO] [stdout] | [INFO] [stdout] 39 | fn cause(*self) -> Option<&error::Error> { [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0106]: missing lifetime specifier [INFO] [stdout] --> src/16_10.rs:39:31 [INFO] [stdout] | [INFO] [stdout] 39 | fn cause(*self) -> Option<&error::Error> { [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 [INFO] [stdout] | [INFO] [stdout] 39 | fn cause(*self) -> Option<&'static error::Error> { [INFO] [stdout] | ~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors; 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0106`. [INFO] [stdout] [INFO] [stdout] warning: field is never read: `x` [INFO] [stdout] --> src/17_1.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | x: f64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `y` [INFO] [stdout] --> src/17_1.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | y: f64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/18_4_1.rs:14:68 [INFO] [stdout] | [INFO] [stdout] 14 | Err(why) => panic!("couldn't open {}: {}", display, Error::description(&why)), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/18_4_1.rs:21:68 [INFO] [stdout] | [INFO] [stdout] 21 | Err(why) => panic!("couldn't read {}: {}", display, Error::description(&why)), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021. [INFO] [stdout] --> src/8_2_6_2.rs:23:16 [INFO] [stdout] | [INFO] [stdout] 23 | array2.into_iter().find(|&&x| x == 2) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(array_into_iter)]` on by default [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 23 | array2.iter().find(|&&x| x == 2) [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 23 | IntoIterator::into_iter(array2).find(|&&x| x == 2) [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `function` [INFO] [stdout] --> src/10_4.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn function() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `x` [INFO] [stdout] --> src/17_1.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | x: f64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `y` [INFO] [stdout] --> src/17_1.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | y: f64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/18_5_1.rs:14:60 [INFO] [stdout] | [INFO] [stdout] 14 | Err(why) => panic!("couldn't spawn wc: {}", Error::description(&why)), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `display` [INFO] [stdout] --> src/18_3.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | let display = path.display(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_display` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/18_5_1.rs:23:69 [INFO] [stdout] | [INFO] [stdout] 23 | Err(why) => panic!("couldn't write to wc stdin: {}", Error::description(&why)), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/18_5_1.rs:31:66 [INFO] [stdout] | [INFO] [stdout] 31 | Err(why) => panic!("couldn't read wc stdout: {}", Error::description(&why)), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/18_4_1.rs:14:68 [INFO] [stdout] | [INFO] [stdout] 14 | Err(why) => panic!("couldn't open {}: {}", display, Error::description(&why)), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/18_4_1.rs:21:68 [INFO] [stdout] | [INFO] [stdout] 21 | Err(why) => panic!("couldn't read {}: {}", display, Error::description(&why)), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/16_10.rs:6:45 [INFO] [stdout] | [INFO] [stdout] 6 | type Result = std::result::Result>; [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/16_10.rs:39:32 [INFO] [stdout] | [INFO] [stdout] 39 | fn cause(*self) -> Option<&error::Error> { [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0106]: missing lifetime specifier [INFO] [stdout] --> src/16_10.rs:39:31 [INFO] [stdout] | [INFO] [stdout] 39 | fn cause(*self) -> Option<&error::Error> { [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 [INFO] [stdout] | [INFO] [stdout] 39 | fn cause(*self) -> Option<&'static error::Error> { [INFO] [stdout] | ~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors; 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0106`. [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `noisy_unused_function` [INFO] [stdout] --> src/12_1.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn noisy_unused_function() {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "3e3c282b1309d354d7d8f61e8536c1e3dafe827abd261da4785a9a3452cefe4f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3e3c282b1309d354d7d8f61e8536c1e3dafe827abd261da4785a9a3452cefe4f", kill_on_drop: false }` [INFO] [stdout] 3e3c282b1309d354d7d8f61e8536c1e3dafe827abd261da4785a9a3452cefe4f