[INFO] cloning repository https://github.com/mikeleppane/Crust-of-Rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mikeleppane/Crust-of-Rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmikeleppane%2FCrust-of-Rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmikeleppane%2FCrust-of-Rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b4e5a00ce068794a2fef0b86a454ab48e44f4764 [INFO] testing mikeleppane/Crust-of-Rust against master#caccb4d0368bd918ef6668af8e13834d07040417 for pr-146098-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmikeleppane%2FCrust-of-Rust" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/mikeleppane/Crust-of-Rust [INFO] finished tweaking git repo https://github.com/mikeleppane/Crust-of-Rust [INFO] tweaked toml for git repo https://github.com/mikeleppane/Crust-of-Rust written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/mikeleppane/Crust-of-Rust on toolchain caccb4d0368bd918ef6668af8e13834d07040417 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+caccb4d0368bd918ef6668af8e13834d07040417" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/mikeleppane/Crust-of-Rust 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" "+caccb4d0368bd918ef6668af8e13834d07040417" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded proc-macro2 v1.0.50 [INFO] [stderr] Downloaded output_vt100 v0.1.3 [INFO] [stderr] Downloaded pretty_assertions v1.3.0 [INFO] [stderr] Downloaded syn v1.0.107 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+caccb4d0368bd918ef6668af8e13834d07040417" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5452e8f4daa9b9c18f8bda4af9fc70807c4bcbab2e20b6982d37aa437dbfbc96 [INFO] running `Command { std: "docker" "start" "-a" "5452e8f4daa9b9c18f8bda4af9fc70807c4bcbab2e20b6982d37aa437dbfbc96", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5452e8f4daa9b9c18f8bda4af9fc70807c4bcbab2e20b6982d37aa437dbfbc96", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5452e8f4daa9b9c18f8bda4af9fc70807c4bcbab2e20b6982d37aa437dbfbc96", kill_on_drop: false }` [INFO] [stdout] 5452e8f4daa9b9c18f8bda4af9fc70807c4bcbab2e20b6982d37aa437dbfbc96 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+caccb4d0368bd918ef6668af8e13834d07040417" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 57e732ed00e92c0e5e62bb51797d6bf0e34f3d1086a7d0e4644602eebadd80c6 [INFO] running `Command { std: "docker" "start" "-a" "57e732ed00e92c0e5e62bb51797d6bf0e34f3d1086a7d0e4644602eebadd80c6", kill_on_drop: false }` [INFO] [stderr] Compiling yansi v0.5.1 [INFO] [stderr] Compiling pretty_assertions v1.3.0 [INFO] [stderr] Compiling crust-of-rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: constant `LOCKED` is never used [INFO] [stdout] --> src/atomics_and_memory_ordering/atomics.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const LOCKED: bool = true; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNLOCKED` is never used [INFO] [stdout] --> src/atomics_and_memory_ordering/atomics.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const UNLOCKED: bool = false; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MyMutex` is never constructed [INFO] [stdout] --> src/atomics_and_memory_ordering/atomics.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct MyMutex { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `with_lock` are never used [INFO] [stdout] --> src/atomics_and_memory_ordering/atomics.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl MyMutex { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 15 | pub fn new(t: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | fn with_lock(&self, f: impl FnOnce(&mut T) -> R) -> R { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Sender` is never constructed [INFO] [stdout] --> src/channels/panama.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Sender { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `send` is never used [INFO] [stdout] --> src/channels/panama.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl Sender { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 33 | pub fn send(&mut self, t: T) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Receiver` is never constructed [INFO] [stdout] --> src/channels/panama.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | pub struct Receiver { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `recv` is never used [INFO] [stdout] --> src/channels/panama.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 46 | impl Receiver { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] 47 | pub fn recv(&mut self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Inner` is never constructed [INFO] [stdout] --> src/channels/panama.rs:77:12 [INFO] [stdout] | [INFO] [stdout] 77 | pub struct Inner { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Shared` is never constructed [INFO] [stdout] --> src/channels/panama.rs:82:12 [INFO] [stdout] | [INFO] [stdout] 82 | pub struct Shared { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `channel` is never used [INFO] [stdout] --> src/channels/panama.rs:87:8 [INFO] [stdout] | [INFO] [stdout] 87 | pub fn channel() -> (Sender, Receiver) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Hei` is never used [INFO] [stdout] --> src/dispatch_and_fat_pointers/main.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait Hei { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `strlen` is never used [INFO] [stdout] --> src/dispatch_and_fat_pointers/main.rs:31:4 [INFO] [stdout] | [INFO] [stdout] 31 | fn strlen(s: impl AsRef) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `strlen_dyn` is never used [INFO] [stdout] --> src/dispatch_and_fat_pointers/main.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn strlen_dyn(s: Box>) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bool_then` is never used [INFO] [stdout] --> src/dispatch_and_fat_pointers/main.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn bool_then(b: bool, f: impl FnOnce() -> T) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `HeiAsRef` is never used [INFO] [stdout] --> src/dispatch_and_fat_pointers/main.rs:47:11 [INFO] [stdout] | [INFO] [stdout] 47 | pub trait HeiAsRef: Hei + AsRef {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `baz` is never used [INFO] [stdout] --> src/dispatch_and_fat_pointers/main.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn baz(s: &dyn HeiAsRef) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `slice_of_trait_object` is never used [INFO] [stdout] --> src/dispatch_and_fat_pointers/main.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn slice_of_trait_object(v: &[&dyn AsRef]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `main` is never used [INFO] [stdout] --> src/dispatch_and_fat_pointers/main.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn main() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Boks` is never constructed [INFO] [stdout] --> src/drop_check/boks.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct Boks { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `ny` is never used [INFO] [stdout] --> src/drop_check/boks.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl Boks { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 32 | pub fn ny(t: T) -> Self { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `IteratorExt` is never used [INFO] [stdout] --> src/iterators/iterator.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait IteratorExt: Iterator + Sized { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Flatten` is never constructed [INFO] [stdout] --> src/iterators/iterator.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct Flatten [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/iterators/iterator.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 29 | / impl Flatten [INFO] [stdout] 30 | | where [INFO] [stdout] 31 | | O: Iterator, [INFO] [stdout] 32 | | O::Item: IntoIterator, [INFO] [stdout] | |__________________________- associated function in this implementation [INFO] [stdout] 33 | { [INFO] [stdout] 34 | fn new(iter: O) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `flatten` is never used [INFO] [stdout] --> src/iterators/iterator.rs:91:8 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn flatten(iter: I) -> Flatten [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `strtok` is never used [INFO] [stdout] --> src/subtyping_and_variance/strtok.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn strtok<'a>(s: &'_ mut &'a str, delimiter: char) -> &'a str { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `core::str::::len` that must be used [INFO] [stdout] --> src/dispatch_and_fat_pointers/main.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | s.len(); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 52 | let _ = s.len(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary allocation, use `&` instead [INFO] [stdout] --> src/dispatch_and_fat_pointers/main.rs:66:29 [INFO] [stdout] | [INFO] [stdout] 66 | slice_of_trait_object(&[Box::new("hello").as_ref()]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_allocation)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stdout] --> src/drop_check/boks.rs:10:18 [INFO] [stdout] | [INFO] [stdout] 10 | unsafe { Box::from_raw(self.p) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 10 | unsafe { let _ = Box::from_raw(self.p); }; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/smart_pointers_and_interior_mutability/rc.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | drop(inner); [INFO] [stdout] | ^^^^^-----^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&RcInner` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_references)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 64 - drop(inner); [INFO] [stdout] 64 + let _ = inner; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/smart_pointers_and_interior_mutability/refcell.rs:26:19 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn borrow(&self) -> Option> { [INFO] [stdout] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 26 | pub fn borrow(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/smart_pointers_and_interior_mutability/refcell.rs:40:23 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn borrow_mut(&self) -> Option> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 40 | pub fn borrow_mut(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.61s [INFO] running `Command { std: "docker" "inspect" "57e732ed00e92c0e5e62bb51797d6bf0e34f3d1086a7d0e4644602eebadd80c6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "57e732ed00e92c0e5e62bb51797d6bf0e34f3d1086a7d0e4644602eebadd80c6", kill_on_drop: false }` [INFO] [stdout] 57e732ed00e92c0e5e62bb51797d6bf0e34f3d1086a7d0e4644602eebadd80c6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+caccb4d0368bd918ef6668af8e13834d07040417" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] de4e973a6027a9bbb18dc0f25b1c2e193bdc8a8a03b81fed7f5a526b3c8fa46a [INFO] running `Command { std: "docker" "start" "-a" "de4e973a6027a9bbb18dc0f25b1c2e193bdc8a8a03b81fed7f5a526b3c8fa46a", kill_on_drop: false }` [INFO] [stderr] Compiling crust-of-rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `pretty_assertions::assert_eq` [INFO] [stdout] --> src/drop_check/boks.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | use pretty_assertions::assert_eq; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `boks` [INFO] [stdout] --> src/drop_check/boks.rs:52:13 [INFO] [stdout] | [INFO] [stdout] 52 | let boks = Boks::ny(&mut y); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_boks` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Hei` is never used [INFO] [stdout] --> src/dispatch_and_fat_pointers/main.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait Hei { [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 `strlen` is never used [INFO] [stdout] --> src/dispatch_and_fat_pointers/main.rs:31:4 [INFO] [stdout] | [INFO] [stdout] 31 | fn strlen(s: impl AsRef) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `strlen_dyn` is never used [INFO] [stdout] --> src/dispatch_and_fat_pointers/main.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn strlen_dyn(s: Box>) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bool_then` is never used [INFO] [stdout] --> src/dispatch_and_fat_pointers/main.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn bool_then(b: bool, f: impl FnOnce() -> T) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `HeiAsRef` is never used [INFO] [stdout] --> src/dispatch_and_fat_pointers/main.rs:47:11 [INFO] [stdout] | [INFO] [stdout] 47 | pub trait HeiAsRef: Hei + AsRef {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `baz` is never used [INFO] [stdout] --> src/dispatch_and_fat_pointers/main.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn baz(s: &dyn HeiAsRef) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `slice_of_trait_object` is never used [INFO] [stdout] --> src/dispatch_and_fat_pointers/main.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn slice_of_trait_object(v: &[&dyn AsRef]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `main` is never used [INFO] [stdout] --> src/dispatch_and_fat_pointers/main.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn main() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `IteratorExt` is never used [INFO] [stdout] --> src/iterators/iterator.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait IteratorExt: Iterator + Sized { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `core::str::::len` that must be used [INFO] [stdout] --> src/dispatch_and_fat_pointers/main.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | s.len(); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 52 | let _ = s.len(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary allocation, use `&` instead [INFO] [stdout] --> src/dispatch_and_fat_pointers/main.rs:66:29 [INFO] [stdout] | [INFO] [stdout] 66 | slice_of_trait_object(&[Box::new("hello").as_ref()]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_allocation)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stdout] --> src/drop_check/boks.rs:10:18 [INFO] [stdout] | [INFO] [stdout] 10 | unsafe { Box::from_raw(self.p) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 10 | unsafe { let _ = Box::from_raw(self.p); }; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/smart_pointers_and_interior_mutability/rc.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | drop(inner); [INFO] [stdout] | ^^^^^-----^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&RcInner` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_references)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 64 - drop(inner); [INFO] [stdout] 64 + let _ = inner; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/smart_pointers_and_interior_mutability/refcell.rs:26:19 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn borrow(&self) -> Option> { [INFO] [stdout] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 26 | pub fn borrow(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/smart_pointers_and_interior_mutability/refcell.rs:40:23 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn borrow_mut(&self) -> Option> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 40 | pub fn borrow_mut(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.74s [INFO] running `Command { std: "docker" "inspect" "de4e973a6027a9bbb18dc0f25b1c2e193bdc8a8a03b81fed7f5a526b3c8fa46a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "de4e973a6027a9bbb18dc0f25b1c2e193bdc8a8a03b81fed7f5a526b3c8fa46a", kill_on_drop: false }` [INFO] [stdout] de4e973a6027a9bbb18dc0f25b1c2e193bdc8a8a03b81fed7f5a526b3c8fa46a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+caccb4d0368bd918ef6668af8e13834d07040417" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] b0f0ddad4d14eca516fb2d5eff6756c7acc5e6793f160f9dc604f773529bfcbd [INFO] running `Command { std: "docker" "start" "-a" "b0f0ddad4d14eca516fb2d5eff6756c7acc5e6793f160f9dc604f773529bfcbd", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `pretty_assertions::assert_eq` [INFO] [stderr] --> src/drop_check/boks.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | use pretty_assertions::assert_eq; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `boks` [INFO] [stderr] --> src/drop_check/boks.rs:52:13 [INFO] [stderr] | [INFO] [stderr] 52 | let boks = Boks::ny(&mut y); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_boks` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: trait `Hei` is never used [INFO] [stderr] --> src/dispatch_and_fat_pointers/main.rs:1:11 [INFO] [stderr] | [INFO] [stderr] 1 | pub trait Hei { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: function `strlen` is never used [INFO] [stderr] --> src/dispatch_and_fat_pointers/main.rs:31:4 [INFO] [stderr] | [INFO] [stderr] 31 | fn strlen(s: impl AsRef) -> usize { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `strlen_dyn` is never used [INFO] [stderr] --> src/dispatch_and_fat_pointers/main.rs:35:4 [INFO] [stderr] | [INFO] [stderr] 35 | fn strlen_dyn(s: Box>) -> usize { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `bool_then` is never used [INFO] [stderr] --> src/dispatch_and_fat_pointers/main.rs:39:8 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn bool_then(b: bool, f: impl FnOnce() -> T) -> Option { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait `HeiAsRef` is never used [INFO] [stderr] --> src/dispatch_and_fat_pointers/main.rs:47:11 [INFO] [stderr] | [INFO] [stderr] 47 | pub trait HeiAsRef: Hei + AsRef {} [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `baz` is never used [INFO] [stderr] --> src/dispatch_and_fat_pointers/main.rs:49:8 [INFO] [stderr] | [INFO] [stderr] 49 | pub fn baz(s: &dyn HeiAsRef) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: function `slice_of_trait_object` is never used [INFO] [stderr] --> src/dispatch_and_fat_pointers/main.rs:55:8 [INFO] [stderr] | [INFO] [stderr] 55 | pub fn slice_of_trait_object(v: &[&dyn AsRef]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `main` is never used [INFO] [stderr] --> src/dispatch_and_fat_pointers/main.rs:61:8 [INFO] [stderr] | [INFO] [stderr] 61 | pub fn main() { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait `IteratorExt` is never used [INFO] [stderr] --> src/iterators/iterator.rs:1:11 [INFO] [stderr] | [INFO] [stderr] 1 | pub trait IteratorExt: Iterator + Sized { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `core::str::::len` that must be used [INFO] [stderr] --> src/dispatch_and_fat_pointers/main.rs:52:5 [INFO] [stderr] | [INFO] [stderr] 52 | s.len(); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] running 29 tests [INFO] [stderr] 52 | let _ = s.len(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unnecessary allocation, use `&` instead [INFO] [stderr] --> src/dispatch_and_fat_pointers/main.rs:66:29 [INFO] [stderr] | [INFO] [stderr] 66 | slice_of_trait_object(&[Box::new("hello").as_ref()]) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_allocation)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stderr] --> src/drop_check/boks.rs:10:18 [INFO] [stderr] | [INFO] [stderr] 10 | unsafe { Box::from_raw(self.p) }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 10 | unsafe { let _ = Box::from_raw(self.p); }; [INFO] [stderr] | +++++++ + [INFO] [stderr] [INFO] [stderr] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stderr] --> src/smart_pointers_and_interior_mutability/rc.rs:64:13 [INFO] [stderr] | [INFO] [stderr] 64 | drop(inner); [INFO] [stderr] | ^^^^^-----^ [INFO] [stderr] | | [INFO] [stderr] | argument has type `&RcInner` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dropping_references)]` on by default [INFO] [stderr] help: use `let _ = ...` to ignore the expression or result [INFO] [stderr] | [INFO] [stderr] 64 - drop(inner); [INFO] [stderr] 64 + let _ = inner; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/smart_pointers_and_interior_mutability/refcell.rs:26:19 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn borrow(&self) -> Option> { [INFO] [stderr] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 26 | pub fn borrow(&self) -> Option> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/smart_pointers_and_interior_mutability/refcell.rs:40:23 [INFO] [stderr] | [INFO] [stderr] 40 | pub fn borrow_mut(&self) -> Option> { [INFO] [stderr] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 40 | pub fn borrow_mut(&self) -> Option> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: `crust-of-rust` (bin "crust-of-rust" test) generated 17 warnings (run `cargo fix --bin "crust-of-rust" --tests` to apply 3 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/crust_of_rust-cb2e8e8f4b06dec6) [INFO] [stdout] test channels::panama::tests::ping_pong ... ok [INFO] [stdout] test channels::panama::tests::closed_tx ... ok [INFO] [stdout] test channels::panama::tests::closed_rx ... ok [INFO] [stdout] test declarative_macros::vecmac::tests::clone_2 ... ok [INFO] [stdout] test declarative_macros::vecmac::tests::double ... ok [INFO] [stdout] test declarative_macros::vecmac::tests::empty_vec ... ok [INFO] [stdout] test atomics_and_memory_ordering::atomics::tests::mutex_test ... ok [INFO] [stdout] test drop_check::boks::tests::it_works ... ok [INFO] [stdout] test declarative_macros::vecmac::tests::single ... ok [INFO] [stdout] test iterators::iterator::tests::both_ends ... ok [INFO] [stdout] test declarative_macros::vecmac::tests::trailing ... ok [INFO] [stdout] test atomics_and_memory_ordering::atomics::tests::too_relaxed ... ok [INFO] [stdout] test iterators::iterator::tests::empty ... ok [INFO] [stdout] test iterators::iterator::tests::one ... ok [INFO] [stdout] test iterators::iterator::tests::two ... ok [INFO] [stdout] test lifetime_annotations::strsplit::tests::test_until_char ... ok [INFO] [stdout] test iterators::iterator::tests::two_reverse ... ok [INFO] [stdout] test lifetime_annotations::strsplit::tests::test_until_char_with_unicode ... ok [INFO] [stdout] test smart_pointers_and_interior_mutability::cell::tests::it_works ... ok [INFO] [stdout] test smart_pointers_and_interior_mutability::rc::tests::it_works ... ok [INFO] [stdout] test smart_pointers_and_interior_mutability::refcell::tests::it_works ... ok [INFO] [stdout] test iterators::iterator::tests::two_wide ... ok [INFO] [stdout] test subtyping_and_variance::strtok::tests::it_works ... ok [INFO] [stdout] test iterators::iterator::tests::two_wide_reverse ... ok [INFO] [stdout] test lifetime_annotations::strsplit::tests::empty_tail ... ok [INFO] [stdout] test lifetime_annotations::strsplit::tests::it_works ... ok [INFO] [stdout] test lifetime_annotations::strsplit::tests::tail ... ok [INFO] [stdout] test iterators::iterator::tests::empty_wide ... ok [INFO] [stdout] test atomics_and_memory_ordering::atomics::tests::it_works ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 29 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "b0f0ddad4d14eca516fb2d5eff6756c7acc5e6793f160f9dc604f773529bfcbd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b0f0ddad4d14eca516fb2d5eff6756c7acc5e6793f160f9dc604f773529bfcbd", kill_on_drop: false }` [INFO] [stdout] b0f0ddad4d14eca516fb2d5eff6756c7acc5e6793f160f9dc604f773529bfcbd