[INFO] fetching crate fdt-rs 0.4.5... [INFO] testing fdt-rs-0.4.5 against master#cdb45c87e2cd43495379f7e867e3cc15dcee9f93 for pr-145838-1 [INFO] extracting crate fdt-rs 0.4.5 into /workspace/builds/worker-3-tc1/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-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate fdt-rs 0.4.5 on toolchain cdb45c87e2cd43495379f7e867e3cc15dcee9f93 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "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" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [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" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded unsafe_unwrap v0.1.0 [INFO] [stderr] Downloaded endian-type-rs v0.1.4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 076587dbb8d5ee774d70c24d14e575fb466698bd51d35132d1dc92e427287595 [INFO] running `Command { std: "docker" "start" "-a" "076587dbb8d5ee774d70c24d14e575fb466698bd51d35132d1dc92e427287595", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "076587dbb8d5ee774d70c24d14e575fb466698bd51d35132d1dc92e427287595", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "076587dbb8d5ee774d70c24d14e575fb466698bd51d35132d1dc92e427287595", kill_on_drop: false }` [INFO] [stdout] 076587dbb8d5ee774d70c24d14e575fb466698bd51d35132d1dc92e427287595 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9e95e8b877a10f1cca25e29041fdf75577507724d54e6257fad737c8d32ac071 [INFO] running `Command { std: "docker" "start" "-a" "9e95e8b877a10f1cca25e29041fdf75577507724d54e6257fad737c8d32ac071", kill_on_drop: false }` [INFO] [stderr] Compiling memoffset v0.5.6 [INFO] [stderr] Compiling unsafe_unwrap v0.1.0 [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 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 2.05s [INFO] running `Command { std: "docker" "inspect" "9e95e8b877a10f1cca25e29041fdf75577507724d54e6257fad737c8d32ac071", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9e95e8b877a10f1cca25e29041fdf75577507724d54e6257fad737c8d32ac071", kill_on_drop: false }` [INFO] [stdout] 9e95e8b877a10f1cca25e29041fdf75577507724d54e6257fad737c8d32ac071 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0a5f98d7c0f8b6aba533d3f1df2450c58a2267903ac5485fd8de0811fd1f4ce7 [INFO] running `Command { std: "docker" "start" "-a" "0a5f98d7c0f8b6aba533d3f1df2450c58a2267903ac5485fd8de0811fd1f4ce7", kill_on_drop: false }` [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] [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.51s [INFO] running `Command { std: "docker" "inspect" "0a5f98d7c0f8b6aba533d3f1df2450c58a2267903ac5485fd8de0811fd1f4ce7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0a5f98d7c0f8b6aba533d3f1df2450c58a2267903ac5485fd8de0811fd1f4ce7", kill_on_drop: false }` [INFO] [stdout] 0a5f98d7c0f8b6aba533d3f1df2450c58a2267903ac5485fd8de0811fd1f4ce7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 9fc8e28c79871d838f66f3dd5bbe10e6acd0586b59bb5d30efd21e90a48ff2c1 [INFO] running `Command { std: "docker" "start" "-a" "9fc8e28c79871d838f66f3dd5bbe10e6acd0586b59bb5d30efd21e90a48ff2c1", 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 get_prop_node ... ok [INFO] [stdout] test find_all_compatible ... ok [INFO] [stdout] test get_memory_prop_node ... ok [INFO] [stdout] test index_tests::create_index ... ok [INFO] [stdout] test index_tests::create_sized_index ... ok [INFO] [stdout] test index_tests::dfs_iteration ... ok [INFO] [stdout] test index_tests::expect_create_index_layout_fails_with_invalid_layout ... ok [INFO] [stdout] test index_tests::root_prop_iteration ... ok [INFO] [stdout] test index_tests::get_memory_prop_node ... ok [INFO] [stdout] test index_tests::test_prop_iteration_ ... ok [INFO] [stdout] test next_compatible_finds_initial_node ... ok [INFO] [stdout] test next_compatible_finds_final_node ... ok [INFO] [stdout] test index_tests::verify_root_children_comparisions ... ok [INFO] [stdout] test nodes_iter ... ok [INFO] [stdout] test node_prop_iter ... ok [INFO] [stdout] test nodes_iter_from_raw_pointer ... ok [INFO] [stdout] test reserved_entries_iter ... ok [INFO] [stdout] test verify_node_comparisions ... ok [INFO] [stdout] test test_readsize_advice ... ok [INFO] [stdout] test verify_prop_comparisions ... ok [INFO] [stdout] test index_tests::verify_root_children_iteration ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "9fc8e28c79871d838f66f3dd5bbe10e6acd0586b59bb5d30efd21e90a48ff2c1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9fc8e28c79871d838f66f3dd5bbe10e6acd0586b59bb5d30efd21e90a48ff2c1", kill_on_drop: false }` [INFO] [stdout] 9fc8e28c79871d838f66f3dd5bbe10e6acd0586b59bb5d30efd21e90a48ff2c1