[INFO] fetching crate elfkit 0.0.7... [INFO] checking elfkit-0.0.7 against master#5a8a44196b3cf099f8c9b0156bd902eaec0b4e5f for pr-87248 [INFO] extracting crate elfkit 0.0.7 into /workspace/builds/worker-0/source [INFO] validating manifest of crates.io crate elfkit 0.0.7 on toolchain 5a8a44196b3cf099f8c9b0156bd902eaec0b4e5f [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+5a8a44196b3cf099f8c9b0156bd902eaec0b4e5f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate elfkit 0.0.7 [INFO] finished tweaking crates.io crate elfkit 0.0.7 [INFO] tweaked toml for crates.io crate elfkit 0.0.7 written to /workspace/builds/worker-0/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+5a8a44196b3cf099f8c9b0156bd902eaec0b4e5f" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+5a8a44196b3cf099f8c9b0156bd902eaec0b4e5f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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" "+5a8a44196b3cf099f8c9b0156bd902eaec0b4e5f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b1a810efd442dfa235b6296d4cb000232c45e7bc9ba1a6198f011d13e31505f1 [INFO] running `Command { std: "docker" "start" "-a" "b1a810efd442dfa235b6296d4cb000232c45e7bc9ba1a6198f011d13e31505f1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b1a810efd442dfa235b6296d4cb000232c45e7bc9ba1a6198f011d13e31505f1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b1a810efd442dfa235b6296d4cb000232c45e7bc9ba1a6198f011d13e31505f1", kill_on_drop: false }` [INFO] [stdout] b1a810efd442dfa235b6296d4cb000232c45e7bc9ba1a6198f011d13e31505f1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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" "+5a8a44196b3cf099f8c9b0156bd902eaec0b4e5f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 437e6c763c4d79cb71a720592720cc43930e76ec9221f66c8ca48b1750e1e4cf [INFO] running `Command { std: "docker" "start" "-a" "437e6c763c4d79cb71a720592720cc43930e76ec9221f66c8ca48b1750e1e4cf", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.98 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.5 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Compiling memchr v2.4.0 [INFO] [stderr] Compiling crossbeam-epoch v0.9.5 [INFO] [stderr] Compiling log v0.4.14 [INFO] [stderr] Compiling rayon-core v1.9.1 [INFO] [stderr] Checking regex-syntax v0.6.25 [INFO] [stderr] Checking quick-error v1.2.3 [INFO] [stderr] Checking ppv-lite86 v0.2.10 [INFO] [stderr] Checking either v1.6.1 [INFO] [stderr] Checking termcolor v1.1.2 [INFO] [stderr] Checking arrayref v0.3.6 [INFO] [stderr] Checking hashbrown v0.11.2 [INFO] [stderr] Checking fake-simd v0.1.2 [INFO] [stderr] Checking fnv v1.0.7 [INFO] [stderr] Checking bit-vec v0.5.1 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling memoffset v0.6.4 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling rayon v1.5.1 [INFO] [stderr] Compiling indexmap v1.7.0 [INFO] [stderr] Checking bloom v0.3.2 [INFO] [stderr] Checking ar v0.6.2 [INFO] [stderr] Compiling syn v0.11.11 [INFO] [stderr] Checking generic-array v0.9.1 [INFO] [stderr] Checking block-buffer v0.3.3 [INFO] [stderr] Checking humantime v1.3.0 [INFO] [stderr] Checking itertools v0.7.11 [INFO] [stderr] Checking digest v0.7.6 [INFO] [stderr] Checking sha2 v0.7.1 [INFO] [stderr] Checking aho-corasick v0.7.18 [INFO] [stderr] Checking crossbeam-channel v0.5.1 [INFO] [stderr] Checking crossbeam-deque v0.8.0 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking getrandom v0.2.3 [INFO] [stderr] Checking time v0.1.43 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking clap v2.33.3 [INFO] [stderr] Checking colored v1.9.3 [INFO] [stderr] Checking rand_core v0.6.3 [INFO] [stderr] Compiling num-traits v0.1.43 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Compiling enum-primitive-derive v0.1.2 [INFO] [stderr] Checking rand v0.8.4 [INFO] [stderr] Checking chrono v0.4.19 [INFO] [stderr] Checking regex v1.5.4 [INFO] [stderr] Checking tempfile v3.2.0 [INFO] [stderr] Checking env_logger v0.5.13 [INFO] [stderr] Checking pretty_env_logger v0.2.5 [INFO] [stderr] Checking elfkit v0.0.7 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/dynamic.rs:109:17 [INFO] [stdout] | [INFO] [stdout] 109 | ) -> Result<(usize), Error> [INFO] [stdout] | ^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/elf.rs:606:9 [INFO] [stdout] | [INFO] [stdout] 606 | / ///TODO this is shitty, because we need to replicate all the alignment code [INFO] [stdout] 607 | | ///also most of those sections dont actually need to be moved [INFO] [stdout] | |_____________________________________________________________________^ [INFO] [stdout] 608 | / for sec in &mut self.sections[1..] { [INFO] [stdout] 609 | | if sec.header.addralign > 0 { [INFO] [stdout] 610 | | let oa = hoff % sec.header.addralign; [INFO] [stdout] 611 | | if oa != 0 { [INFO] [stdout] ... | [INFO] [stdout] 614 | | } [INFO] [stdout] 615 | | } [INFO] [stdout] | |_________- rustdoc does not generate documentation for expressions [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/elf.rs:682:59 [INFO] [stdout] | [INFO] [stdout] 682 | pub fn remove_section(&mut self, at: usize) -> Result<(Section), Error> { [INFO] [stdout] | ^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/loader.rs:39:30 [INFO] [stdout] | [INFO] [stdout] 39 | read: RefCell>, [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn ReadSeekSend` [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/loader.rs:233:50 [INFO] [stdout] | [INFO] [stdout] 233 | fn make_object(name: String, io: RefCell>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn ReadSeekSend` [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 type [INFO] [stdout] --> src/relocation.rs:180:17 [INFO] [stdout] | [INFO] [stdout] 180 | ) -> Result<(usize), Error> [INFO] [stdout] | ^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/symbol.rs:173:17 [INFO] [stdout] | [INFO] [stdout] 173 | ) -> Result<(usize), Error> [INFO] [stdout] | ^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/dynamic.rs:109:17 [INFO] [stdout] | [INFO] [stdout] 109 | ) -> Result<(usize), Error> [INFO] [stdout] | ^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/elf.rs:606:9 [INFO] [stdout] | [INFO] [stdout] 606 | / ///TODO this is shitty, because we need to replicate all the alignment code [INFO] [stdout] 607 | | ///also most of those sections dont actually need to be moved [INFO] [stdout] | |_____________________________________________________________________^ [INFO] [stdout] 608 | / for sec in &mut self.sections[1..] { [INFO] [stdout] 609 | | if sec.header.addralign > 0 { [INFO] [stdout] 610 | | let oa = hoff % sec.header.addralign; [INFO] [stdout] 611 | | if oa != 0 { [INFO] [stdout] ... | [INFO] [stdout] 614 | | } [INFO] [stdout] 615 | | } [INFO] [stdout] | |_________- rustdoc does not generate documentation for expressions [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/elf.rs:682:59 [INFO] [stdout] | [INFO] [stdout] 682 | pub fn remove_section(&mut self, at: usize) -> Result<(Section), Error> { [INFO] [stdout] | ^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/loader.rs:39:30 [INFO] [stdout] | [INFO] [stdout] 39 | read: RefCell>, [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn ReadSeekSend` [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/loader.rs:233:50 [INFO] [stdout] | [INFO] [stdout] 233 | fn make_object(name: String, io: RefCell>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn ReadSeekSend` [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 type [INFO] [stdout] --> src/relocation.rs:180:17 [INFO] [stdout] | [INFO] [stdout] 180 | ) -> Result<(usize), Error> [INFO] [stdout] | ^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/symbol.rs:173:17 [INFO] [stdout] | [INFO] [stdout] 173 | ) -> Result<(usize), Error> [INFO] [stdout] | ^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 7 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> bin/ld.rs:627:91 [INFO] [stdout] | [INFO] [stdout] 627 | .find(|&(_,s)|s.bind == types::SymbolBind::GLOBAL).map(|(i,_)|i).unwrap_or(0);; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> tests/layout.rs:146:46 [INFO] [stdout] | [INFO] [stdout] 146 | let phdr = phdr_segments.get(0).unwrap();; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> tests/layout.rs:158:49 [INFO] [stdout] | [INFO] [stdout] 158 | let segment = load_segments.get(0).unwrap();; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> tests/layout.rs:255:50 [INFO] [stdout] | [INFO] [stdout] 255 | let segment0 = load_segments.get(0).unwrap();; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> tests/layout.rs:256:50 [INFO] [stdout] | [INFO] [stdout] 256 | let segment1 = load_segments.get(1).unwrap();; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> tests/layout.rs:306:50 [INFO] [stdout] | [INFO] [stdout] 306 | let segment0 = load_segments.get(0).unwrap();; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> tests/layout.rs:307:50 [INFO] [stdout] | [INFO] [stdout] 307 | let segment1 = load_segments.get(1).unwrap();; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> tests/layout.rs:308:50 [INFO] [stdout] | [INFO] [stdout] 308 | let segment2 = load_segments.get(2).unwrap();; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> tests/layout.rs:471:50 [INFO] [stdout] | [INFO] [stdout] 471 | let segment0 = load_segments.get(0).unwrap();; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> bin/ld.rs:627:91 [INFO] [stdout] | [INFO] [stdout] 627 | .find(|&(_,s)|s.bind == types::SymbolBind::GLOBAL).map(|(i,_)|i).unwrap_or(0);; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 7 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> bin/ld.rs:62:35 [INFO] [stdout] | [INFO] [stdout] 62 | Err(e) => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 62 | Err(e) => panic!("{}", e), [INFO] [stdout] | ^^^^^ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 62 | Err(e) => std::panic::panic_any(e), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> bin/ld.rs:62:35 [INFO] [stdout] | [INFO] [stdout] 62 | Err(e) => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 62 | Err(e) => panic!("{}", e), [INFO] [stdout] | ^^^^^ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 62 | Err(e) => std::panic::panic_any(e), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 10.59s [INFO] running `Command { std: "docker" "inspect" "437e6c763c4d79cb71a720592720cc43930e76ec9221f66c8ca48b1750e1e4cf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "437e6c763c4d79cb71a720592720cc43930e76ec9221f66c8ca48b1750e1e4cf", kill_on_drop: false }` [INFO] [stdout] 437e6c763c4d79cb71a720592720cc43930e76ec9221f66c8ca48b1750e1e4cf