[INFO] fetching crate fdt-rs 0.4.5... [INFO] testing fdt-rs-0.4.5 against try#b83b707f97d809763b7861afa7638871f3339a33 for pr-145838-1 [INFO] extracting crate fdt-rs 0.4.5 into /workspace/builds/worker-3-tc2/source [INFO] started tweaking crates.io crate fdt-rs 0.4.5 [INFO] finished tweaking crates.io crate fdt-rs 0.4.5 [INFO] tweaked toml for crates.io crate fdt-rs 0.4.5 written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate fdt-rs 0.4.5 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 15 packages to latest compatible versions [INFO] [stderr] Adding fallible-iterator v0.2.0 (available: v0.3.0) [INFO] [stderr] Adding memoffset v0.5.6 (available: v0.9.1) [INFO] [stderr] Adding num-derive v0.3.3 (available: v0.4.2) [INFO] [stderr] Adding rustc_version v0.2.3 (available: v0.4.1) [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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 0f68b995225e1e75064746eb9a0678772c778858e96bdd22f9cf33c469407203 [INFO] running `Command { std: "docker" "start" "-a" "0f68b995225e1e75064746eb9a0678772c778858e96bdd22f9cf33c469407203", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0f68b995225e1e75064746eb9a0678772c778858e96bdd22f9cf33c469407203", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0f68b995225e1e75064746eb9a0678772c778858e96bdd22f9cf33c469407203", kill_on_drop: false }` [INFO] [stdout] 0f68b995225e1e75064746eb9a0678772c778858e96bdd22f9cf33c469407203 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 7b174846d4e5aa039140d12da3e167c93f93ad08db06dec6709e087bee3d532a [INFO] running `Command { std: "docker" "start" "-a" "7b174846d4e5aa039140d12da3e167c93f93ad08db06dec6709e087bee3d532a", kill_on_drop: false }` [INFO] [stderr] Compiling memoffset v0.5.6 [INFO] [stderr] Compiling fallible-iterator v0.2.0 [INFO] [stderr] Compiling endian-type-rs v0.1.4 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling unsafe_unwrap v0.1.0 [INFO] [stderr] Compiling num-derive v0.3.3 [INFO] [stderr] Compiling fdt-rs v0.4.5 (/opt/rustwide/workdir) [INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks [INFO] [stdout] --> src/base/prop.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | #[must_use] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = help: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits [INFO] [stdout] = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/base/tree.rs:164:9 [INFO] [stdout] | [INFO] [stdout] 164 | unsafe { get_be32_field!(totalsize, fdt_header, self.buf).unwrap() as usize } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/base/tree.rs:171:9 [INFO] [stdout] | [INFO] [stdout] 171 | unsafe { get_be32_field!(off_mem_rsvmap, fdt_header, self.buf).unwrap() as usize } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/base/tree.rs:178:9 [INFO] [stdout] | [INFO] [stdout] 178 | unsafe { get_be32_field!(off_dt_struct, fdt_header, self.buf).unwrap() as usize } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/base/tree.rs:185:9 [INFO] [stdout] | [INFO] [stdout] 185 | unsafe { get_be32_field!(off_dt_strings, fdt_header, self.buf).unwrap() as usize } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/base/tree.rs:192:9 [INFO] [stdout] | [INFO] [stdout] 192 | unsafe { get_be32_field!(magic, fdt_header, self.buf).unwrap() } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/base/tree.rs:199:9 [INFO] [stdout] | [INFO] [stdout] 199 | unsafe { get_be32_field!(version, fdt_header, self.buf).unwrap() } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/base/tree.rs:206:9 [INFO] [stdout] | [INFO] [stdout] 206 | unsafe { get_be32_field!(boot_cpuid_phys, fdt_header, self.buf).unwrap() } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/base/tree.rs:213:9 [INFO] [stdout] | [INFO] [stdout] 213 | unsafe { get_be32_field!(last_comp_version, fdt_header, self.buf).unwrap() } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/base/tree.rs:220:9 [INFO] [stdout] | [INFO] [stdout] 220 | unsafe { get_be32_field!(size_dt_strings, fdt_header, self.buf).unwrap() } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/base/tree.rs:227:9 [INFO] [stdout] | [INFO] [stdout] 227 | unsafe { get_be32_field!(size_dt_struct, fdt_header, self.buf).unwrap() } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `unsafe_read_be_u64` is never used [INFO] [stdout] --> src/priv_util.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 12 | pub(crate) trait SliceRead<'a> { [INFO] [stdout] | --------- method in this trait [INFO] [stdout] 13 | unsafe fn unsafe_read_be_u32(&self, pos: usize) -> SliceReadResult; [INFO] [stdout] 14 | unsafe fn unsafe_read_be_u64(&self, pos: usize) -> SliceReadResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/base/tree.rs:248:29 [INFO] [stdout] | [INFO] [stdout] 248 | pub fn reserved_entries(&self) -> DevTreeReserveEntryIter { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | the same lifetime is hidden here [INFO] [stdout] | | the same lifetime is hidden here [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] 248 | pub fn reserved_entries(&self) -> DevTreeReserveEntryIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/spec.rs:14:10 [INFO] [stdout] | [INFO] [stdout] 14 | #[derive(FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_FdtTok` [INFO] [stdout] 15 | pub enum FdtTok { [INFO] [stdout] | ------ `FdtTok` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.64s [INFO] running `Command { std: "docker" "inspect" "7b174846d4e5aa039140d12da3e167c93f93ad08db06dec6709e087bee3d532a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7b174846d4e5aa039140d12da3e167c93f93ad08db06dec6709e087bee3d532a", kill_on_drop: false }` [INFO] [stdout] 7b174846d4e5aa039140d12da3e167c93f93ad08db06dec6709e087bee3d532a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] aa77ab58741d0de54db82893bf667eb0e8cbdf646f2bf0ff6e3b5ae72bc00a6b [INFO] running `Command { std: "docker" "start" "-a" "aa77ab58741d0de54db82893bf667eb0e8cbdf646f2bf0ff6e3b5ae72bc00a6b", kill_on_drop: false }` [INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks [INFO] [stdout] --> src/base/prop.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | #[must_use] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = help: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits [INFO] [stdout] = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/base/tree.rs:164:9 [INFO] [stdout] | [INFO] [stdout] 164 | unsafe { get_be32_field!(totalsize, fdt_header, self.buf).unwrap() as usize } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/base/tree.rs:171:9 [INFO] [stdout] | [INFO] [stdout] 171 | unsafe { get_be32_field!(off_mem_rsvmap, fdt_header, self.buf).unwrap() as usize } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/base/tree.rs:178:9 [INFO] [stdout] | [INFO] [stdout] 178 | unsafe { get_be32_field!(off_dt_struct, fdt_header, self.buf).unwrap() as usize } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/base/tree.rs:185:9 [INFO] [stdout] | [INFO] [stdout] 185 | unsafe { get_be32_field!(off_dt_strings, fdt_header, self.buf).unwrap() as usize } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/base/tree.rs:192:9 [INFO] [stdout] | [INFO] [stdout] 192 | unsafe { get_be32_field!(magic, fdt_header, self.buf).unwrap() } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/base/tree.rs:199:9 [INFO] [stdout] | [INFO] [stdout] 199 | unsafe { get_be32_field!(version, fdt_header, self.buf).unwrap() } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/base/tree.rs:206:9 [INFO] [stdout] | [INFO] [stdout] 206 | unsafe { get_be32_field!(boot_cpuid_phys, fdt_header, self.buf).unwrap() } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/base/tree.rs:213:9 [INFO] [stdout] | [INFO] [stdout] 213 | unsafe { get_be32_field!(last_comp_version, fdt_header, self.buf).unwrap() } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/base/tree.rs:220:9 [INFO] [stdout] | [INFO] [stdout] 220 | unsafe { get_be32_field!(size_dt_strings, fdt_header, self.buf).unwrap() } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/base/tree.rs:227:9 [INFO] [stdout] | [INFO] [stdout] 227 | unsafe { get_be32_field!(size_dt_struct, fdt_header, self.buf).unwrap() } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `unsafe_read_be_u64` is never used [INFO] [stdout] --> src/priv_util.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 12 | pub(crate) trait SliceRead<'a> { [INFO] [stdout] | --------- method in this trait [INFO] [stdout] 13 | unsafe fn unsafe_read_be_u32(&self, pos: usize) -> SliceReadResult; [INFO] [stdout] 14 | unsafe fn unsafe_read_be_u64(&self, pos: usize) -> SliceReadResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/base/tree.rs:248:29 [INFO] [stdout] | [INFO] [stdout] 248 | pub fn reserved_entries(&self) -> DevTreeReserveEntryIter { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | the same lifetime is hidden here [INFO] [stdout] | | the same lifetime is hidden here [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] 248 | pub fn reserved_entries(&self) -> DevTreeReserveEntryIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling fdt-rs v0.4.5 (/opt/rustwide/workdir) [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/spec.rs:14:10 [INFO] [stdout] | [INFO] [stdout] 14 | #[derive(FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_FdtTok` [INFO] [stdout] 15 | pub enum FdtTok { [INFO] [stdout] | ------ `FdtTok` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks [INFO] [stdout] --> src/base/prop.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | #[must_use] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = help: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits [INFO] [stdout] = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/base/tree.rs:164:9 [INFO] [stdout] | [INFO] [stdout] 164 | unsafe { get_be32_field!(totalsize, fdt_header, self.buf).unwrap() as usize } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/base/tree.rs:171:9 [INFO] [stdout] | [INFO] [stdout] 171 | unsafe { get_be32_field!(off_mem_rsvmap, fdt_header, self.buf).unwrap() as usize } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/base/tree.rs:178:9 [INFO] [stdout] | [INFO] [stdout] 178 | unsafe { get_be32_field!(off_dt_struct, fdt_header, self.buf).unwrap() as usize } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/base/tree.rs:185:9 [INFO] [stdout] | [INFO] [stdout] 185 | unsafe { get_be32_field!(off_dt_strings, fdt_header, self.buf).unwrap() as usize } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/base/tree.rs:192:9 [INFO] [stdout] | [INFO] [stdout] 192 | unsafe { get_be32_field!(magic, fdt_header, self.buf).unwrap() } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/base/tree.rs:199:9 [INFO] [stdout] | [INFO] [stdout] 199 | unsafe { get_be32_field!(version, fdt_header, self.buf).unwrap() } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/base/tree.rs:206:9 [INFO] [stdout] | [INFO] [stdout] 206 | unsafe { get_be32_field!(boot_cpuid_phys, fdt_header, self.buf).unwrap() } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/base/tree.rs:213:9 [INFO] [stdout] | [INFO] [stdout] 213 | unsafe { get_be32_field!(last_comp_version, fdt_header, self.buf).unwrap() } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/base/tree.rs:220:9 [INFO] [stdout] | [INFO] [stdout] 220 | unsafe { get_be32_field!(size_dt_strings, fdt_header, self.buf).unwrap() } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/base/tree.rs:227:9 [INFO] [stdout] | [INFO] [stdout] 227 | unsafe { get_be32_field!(size_dt_struct, fdt_header, self.buf).unwrap() } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `unsafe_read_be_u64` is never used [INFO] [stdout] --> src/priv_util.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 12 | pub(crate) trait SliceRead<'a> { [INFO] [stdout] | --------- method in this trait [INFO] [stdout] 13 | unsafe fn unsafe_read_be_u32(&self, pos: usize) -> SliceReadResult; [INFO] [stdout] 14 | unsafe fn unsafe_read_be_u64(&self, pos: usize) -> SliceReadResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/base/tree.rs:248:29 [INFO] [stdout] | [INFO] [stdout] 248 | pub fn reserved_entries(&self) -> DevTreeReserveEntryIter { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | the same lifetime is hidden here [INFO] [stdout] | | the same lifetime is hidden here [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] 248 | pub fn reserved_entries(&self) -> DevTreeReserveEntryIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/spec.rs:14:10 [INFO] [stdout] | [INFO] [stdout] 14 | #[derive(FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_FdtTok` [INFO] [stdout] 15 | pub enum FdtTok { [INFO] [stdout] | ------ `FdtTok` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.64s [INFO] running `Command { std: "docker" "inspect" "aa77ab58741d0de54db82893bf667eb0e8cbdf646f2bf0ff6e3b5ae72bc00a6b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "aa77ab58741d0de54db82893bf667eb0e8cbdf646f2bf0ff6e3b5ae72bc00a6b", kill_on_drop: false }` [INFO] [stdout] aa77ab58741d0de54db82893bf667eb0e8cbdf646f2bf0ff6e3b5ae72bc00a6b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 50555eddd91eb845551771923d1452c0f5eef06abea103b6315ad83182f663e0 [INFO] running `Command { std: "docker" "start" "-a" "50555eddd91eb845551771923d1452c0f5eef06abea103b6315ad83182f663e0", kill_on_drop: false }` [INFO] [stderr] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks [INFO] [stderr] --> src/base/prop.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | #[must_use] [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = help: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits [INFO] [stderr] = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/base/tree.rs:164:9 [INFO] [stderr] | [INFO] [stderr] 164 | unsafe { get_be32_field!(totalsize, fdt_header, self.buf).unwrap() as usize } [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/base/tree.rs:171:9 [INFO] [stderr] | [INFO] [stderr] 171 | unsafe { get_be32_field!(off_mem_rsvmap, fdt_header, self.buf).unwrap() as usize } [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/base/tree.rs:178:9 [INFO] [stderr] | [INFO] [stderr] 178 | unsafe { get_be32_field!(off_dt_struct, fdt_header, self.buf).unwrap() as usize } [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/base/tree.rs:185:9 [INFO] [stderr] | [INFO] [stderr] 185 | unsafe { get_be32_field!(off_dt_strings, fdt_header, self.buf).unwrap() as usize } [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/base/tree.rs:192:9 [INFO] [stderr] | [INFO] [stderr] 192 | unsafe { get_be32_field!(magic, fdt_header, self.buf).unwrap() } [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/base/tree.rs:199:9 [INFO] [stderr] | [INFO] [stderr] 199 | unsafe { get_be32_field!(version, fdt_header, self.buf).unwrap() } [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/base/tree.rs:206:9 [INFO] [stderr] | [INFO] [stderr] 206 | unsafe { get_be32_field!(boot_cpuid_phys, fdt_header, self.buf).unwrap() } [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/base/tree.rs:213:9 [INFO] [stderr] | [INFO] [stderr] 213 | unsafe { get_be32_field!(last_comp_version, fdt_header, self.buf).unwrap() } [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/base/tree.rs:220:9 [INFO] [stderr] | [INFO] [stderr] 220 | unsafe { get_be32_field!(size_dt_strings, fdt_header, self.buf).unwrap() } [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/base/tree.rs:227:9 [INFO] [stderr] | [INFO] [stderr] 227 | unsafe { get_be32_field!(size_dt_struct, fdt_header, self.buf).unwrap() } [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] [INFO] [stderr] warning: method `unsafe_read_be_u64` is never used [INFO] [stderr] --> src/priv_util.rs:14:15 [INFO] [stderr] | [INFO] [stderr] 12 | pub(crate) trait SliceRead<'a> { [INFO] [stderr] | --------- method in this trait [INFO] [stderr] 13 | unsafe fn unsafe_read_be_u32(&self, pos: usize) -> SliceReadResult; [INFO] [stderr] 14 | unsafe fn unsafe_read_be_u64(&self, pos: usize) -> SliceReadResult; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/base/tree.rs:248:29 [INFO] [stderr] | [INFO] [stderr] 248 | pub fn reserved_entries(&self) -> DevTreeReserveEntryIter { [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | | [INFO] [stderr] | | the same lifetime is hidden here [INFO] [stderr] | | the same lifetime is hidden here [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] 248 | pub fn reserved_entries(&self) -> DevTreeReserveEntryIter<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/spec.rs:14:10 [INFO] [stderr] | [INFO] [stderr] 14 | #[derive(FromPrimitive)] [INFO] [stderr] | ^------------ [INFO] [stderr] | | [INFO] [stderr] | `FromPrimitive` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_FdtTok` [INFO] [stderr] 15 | pub enum FdtTok { [INFO] [stderr] | ------ `FdtTok` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stderr] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `fdt-rs` (lib) generated 14 warnings (run `cargo fix --lib -p fdt-rs` to apply 2 suggestions) [INFO] [stderr] warning: `fdt-rs` (lib test) generated 14 warnings (14 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/fdt_rs-50bf8a762ee804a3) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/parsing_test.rs (/opt/rustwide/target/debug/deps/parsing_test-34357bb3e1c3a9ee) [INFO] [stdout] [INFO] [stdout] running 21 tests [INFO] [stdout] test find_all_compatible ... ok [INFO] [stdout] test get_prop_node ... ok [INFO] [stdout] test get_memory_prop_node ... ok [INFO] [stdout] test index_tests::create_sized_index ... ok [INFO] [stdout] test index_tests::dfs_iteration ... ok [INFO] [stdout] test index_tests::create_index ... ok [INFO] [stdout] test index_tests::get_memory_prop_node ... ok [INFO] [stdout] test index_tests::test_prop_iteration_ ... ok [INFO] [stdout] test index_tests::root_prop_iteration ... ok [INFO] [stdout] test next_compatible_finds_initial_node ... ok [INFO] [stdout] test index_tests::verify_root_children_iteration ... ok [INFO] [stdout] test node_prop_iter ... ok [INFO] [stdout] test nodes_iter ... ok [INFO] [stdout] test reserved_entries_iter ... ok [INFO] [stdout] test nodes_iter_from_raw_pointer ... ok [INFO] [stdout] test test_readsize_advice ... ok [INFO] [stdout] test index_tests::verify_root_children_comparisions ... ok [INFO] [stdout] test next_compatible_finds_final_node ... ok [INFO] [stdout] test verify_prop_comparisions ... ok [INFO] [stdout] test verify_node_comparisions ... ok [INFO] [stdout] test index_tests::expect_create_index_layout_fails_with_invalid_layout ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "50555eddd91eb845551771923d1452c0f5eef06abea103b6315ad83182f663e0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "50555eddd91eb845551771923d1452c0f5eef06abea103b6315ad83182f663e0", kill_on_drop: false }` [INFO] [stdout] 50555eddd91eb845551771923d1452c0f5eef06abea103b6315ad83182f663e0