[INFO] cloning repository https://github.com/jcreekmore/bootinfo [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jcreekmore/bootinfo" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjcreekmore%2Fbootinfo", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjcreekmore%2Fbootinfo'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 941ab4622ba432c19eff0e0e6a1aeb9782af017a [INFO] testing jcreekmore/bootinfo against master#432e145bd5a974c5b6f4dd9b352891bd7502b69d for pr-87041 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjcreekmore%2Fbootinfo" "/workspace/builds/worker-2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/jcreekmore/bootinfo on toolchain 432e145bd5a974c5b6f4dd9b352891bd7502b69d [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+432e145bd5a974c5b6f4dd9b352891bd7502b69d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/jcreekmore/bootinfo [INFO] finished tweaking git repo https://github.com/jcreekmore/bootinfo [INFO] tweaked toml for git repo https://github.com/jcreekmore/bootinfo written to /workspace/builds/worker-2/source/Cargo.toml [INFO] crate git repo https://github.com/jcreekmore/bootinfo already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+432e145bd5a974c5b6f4dd9b352891bd7502b69d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+432e145bd5a974c5b6f4dd9b352891bd7502b69d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b26617db79917ec034ef1f27d741e2a2ad87a2886b9b814aedfaede28a0abf95 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "b26617db79917ec034ef1f27d741e2a2ad87a2886b9b814aedfaede28a0abf95", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b26617db79917ec034ef1f27d741e2a2ad87a2886b9b814aedfaede28a0abf95", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b26617db79917ec034ef1f27d741e2a2ad87a2886b9b814aedfaede28a0abf95", kill_on_drop: false }` [INFO] [stdout] b26617db79917ec034ef1f27d741e2a2ad87a2886b9b814aedfaede28a0abf95 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+432e145bd5a974c5b6f4dd9b352891bd7502b69d" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b7a98c825775330ae1f07d9b075e04f2294f4ddf73f821a17b7e18aa12d58562 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "b7a98c825775330ae1f07d9b075e04f2294f4ddf73f821a17b7e18aa12d58562", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling libc v0.2.35 [INFO] [stderr] Compiling rustc-demangle v0.1.5 [INFO] [stderr] Compiling ansi_term v0.10.2 [INFO] [stderr] Compiling bitflags v1.0.1 [INFO] [stderr] Compiling backtrace-sys v0.1.16 [INFO] [stderr] Compiling miniz-sys v0.1.10 [INFO] [stderr] Compiling textwrap v0.9.0 [INFO] [stderr] Compiling syn v0.11.11 [INFO] [stderr] Compiling iovec v0.1.1 [INFO] [stderr] Compiling atty v0.2.6 [INFO] [stderr] Compiling clap v2.29.2 [INFO] [stderr] Compiling bytes v0.4.6 [INFO] [stderr] Compiling flate2 v1.0.1 [INFO] [stderr] Compiling derive-error-chain v0.11.0 [INFO] [stderr] Compiling backtrace v0.3.5 [INFO] [stderr] Compiling error-chain v0.11.0 [INFO] [stderr] Compiling bootinfo v0.2.1-pre (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parsers/mod.rs:5:57 [INFO] [stdout] | [INFO] [stdout] 5 | pub type ParseBootInfo = fn(bytes::Bytes) -> Option>; [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn BootInfo` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see issue #80165 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parsers/mod.rs:14:58 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn parse(&self, buf: bytes::Bytes) -> Option> { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn BootInfo` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see issue #80165 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parsers/linux.rs:44:51 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn parse(buf: bytes::Bytes) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn super::BootInfo` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see issue #80165 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parsers/linux.rs:162:38 [INFO] [stdout] | [INFO] [stdout] 162 | Some(Box::new(header) as Box) [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn super::BootInfo` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see issue #80165 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parsers/multiboot1.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | / bitflags! { [INFO] [stdout] 6 | | pub struct Flags: u32 { [INFO] [stdout] 7 | | const PAGE_ALIGNED_MODULES = 0x0000_0001; [INFO] [stdout] 8 | | const REQUEST_MEMORY_MAP = 0x0000_0002; [INFO] [stdout] ... | [INFO] [stdout] 12 | | } [INFO] [stdout] 13 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] = note: this warning originates in the macro `__impl_bitflags` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parsers/multiboot1.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | / bitflags! { [INFO] [stdout] 6 | | pub struct Flags: u32 { [INFO] [stdout] 7 | | const PAGE_ALIGNED_MODULES = 0x0000_0001; [INFO] [stdout] 8 | | const REQUEST_MEMORY_MAP = 0x0000_0002; [INFO] [stdout] ... | [INFO] [stdout] 12 | | } [INFO] [stdout] 13 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__impl_bitflags` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parsers/multiboot1.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | / bitflags! { [INFO] [stdout] 6 | | pub struct Flags: u32 { [INFO] [stdout] 7 | | const PAGE_ALIGNED_MODULES = 0x0000_0001; [INFO] [stdout] 8 | | const REQUEST_MEMORY_MAP = 0x0000_0002; [INFO] [stdout] ... | [INFO] [stdout] 12 | | } [INFO] [stdout] 13 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__impl_bitflags` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parsers/multiboot1.rs:63:53 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn parse(buf: ::bytes::Bytes) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn super::BootInfo` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see issue #80165 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parsers/multiboot1.rs:96:42 [INFO] [stdout] | [INFO] [stdout] 96 | Some(Box::new(header) as Box) [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn super::BootInfo` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see issue #80165 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parsers/multiboot2.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | / bitflags! { [INFO] [stdout] 7 | | pub struct Flags: u16 { [INFO] [stdout] 8 | | const OPTIONAL = 0x0001; [INFO] [stdout] 9 | | const UNKNOWN_FLAGS = 0xfffe; [INFO] [stdout] 10 | | } [INFO] [stdout] 11 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__impl_bitflags` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parsers/multiboot2.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | / bitflags! { [INFO] [stdout] 7 | | pub struct Flags: u16 { [INFO] [stdout] 8 | | const OPTIONAL = 0x0001; [INFO] [stdout] 9 | | const UNKNOWN_FLAGS = 0xfffe; [INFO] [stdout] 10 | | } [INFO] [stdout] 11 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__impl_bitflags` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parsers/multiboot2.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | / bitflags! { [INFO] [stdout] 7 | | pub struct Flags: u16 { [INFO] [stdout] 8 | | const OPTIONAL = 0x0001; [INFO] [stdout] 9 | | const UNKNOWN_FLAGS = 0xfffe; [INFO] [stdout] 10 | | } [INFO] [stdout] 11 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__impl_bitflags` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/parsers/multiboot2.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | (typ == TAG_ENDING && size == 8) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parsers/multiboot2.rs:74:51 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn parse(buf: bytes::Bytes) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn super::BootInfo` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see issue #80165 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/parsers/multiboot2.rs:109:17 [INFO] [stdout] | [INFO] [stdout] 109 | ((read_more + 8) % 8) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parsers/multiboot2.rs:201:38 [INFO] [stdout] | [INFO] [stdout] 201 | Some(Box::new(header) as Box) [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn super::BootInfo` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see issue #80165 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:74:26 [INFO] [stdout] | [INFO] [stdout] 74 | let headers: Vec> = allowed_parsers.iter().filter_map(|info| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn parsers::BootInfo` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see issue #80165 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/main.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | / lazy_static! { [INFO] [stdout] 23 | | static ref INFO: Vec = parsers::register(); [INFO] [stdout] 24 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: an associated function with this name may be added to the standard library in the future [INFO] [stdout] --> src/parsers/linux.rs:48:16 [INFO] [stdout] | [INFO] [stdout] 48 | if buf.remaining() < 0x1f2 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unstable_name_collisions)]` on by default [INFO] [stdout] = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stdout] = note: for more information, see issue #48919 [INFO] [stdout] = help: call with fully qualified syntax `remaining(...)` to keep using the current method [INFO] [stdout] = help: add `#![feature(cursor_remaining)]` to the crate attributes to enable `std::io::Cursor::::remaining` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: an associated function with this name may be added to the standard library in the future [INFO] [stdout] --> src/parsers/linux.rs:55:16 [INFO] [stdout] | [INFO] [stdout] 55 | if buf.remaining() < ((setup_sects as usize * 512) - 0x1f2) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stdout] = note: for more information, see issue #48919 [INFO] [stdout] = help: call with fully qualified syntax `remaining(...)` to keep using the current method [INFO] [stdout] = help: add `#![feature(cursor_remaining)]` to the crate attributes to enable `std::io::Cursor::::remaining` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: an associated function with this name may be added to the standard library in the future [INFO] [stdout] --> src/parsers/multiboot1.rs:65:19 [INFO] [stdout] | [INFO] [stdout] 65 | while buf.remaining() > ::std::mem::size_of::() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stdout] = note: for more information, see issue #48919 [INFO] [stdout] = help: call with fully qualified syntax `remaining(...)` to keep using the current method [INFO] [stdout] = help: add `#![feature(cursor_remaining)]` to the crate attributes to enable `std::io::Cursor::::remaining` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: an associated function with this name may be added to the standard library in the future [INFO] [stdout] --> src/parsers/multiboot1.rs:72:16 [INFO] [stdout] | [INFO] [stdout] 72 | if buf.remaining() < (::std::mem::size_of::() * 11) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stdout] = note: for more information, see issue #48919 [INFO] [stdout] = help: call with fully qualified syntax `remaining(...)` to keep using the current method [INFO] [stdout] = help: add `#![feature(cursor_remaining)]` to the crate attributes to enable `std::io::Cursor::::remaining` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: an associated function with this name may be added to the standard library in the future [INFO] [stdout] --> src/parsers/multiboot2.rs:76:19 [INFO] [stdout] | [INFO] [stdout] 76 | while buf.remaining() > size_of::() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stdout] = note: for more information, see issue #48919 [INFO] [stdout] = help: call with fully qualified syntax `remaining(...)` to keep using the current method [INFO] [stdout] = help: add `#![feature(cursor_remaining)]` to the crate attributes to enable `std::io::Cursor::::remaining` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: an associated function with this name may be added to the standard library in the future [INFO] [stdout] --> src/parsers/multiboot2.rs:83:16 [INFO] [stdout] | [INFO] [stdout] 83 | if buf.remaining() < (size_of::() * 3) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stdout] = note: for more information, see issue #48919 [INFO] [stdout] = help: call with fully qualified syntax `remaining(...)` to keep using the current method [INFO] [stdout] = help: add `#![feature(cursor_remaining)]` to the crate attributes to enable `std::io::Cursor::::remaining` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: an associated function with this name may be added to the standard library in the future [INFO] [stdout] --> src/parsers/multiboot2.rs:97:16 [INFO] [stdout] | [INFO] [stdout] 97 | if buf.remaining() < (header_length as usize - (size_of::() * 4)) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stdout] = note: for more information, see issue #48919 [INFO] [stdout] = help: call with fully qualified syntax `remaining(...)` to keep using the current method [INFO] [stdout] = help: add `#![feature(cursor_remaining)]` to the crate attributes to enable `std::io::Cursor::::remaining` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 25 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1m 00s [INFO] running `Command { std: "docker" "inspect" "b7a98c825775330ae1f07d9b075e04f2294f4ddf73f821a17b7e18aa12d58562", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b7a98c825775330ae1f07d9b075e04f2294f4ddf73f821a17b7e18aa12d58562", kill_on_drop: false }` [INFO] [stdout] b7a98c825775330ae1f07d9b075e04f2294f4ddf73f821a17b7e18aa12d58562 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+432e145bd5a974c5b6f4dd9b352891bd7502b69d" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1e4601ebacae80d3a3c718f6227f25d5415dfc077cd565a3db5d4c2498e209e9 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "1e4601ebacae80d3a3c718f6227f25d5415dfc077cd565a3db5d4c2498e209e9", kill_on_drop: false }` [INFO] [stderr] Compiling bootinfo v0.2.1-pre (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parsers/mod.rs:5:57 [INFO] [stdout] | [INFO] [stdout] 5 | pub type ParseBootInfo = fn(bytes::Bytes) -> Option>; [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn BootInfo` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see issue #80165 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parsers/mod.rs:14:58 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn parse(&self, buf: bytes::Bytes) -> Option> { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn BootInfo` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see issue #80165 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parsers/linux.rs:44:51 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn parse(buf: bytes::Bytes) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn super::BootInfo` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see issue #80165 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parsers/linux.rs:162:38 [INFO] [stdout] | [INFO] [stdout] 162 | Some(Box::new(header) as Box) [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn super::BootInfo` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see issue #80165 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parsers/multiboot1.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | / bitflags! { [INFO] [stdout] 6 | | pub struct Flags: u32 { [INFO] [stdout] 7 | | const PAGE_ALIGNED_MODULES = 0x0000_0001; [INFO] [stdout] 8 | | const REQUEST_MEMORY_MAP = 0x0000_0002; [INFO] [stdout] ... | [INFO] [stdout] 12 | | } [INFO] [stdout] 13 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] = note: this warning originates in the macro `__impl_bitflags` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parsers/multiboot1.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | / bitflags! { [INFO] [stdout] 6 | | pub struct Flags: u32 { [INFO] [stdout] 7 | | const PAGE_ALIGNED_MODULES = 0x0000_0001; [INFO] [stdout] 8 | | const REQUEST_MEMORY_MAP = 0x0000_0002; [INFO] [stdout] ... | [INFO] [stdout] 12 | | } [INFO] [stdout] 13 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__impl_bitflags` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parsers/multiboot1.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | / bitflags! { [INFO] [stdout] 6 | | pub struct Flags: u32 { [INFO] [stdout] 7 | | const PAGE_ALIGNED_MODULES = 0x0000_0001; [INFO] [stdout] 8 | | const REQUEST_MEMORY_MAP = 0x0000_0002; [INFO] [stdout] ... | [INFO] [stdout] 12 | | } [INFO] [stdout] 13 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__impl_bitflags` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parsers/multiboot1.rs:63:53 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn parse(buf: ::bytes::Bytes) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn super::BootInfo` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see issue #80165 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parsers/multiboot1.rs:96:42 [INFO] [stdout] | [INFO] [stdout] 96 | Some(Box::new(header) as Box) [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn super::BootInfo` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see issue #80165 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parsers/multiboot2.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | / bitflags! { [INFO] [stdout] 7 | | pub struct Flags: u16 { [INFO] [stdout] 8 | | const OPTIONAL = 0x0001; [INFO] [stdout] 9 | | const UNKNOWN_FLAGS = 0xfffe; [INFO] [stdout] 10 | | } [INFO] [stdout] 11 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__impl_bitflags` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parsers/multiboot2.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | / bitflags! { [INFO] [stdout] 7 | | pub struct Flags: u16 { [INFO] [stdout] 8 | | const OPTIONAL = 0x0001; [INFO] [stdout] 9 | | const UNKNOWN_FLAGS = 0xfffe; [INFO] [stdout] 10 | | } [INFO] [stdout] 11 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__impl_bitflags` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/parsers/multiboot2.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | / bitflags! { [INFO] [stdout] 7 | | pub struct Flags: u16 { [INFO] [stdout] 8 | | const OPTIONAL = 0x0001; [INFO] [stdout] 9 | | const UNKNOWN_FLAGS = 0xfffe; [INFO] [stdout] 10 | | } [INFO] [stdout] 11 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__impl_bitflags` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/parsers/multiboot2.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | (typ == TAG_ENDING && size == 8) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parsers/multiboot2.rs:74:51 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn parse(buf: bytes::Bytes) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn super::BootInfo` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see issue #80165 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/parsers/multiboot2.rs:109:17 [INFO] [stdout] | [INFO] [stdout] 109 | ((read_more + 8) % 8) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parsers/multiboot2.rs:201:38 [INFO] [stdout] | [INFO] [stdout] 201 | Some(Box::new(header) as Box) [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn super::BootInfo` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see issue #80165 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:74:26 [INFO] [stdout] | [INFO] [stdout] 74 | let headers: Vec> = allowed_parsers.iter().filter_map(|info| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn parsers::BootInfo` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see issue #80165 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/main.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | / lazy_static! { [INFO] [stdout] 23 | | static ref INFO: Vec = parsers::register(); [INFO] [stdout] 24 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: an associated function with this name may be added to the standard library in the future [INFO] [stdout] --> src/parsers/linux.rs:48:16 [INFO] [stdout] | [INFO] [stdout] 48 | if buf.remaining() < 0x1f2 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unstable_name_collisions)]` on by default [INFO] [stdout] = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stdout] = note: for more information, see issue #48919 [INFO] [stdout] = help: call with fully qualified syntax `remaining(...)` to keep using the current method [INFO] [stdout] = help: add `#![feature(cursor_remaining)]` to the crate attributes to enable `std::io::Cursor::::remaining` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: an associated function with this name may be added to the standard library in the future [INFO] [stdout] --> src/parsers/linux.rs:55:16 [INFO] [stdout] | [INFO] [stdout] 55 | if buf.remaining() < ((setup_sects as usize * 512) - 0x1f2) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stdout] = note: for more information, see issue #48919 [INFO] [stdout] = help: call with fully qualified syntax `remaining(...)` to keep using the current method [INFO] [stdout] = help: add `#![feature(cursor_remaining)]` to the crate attributes to enable `std::io::Cursor::::remaining` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: an associated function with this name may be added to the standard library in the future [INFO] [stdout] --> src/parsers/multiboot1.rs:65:19 [INFO] [stdout] | [INFO] [stdout] 65 | while buf.remaining() > ::std::mem::size_of::() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stdout] = note: for more information, see issue #48919 [INFO] [stdout] = help: call with fully qualified syntax `remaining(...)` to keep using the current method [INFO] [stdout] = help: add `#![feature(cursor_remaining)]` to the crate attributes to enable `std::io::Cursor::::remaining` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: an associated function with this name may be added to the standard library in the future [INFO] [stdout] --> src/parsers/multiboot1.rs:72:16 [INFO] [stdout] | [INFO] [stdout] 72 | if buf.remaining() < (::std::mem::size_of::() * 11) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stdout] = note: for more information, see issue #48919 [INFO] [stdout] = help: call with fully qualified syntax `remaining(...)` to keep using the current method [INFO] [stdout] = help: add `#![feature(cursor_remaining)]` to the crate attributes to enable `std::io::Cursor::::remaining` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: an associated function with this name may be added to the standard library in the future [INFO] [stdout] --> src/parsers/multiboot2.rs:76:19 [INFO] [stdout] | [INFO] [stdout] 76 | while buf.remaining() > size_of::() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stdout] = note: for more information, see issue #48919 [INFO] [stdout] = help: call with fully qualified syntax `remaining(...)` to keep using the current method [INFO] [stdout] = help: add `#![feature(cursor_remaining)]` to the crate attributes to enable `std::io::Cursor::::remaining` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: an associated function with this name may be added to the standard library in the future [INFO] [stdout] --> src/parsers/multiboot2.rs:83:16 [INFO] [stdout] | [INFO] [stdout] 83 | if buf.remaining() < (size_of::() * 3) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stdout] = note: for more information, see issue #48919 [INFO] [stdout] = help: call with fully qualified syntax `remaining(...)` to keep using the current method [INFO] [stdout] = help: add `#![feature(cursor_remaining)]` to the crate attributes to enable `std::io::Cursor::::remaining` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: an associated function with this name may be added to the standard library in the future [INFO] [stdout] --> src/parsers/multiboot2.rs:97:16 [INFO] [stdout] | [INFO] [stdout] 97 | if buf.remaining() < (header_length as usize - (size_of::() * 4)) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stdout] = note: for more information, see issue #48919 [INFO] [stdout] = help: call with fully qualified syntax `remaining(...)` to keep using the current method [INFO] [stdout] = help: add `#![feature(cursor_remaining)]` to the crate attributes to enable `std::io::Cursor::::remaining` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 25 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 2.88s [INFO] running `Command { std: "docker" "inspect" "1e4601ebacae80d3a3c718f6227f25d5415dfc077cd565a3db5d4c2498e209e9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1e4601ebacae80d3a3c718f6227f25d5415dfc077cd565a3db5d4c2498e209e9", kill_on_drop: false }` [INFO] [stdout] 1e4601ebacae80d3a3c718f6227f25d5415dfc077cd565a3db5d4c2498e209e9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+432e145bd5a974c5b6f4dd9b352891bd7502b69d" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 613f3fa0d830eb611467c3fa3228068adcc886fec3673bf380a05e800df85d00 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "613f3fa0d830eb611467c3fa3228068adcc886fec3673bf380a05e800df85d00", kill_on_drop: false }` [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parsers/mod.rs:5:57 [INFO] [stderr] | [INFO] [stderr] 5 | pub type ParseBootInfo = fn(bytes::Bytes) -> Option>; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn BootInfo` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see issue #80165 [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parsers/mod.rs:14:58 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn parse(&self, buf: bytes::Bytes) -> Option> { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn BootInfo` [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see issue #80165 [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parsers/linux.rs:44:51 [INFO] [stderr] | [INFO] [stderr] 44 | pub fn parse(buf: bytes::Bytes) -> Option> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn super::BootInfo` [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see issue #80165 [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parsers/linux.rs:162:38 [INFO] [stderr] | [INFO] [stderr] 162 | Some(Box::new(header) as Box) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn super::BootInfo` [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see issue #80165 [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parsers/multiboot1.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | / bitflags! { [INFO] [stderr] 6 | | pub struct Flags: u32 { [INFO] [stderr] 7 | | const PAGE_ALIGNED_MODULES = 0x0000_0001; [INFO] [stderr] 8 | | const REQUEST_MEMORY_MAP = 0x0000_0002; [INFO] [stderr] ... | [INFO] [stderr] 12 | | } [INFO] [stderr] 13 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] = note: this warning originates in the macro `__impl_bitflags` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parsers/multiboot1.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | / bitflags! { [INFO] [stderr] 6 | | pub struct Flags: u32 { [INFO] [stderr] 7 | | const PAGE_ALIGNED_MODULES = 0x0000_0001; [INFO] [stderr] 8 | | const REQUEST_MEMORY_MAP = 0x0000_0002; [INFO] [stderr] ... | [INFO] [stderr] 12 | | } [INFO] [stderr] 13 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `__impl_bitflags` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parsers/multiboot1.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | / bitflags! { [INFO] [stderr] 6 | | pub struct Flags: u32 { [INFO] [stderr] 7 | | const PAGE_ALIGNED_MODULES = 0x0000_0001; [INFO] [stderr] 8 | | const REQUEST_MEMORY_MAP = 0x0000_0002; [INFO] [stderr] ... | [INFO] [stderr] 12 | | } [INFO] [stderr] 13 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `__impl_bitflags` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parsers/multiboot1.rs:63:53 [INFO] [stderr] | [INFO] [stderr] 63 | pub fn parse(buf: ::bytes::Bytes) -> Option> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn super::BootInfo` [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see issue #80165 [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parsers/multiboot1.rs:96:42 [INFO] [stderr] | [INFO] [stderr] 96 | Some(Box::new(header) as Box) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn super::BootInfo` [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see issue #80165 [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parsers/multiboot2.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | / bitflags! { [INFO] [stderr] 7 | | pub struct Flags: u16 { [INFO] [stderr] 8 | | const OPTIONAL = 0x0001; [INFO] [stderr] 9 | | const UNKNOWN_FLAGS = 0xfffe; [INFO] [stderr] 10 | | } [INFO] [stderr] 11 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `__impl_bitflags` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parsers/multiboot2.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | / bitflags! { [INFO] [stderr] 7 | | pub struct Flags: u16 { [INFO] [stderr] 8 | | const OPTIONAL = 0x0001; [INFO] [stderr] 9 | | const UNKNOWN_FLAGS = 0xfffe; [INFO] [stderr] 10 | | } [INFO] [stderr] 11 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `__impl_bitflags` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/parsers/multiboot2.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | / bitflags! { [INFO] [stderr] 7 | | pub struct Flags: u16 { [INFO] [stderr] 8 | | const OPTIONAL = 0x0001; [INFO] [stderr] 9 | | const UNKNOWN_FLAGS = 0xfffe; [INFO] [stderr] 10 | | } [INFO] [stderr] 11 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `__impl_bitflags` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/parsers/multiboot2.rs:68:5 [INFO] [stderr] | [INFO] [stderr] 68 | (typ == TAG_ENDING && size == 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parsers/multiboot2.rs:74:51 [INFO] [stderr] | [INFO] [stderr] 74 | pub fn parse(buf: bytes::Bytes) -> Option> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn super::BootInfo` [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see issue #80165 [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/parsers/multiboot2.rs:109:17 [INFO] [stderr] | [INFO] [stderr] 109 | ((read_more + 8) % 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parsers/multiboot2.rs:201:38 [INFO] [stderr] | [INFO] [stderr] 201 | Some(Box::new(header) as Box) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn super::BootInfo` [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see issue #80165 [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:74:26 [INFO] [stderr] | [INFO] [stderr] 74 | let headers: Vec> = allowed_parsers.iter().filter_map(|info| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn parsers::BootInfo` [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see issue #80165 [INFO] [stderr] [INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stderr] --> src/main.rs:22:1 [INFO] [stderr] | [INFO] [stderr] 22 | / lazy_static! { [INFO] [stderr] 23 | | static ref INFO: Vec = parsers::register(); [INFO] [stderr] 24 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `__lazy_static_create` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: an associated function with this name may be added to the standard library in the future [INFO] [stderr] --> src/parsers/linux.rs:48:16 [INFO] [stderr] | [INFO] [stderr] 48 | if buf.remaining() < 0x1f2 { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unstable_name_collisions)]` on by default [INFO] [stderr] = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `remaining(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(cursor_remaining)]` to the crate attributes to enable `std::io::Cursor::::remaining` [INFO] [stderr] [INFO] [stderr] warning: an associated function with this name may be added to the standard library in the future [INFO] [stderr] --> src/parsers/linux.rs:55:16 [INFO] [stderr] | [INFO] [stderr] 55 | if buf.remaining() < ((setup_sects as usize * 512) - 0x1f2) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `remaining(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(cursor_remaining)]` to the crate attributes to enable `std::io::Cursor::::remaining` [INFO] [stderr] [INFO] [stderr] warning: an associated function with this name may be added to the standard library in the future [INFO] [stderr] --> src/parsers/multiboot1.rs:65:19 [INFO] [stderr] | [INFO] [stderr] 65 | while buf.remaining() > ::std::mem::size_of::() { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `remaining(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(cursor_remaining)]` to the crate attributes to enable `std::io::Cursor::::remaining` [INFO] [stderr] [INFO] [stderr] warning: an associated function with this name may be added to the standard library in the future [INFO] [stderr] --> src/parsers/multiboot1.rs:72:16 [INFO] [stderr] | [INFO] [stderr] 72 | if buf.remaining() < (::std::mem::size_of::() * 11) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `remaining(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(cursor_remaining)]` to the crate attributes to enable `std::io::Cursor::::remaining` [INFO] [stderr] [INFO] [stderr] warning: an associated function with this name may be added to the standard library in the future [INFO] [stderr] --> src/parsers/multiboot2.rs:76:19 [INFO] [stderr] | [INFO] [stderr] 76 | while buf.remaining() > size_of::() { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `remaining(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(cursor_remaining)]` to the crate attributes to enable `std::io::Cursor::::remaining` [INFO] [stderr] [INFO] [stderr] warning: an associated function with this name may be added to the standard library in the future [INFO] [stderr] --> src/parsers/multiboot2.rs:83:16 [INFO] [stderr] | [INFO] [stderr] 83 | if buf.remaining() < (size_of::() * 3) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `remaining(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(cursor_remaining)]` to the crate attributes to enable `std::io::Cursor::::remaining` [INFO] [stderr] [INFO] [stderr] warning: an associated function with this name may be added to the standard library in the future [INFO] [stderr] --> src/parsers/multiboot2.rs:97:16 [INFO] [stderr] | [INFO] [stderr] 97 | if buf.remaining() < (header_length as usize - (size_of::() * 4)) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior! [INFO] [stderr] = note: for more information, see issue #48919 [INFO] [stderr] = help: call with fully qualified syntax `remaining(...)` to keep using the current method [INFO] [stderr] = help: add `#![feature(cursor_remaining)]` to the crate attributes to enable `std::io::Cursor::::remaining` [INFO] [stderr] [INFO] [stderr] warning: 25 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/bootinfo-baad851edec2dc58) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test parsers::linux::tests::parse_valid_linuxboot ... ok [INFO] [stdout] test parsers::multiboot1::tests::parse_valid_multiboot1 ... ok [INFO] [stdout] test parsers::multiboot2::tests::parse_valid_multiboot2 ... ok [INFO] [stdout] test parsers::linux::tests::parse_invalid_multiboot2 - should panic ... ok [INFO] [stdout] test parsers::linux::tests::parse_invalid_multiboot1 - should panic ... ok [INFO] [stdout] test parsers::multiboot2::tests::parse_invalid_linuxboot - should panic ... ok [INFO] [stdout] test parsers::multiboot1::tests::parse_invalid_linuxboot - should panic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "613f3fa0d830eb611467c3fa3228068adcc886fec3673bf380a05e800df85d00", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "613f3fa0d830eb611467c3fa3228068adcc886fec3673bf380a05e800df85d00", kill_on_drop: false }` [INFO] [stdout] 613f3fa0d830eb611467c3fa3228068adcc886fec3673bf380a05e800df85d00