[INFO] fetching crate tao-of-rust 1.0.2... [INFO] testing tao-of-rust-1.0.2 against try#b83b707f97d809763b7861afa7638871f3339a33 for pr-145838-1 [INFO] extracting crate tao-of-rust 1.0.2 into /workspace/builds/worker-6-tc2/source [INFO] started tweaking crates.io crate tao-of-rust 1.0.2 [INFO] finished tweaking crates.io crate tao-of-rust 1.0.2 [INFO] tweaked toml for crates.io crate tao-of-rust 1.0.2 written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate tao-of-rust 1.0.2 on toolchain b83b707f97d809763b7861afa7638871f3339a33 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 49 packages to latest compatible versions [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 462d18e110c21c8cf53a852d7657cf72162377707dbff957d0df46069d03ce5e [INFO] running `Command { std: "docker" "start" "-a" "462d18e110c21c8cf53a852d7657cf72162377707dbff957d0df46069d03ce5e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "462d18e110c21c8cf53a852d7657cf72162377707dbff957d0df46069d03ce5e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "462d18e110c21c8cf53a852d7657cf72162377707dbff957d0df46069d03ce5e", kill_on_drop: false }` [INFO] [stdout] 462d18e110c21c8cf53a852d7657cf72162377707dbff957d0df46069d03ce5e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b01b12634c72adb7f914d1aaf632e842df80b82b94e1e3ee85ed9ab0cd460ab9 [INFO] running `Command { std: "docker" "start" "-a" "b01b12634c72adb7f914d1aaf632e842df80b82b94e1e3ee85ed9ab0cd460ab9", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling clap v2.34.0 [INFO] [stderr] Compiling heck v0.3.3 [INFO] [stderr] Compiling object v0.36.7 [INFO] [stderr] Compiling structopt-derive v0.2.18 [INFO] [stderr] Compiling structopt v0.2.18 [INFO] [stderr] Compiling csv_challenge v0.1.0 [INFO] [stderr] Compiling backtrace v0.3.75 [INFO] [stderr] Compiling failure v0.1.8 [INFO] [stderr] Compiling failures_crate v0.1.0 [INFO] [stderr] Compiling tao-of-rust v1.0.2 (/opt/rustwide/workdir) [INFO] [stdout] error[E0557]: feature has been removed [INFO] [stdout] --> src/lib.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(const_fn)] [INFO] [stdout] | ^^^^^^^^ feature has been removed [INFO] [stdout] | [INFO] [stdout] = note: removed in 1.54.0; see for more information [INFO] [stdout] = note: split into finer-grained feature gates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes [INFO] [stdout] --> src/lib.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | #![feature(specialization)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #31844 for more information [INFO] [stdout] = help: consider using `min_specialization` instead, which is more stable and complete [INFO] [stdout] = note: `#[warn(incomplete_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: denote infinite loops with `loop { ... }` [INFO] [stdout] --> src/ch02/control_flow.rs:152:5 [INFO] [stdout] | [INFO] [stdout] 152 | while true { [INFO] [stdout] | ^^^^^^^^^^ help: use `loop` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(while_true)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/ch02/control_flow.rs:199:10 [INFO] [stdout] | [INFO] [stdout] 199 | 1...3 => println!("All"), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/ch02/primitives.rs:170:14 [INFO] [stdout] | [INFO] [stdout] 170 | for i in (1..5) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 170 - for i in (1..5) { [INFO] [stdout] 170 + for i in 1..5 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/ch02/primitives.rs:173:14 [INFO] [stdout] | [INFO] [stdout] 173 | for i in (1..=5) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 173 - for i in (1..=5) { [INFO] [stdout] 173 + for i in 1..=5 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/ch02/structs.rs:58:23 [INFO] [stdout] | [INFO] [stdout] 58 | let gender = if (self.gender == 1) {"boy"} else {"girl"}; [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 58 - let gender = if (self.gender == 1) {"boy"} else {"girl"}; [INFO] [stdout] 58 + let gender = if self.gender == 1 {"boy"} else {"girl"}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: crate-level attribute should be in the root module [INFO] [stdout] --> src/ch06/closures.rs:124:5 [INFO] [stdout] | [INFO] [stdout] 124 | #![feature(unboxed_closures, fn_traits)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ch01/mod.rs:106:20 [INFO] [stdout] | [INFO] [stdout] 106 | pub fn fly_dyn(s: &Fly) -> bool { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 106 | pub fn fly_dyn(s: &dyn Fly) -> bool { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ch02/function.rs:188:27 [INFO] [stdout] | [INFO] [stdout] 188 | pub fn two_times() -> Box i32> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 188 | pub fn two_times() -> Box i32> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ch03/abstract_type.rs:36:29 [INFO] [stdout] | [INFO] [stdout] 36 | fn dynamic_dispatch(t: &Bar) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 36 | fn dynamic_dispatch(t: &dyn Bar) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0520]: `swim` specializes an item from a parent `impl`, but that item is not marked `default` [INFO] [stdout] --> src/ch03/trait_limit.rs:157:9 [INFO] [stdout] | [INFO] [stdout] 154 | impl Swimmer for Diver {} [INFO] [stdout] | ---------------------------- parent `impl` is here [INFO] [stdout] ... [INFO] [stdout] 157 | fn swim(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ cannot specialize default item `swim` [INFO] [stdout] | [INFO] [stdout] = note: to specialize, `swim` in the parent `impl` must be marked `default` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ch06/closures.rs:48:31 [INFO] [stdout] | [INFO] [stdout] 48 | fn counter(i: i32) -> Box i32> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 48 | fn counter(i: i32) -> Box i32> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ch06/closures.rs:512:38 [INFO] [stdout] | [INFO] [stdout] 512 | fn boxed_closure(c: &mut Vec>){ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 512 | fn boxed_closure(c: &mut Vec>){ [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ch06/closures.rs:638:19 [INFO] [stdout] | [INFO] [stdout] 638 | fn bar(b: Box DoSomething<&'f usize>>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 638 | fn bar(b: Box DoSomething<&'f usize>>) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ch06/closures.rs:519:28 [INFO] [stdout] | [INFO] [stdout] 519 | let mut c: Vec> = vec![]; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 519 | let mut c: Vec> = vec![]; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/ch02/binding.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | let a = 1; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `b` is assigned to, but never used [INFO] [stdout] --> src/ch02/binding.rs:33:13 [INFO] [stdout] | [INFO] [stdout] 33 | let mut b = 2; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_b` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `b` is never read [INFO] [stdout] --> src/ch02/binding.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | b = 3; // mutable [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v2` [INFO] [stdout] --> src/ch02/collections.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | let mut v2 = vec![0; 10]; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ch02/collections.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | let mut v2 = vec![0; 10]; [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/ch02/primitives.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | let x = true; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num` [INFO] [stdout] --> src/ch02/primitives.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | let num = 42u32; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_num` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num` [INFO] [stdout] --> src/ch02/primitives.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | let num: u32 = 42; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_num` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num` [INFO] [stdout] --> src/ch02/primitives.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | let num = 0x2A; // 16进制 [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_num` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num` [INFO] [stdout] --> src/ch02/primitives.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | let num = 0o106; // 8进制 [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_num` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num` [INFO] [stdout] --> src/ch02/primitives.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | let num = 0b1101_1011; // 2进制 [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_num` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num` [INFO] [stdout] --> src/ch02/primitives.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 59 | let num = 3.1415926f64; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_num` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/ch02/primitives.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | let x = 'r'; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/ch02/primitives.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | let x = 'Ú'; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arr` [INFO] [stdout] --> src/ch02/primitives.rs:128:9 [INFO] [stdout] | [INFO] [stdout] 128 | let arr: [i32; 3] = [1, 2, 3]; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_arr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/ch02/primitives.rs:350:9 [INFO] [stdout] | [INFO] [stdout] 350 | let x: ! = { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/ch03/traits.rs:246:28 [INFO] [stdout] | [INFO] [stdout] 246 | fn set_page(&self, p: i32){ [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num` [INFO] [stdout] --> src/ch03/traits.rs:251:31 [INFO] [stdout] | [INFO] [stdout] 251 | fn set_perpage(&self, num: i32){ [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_num` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/ch03/tag_trait.rs:53:27 [INFO] [stdout] | [INFO] [stdout] 53 | fn test_copy(i: T) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/ch03/type_cast.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | let y = x.clone(); // Rc<&str> [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `z` [INFO] [stdout] --> src/ch03/type_cast.rs:72:9 [INFO] [stdout] | [INFO] [stdout] 72 | let z = (*x).clone(); // &str [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_z` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/ch04/general_concepts.rs:18:13 [INFO] [stdout] | [INFO] [stdout] 18 | let y = x; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `z` [INFO] [stdout] --> src/ch04/general_concepts.rs:19:13 [INFO] [stdout] | [INFO] [stdout] 19 | let z = 100; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_z` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/ch04/raii.rs:14:13 [INFO] [stdout] | [INFO] [stdout] 14 | let s = String::from("hello"); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/ch04/raii.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | let v = vec![1,2,3]; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stolen` [INFO] [stdout] --> src/ch05/semantic.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | let stolen = orig; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stolen` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/ch05/semantic.rs:113:13 [INFO] [stdout] | [INFO] [stdout] 113 | let b = a; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/ch05/share_mutable.rs:22:13 [INFO] [stdout] | [INFO] [stdout] 22 | let x = "hello".to_string(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/ch05/share_mutable.rs:133:13 [INFO] [stdout] | [INFO] [stdout] 133 | let a = "hello"; // -------scope a-------+ [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/ch05/share_mutable.rs:134:13 [INFO] [stdout] | [INFO] [stdout] 134 | let b = "rust"; // -----scope b------+ | [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `d` [INFO] [stdout] --> src/ch05/share_mutable.rs:136:13 [INFO] [stdout] | [INFO] [stdout] 136 | let d = c; // - scope d --- | | | [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_d` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `tao-of-rust` (lib) due to 2 previous errors; 48 warnings emitted [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/ch06/closures.rs:130:47 [INFO] [stdout] | [INFO] [stdout] 130 | extern "rust-call" fn call_once(self, args: ()) -> u32 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/ch06/closures.rs:136:51 [INFO] [stdout] | [INFO] [stdout] 136 | extern "rust-call" fn call_mut(&mut self, args: ()) -> u32 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/ch06/closures.rs:142:43 [INFO] [stdout] | [INFO] [stdout] 142 | extern "rust-call" fn call(&self, args: ()) -> u32 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0520, E0557. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0520`. [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "b01b12634c72adb7f914d1aaf632e842df80b82b94e1e3ee85ed9ab0cd460ab9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b01b12634c72adb7f914d1aaf632e842df80b82b94e1e3ee85ed9ab0cd460ab9", kill_on_drop: false }` [INFO] [stdout] b01b12634c72adb7f914d1aaf632e842df80b82b94e1e3ee85ed9ab0cd460ab9