[INFO] fetching crate elfkit 0.0.7... [INFO] testing elfkit-0.0.7 against 1.49.0 for beta-1.50-1 [INFO] extracting crate elfkit 0.0.7 into /workspace/builds/worker-5/source [INFO] validating manifest of crates.io crate elfkit 0.0.7 on toolchain 1.49.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.49.0" "read-manifest" "--manifest-path" "Cargo.toml", 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-5/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.49.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.49.0" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "rustops/crates-build-env@sha256:c8ac004eab7d63a0ad09a2dde3d3353ba464f767bee4de425dc8f74c46a1905e" "/opt/rustwide/cargo-home/bin/cargo" "+1.49.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] eb5008d76e1c805a8c9ed6097a3d596b72ddba5066c847d1c889aa16c71fda8e [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" "eb5008d76e1c805a8c9ed6097a3d596b72ddba5066c847d1c889aa16c71fda8e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "eb5008d76e1c805a8c9ed6097a3d596b72ddba5066c847d1c889aa16c71fda8e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "eb5008d76e1c805a8c9ed6097a3d596b72ddba5066c847d1c889aa16c71fda8e", kill_on_drop: false }` [INFO] [stdout] eb5008d76e1c805a8c9ed6097a3d596b72ddba5066c847d1c889aa16c71fda8e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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=warn" "-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" "rustops/crates-build-env@sha256:c8ac004eab7d63a0ad09a2dde3d3353ba464f767bee4de425dc8f74c46a1905e" "/opt/rustwide/cargo-home/bin/cargo" "+1.49.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 662cf9277a0519f0699c016efe49a8ea5b4e1201ab49d976c9c6e52edf21bf16 [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" "662cf9277a0519f0699c016efe49a8ea5b4e1201ab49d976c9c6e52edf21bf16", kill_on_drop: false }` [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Compiling unicode-xid v0.0.4 [INFO] [stderr] Compiling ppv-lite86 v0.2.10 [INFO] [stderr] Compiling arrayref v0.3.6 [INFO] [stderr] Compiling quote v0.3.15 [INFO] [stderr] Compiling byte-tools v0.2.0 [INFO] [stderr] Compiling bit-vec v0.4.4 [INFO] [stderr] Compiling remove_dir_all v0.5.3 [INFO] [stderr] Compiling bit-vec v0.5.1 [INFO] [stderr] Compiling itertools v0.7.11 [INFO] [stderr] Compiling generic-array v0.9.0 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling ar v0.6.2 [INFO] [stderr] Compiling colored v1.9.3 [INFO] [stderr] Compiling env_logger v0.5.13 [INFO] [stderr] Compiling synom v0.11.3 [INFO] [stderr] Compiling bloom v0.3.2 [INFO] [stderr] Compiling block-buffer v0.3.3 [INFO] [stderr] Compiling digest v0.7.6 [INFO] [stderr] Compiling syn v0.11.11 [INFO] [stderr] Compiling chrono v0.4.19 [INFO] [stderr] Compiling sha2 v0.7.1 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling rand_chacha v0.2.2 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Compiling pretty_env_logger v0.2.5 [INFO] [stderr] Compiling enum-primitive-derive v0.1.2 [INFO] [stderr] Compiling tempfile v3.1.0 [INFO] [stderr] Compiling 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] [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] [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] [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: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 22.81s [INFO] running `Command { std: "docker" "inspect" "662cf9277a0519f0699c016efe49a8ea5b4e1201ab49d976c9c6e52edf21bf16", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "662cf9277a0519f0699c016efe49a8ea5b4e1201ab49d976c9c6e52edf21bf16", kill_on_drop: false }` [INFO] [stdout] 662cf9277a0519f0699c016efe49a8ea5b4e1201ab49d976c9c6e52edf21bf16 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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=warn" "-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" "rustops/crates-build-env@sha256:c8ac004eab7d63a0ad09a2dde3d3353ba464f767bee4de425dc8f74c46a1905e" "/opt/rustwide/cargo-home/bin/cargo" "+1.49.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8fc2552d20370ab4c59c35bec73d3d1d025096d80ba4b4d1d97eec0fce58f3bb [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" "8fc2552d20370ab4c59c35bec73d3d1d025096d80ba4b4d1d97eec0fce58f3bb", kill_on_drop: false }` [INFO] [stderr] Compiling 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] [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] [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] [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: 1 warning emitted [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: 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] [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] [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] [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: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 7 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 5.31s [INFO] running `Command { std: "docker" "inspect" "8fc2552d20370ab4c59c35bec73d3d1d025096d80ba4b4d1d97eec0fce58f3bb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8fc2552d20370ab4c59c35bec73d3d1d025096d80ba4b4d1d97eec0fce58f3bb", kill_on_drop: false }` [INFO] [stdout] 8fc2552d20370ab4c59c35bec73d3d1d025096d80ba4b4d1d97eec0fce58f3bb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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=warn" "-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" "rustops/crates-build-env@sha256:c8ac004eab7d63a0ad09a2dde3d3353ba464f767bee4de425dc8f74c46a1905e" "/opt/rustwide/cargo-home/bin/cargo" "+1.49.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 384c4db2c843701f49556b7a187138e207069e5ffc6bcb70a54fc034f679f34f [INFO] running `Command { std: "docker" "start" "-a" "384c4db2c843701f49556b7a187138e207069e5ffc6bcb70a54fc034f679f34f", kill_on_drop: false }` [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/dynamic.rs:109:17 [INFO] [stderr] | [INFO] [stderr] 109 | ) -> Result<(usize), Error> [INFO] [stderr] | ^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/elf.rs:606:9 [INFO] [stderr] | [INFO] [stderr] 606 | / ///TODO this is shitty, because we need to replicate all the alignment code [INFO] [stderr] 607 | | ///also most of those sections dont actually need to be moved [INFO] [stderr] | |_____________________________________________________________________^ [INFO] [stderr] 608 | / for sec in &mut self.sections[1..] { [INFO] [stderr] 609 | | if sec.header.addralign > 0 { [INFO] [stderr] 610 | | let oa = hoff % sec.header.addralign; [INFO] [stderr] 611 | | if oa != 0 { [INFO] [stderr] ... | [INFO] [stderr] 614 | | } [INFO] [stderr] 615 | | } [INFO] [stderr] | |_________- rustdoc does not generate documentation for expressions [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/elf.rs:682:59 [INFO] [stderr] | [INFO] [stderr] 682 | pub fn remove_section(&mut self, at: usize) -> Result<(Section), Error> { [INFO] [stderr] | ^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/loader.rs:39:30 [INFO] [stderr] | [INFO] [stderr] 39 | read: RefCell>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn ReadSeekSend` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/loader.rs:233:50 [INFO] [stderr] | [INFO] [stderr] 233 | fn make_object(name: String, io: RefCell>) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn ReadSeekSend` [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/relocation.rs:180:17 [INFO] [stderr] | [INFO] [stderr] 180 | ) -> Result<(usize), Error> [INFO] [stderr] | ^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/symbol.rs:173:17 [INFO] [stderr] | [INFO] [stderr] 173 | ) -> Result<(usize), Error> [INFO] [stderr] | ^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: 7 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/dynamic.rs:109:17 [INFO] [stderr] | [INFO] [stderr] 109 | ) -> Result<(usize), Error> [INFO] [stderr] | ^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/elf.rs:606:9 [INFO] [stderr] | [INFO] [stderr] 606 | / ///TODO this is shitty, because we need to replicate all the alignment code [INFO] [stderr] 607 | | ///also most of those sections dont actually need to be moved [INFO] [stderr] | |_____________________________________________________________________^ [INFO] [stderr] 608 | / for sec in &mut self.sections[1..] { [INFO] [stderr] 609 | | if sec.header.addralign > 0 { [INFO] [stderr] 610 | | let oa = hoff % sec.header.addralign; [INFO] [stderr] 611 | | if oa != 0 { [INFO] [stderr] ... | [INFO] [stderr] 614 | | } [INFO] [stderr] 615 | | } [INFO] [stderr] | |_________- rustdoc does not generate documentation for expressions [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/elf.rs:682:59 [INFO] [stderr] | [INFO] [stderr] 682 | pub fn remove_section(&mut self, at: usize) -> Result<(Section), Error> { [INFO] [stderr] | ^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/loader.rs:39:30 [INFO] [stderr] | [INFO] [stderr] 39 | read: RefCell>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn ReadSeekSend` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/loader.rs:233:50 [INFO] [stderr] | [INFO] [stderr] 233 | fn make_object(name: String, io: RefCell>) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn ReadSeekSend` [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/relocation.rs:180:17 [INFO] [stderr] | [INFO] [stderr] 180 | ) -> Result<(usize), Error> [INFO] [stderr] | ^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/symbol.rs:173:17 [INFO] [stderr] | [INFO] [stderr] 173 | ) -> Result<(usize), Error> [INFO] [stderr] | ^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: 7 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> bin/ld.rs:627:91 [INFO] [stderr] | [INFO] [stderr] 627 | .find(|&(_,s)|s.bind == types::SymbolBind::GLOBAL).map(|(i,_)|i).unwrap_or(0);; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 1 warning emitted [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> tests/layout.rs:146:46 [INFO] [stderr] | [INFO] [stderr] 146 | let phdr = phdr_segments.get(0).unwrap();; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> tests/layout.rs:158:49 [INFO] [stderr] | [INFO] [stderr] 158 | let segment = load_segments.get(0).unwrap();; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> tests/layout.rs:255:50 [INFO] [stderr] | [INFO] [stderr] 255 | let segment0 = load_segments.get(0).unwrap();; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> tests/layout.rs:256:50 [INFO] [stderr] | [INFO] [stderr] 256 | let segment1 = load_segments.get(1).unwrap();; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> tests/layout.rs:306:50 [INFO] [stderr] | [INFO] [stderr] 306 | let segment0 = load_segments.get(0).unwrap();; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> tests/layout.rs:307:50 [INFO] [stderr] | [INFO] [stderr] 307 | let segment1 = load_segments.get(1).unwrap();; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> tests/layout.rs:308:50 [INFO] [stderr] | [INFO] [stderr] 308 | let segment2 = load_segments.get(2).unwrap();; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> tests/layout.rs:471:50 [INFO] [stderr] | [INFO] [stderr] 471 | let segment0 = load_segments.get(0).unwrap();; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: 8 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> bin/ld.rs:627:91 [INFO] [stderr] | [INFO] [stderr] 627 | .find(|&(_,s)|s.bind == types::SymbolBind::GLOBAL).map(|(i,_)|i).unwrap_or(0);; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 1 warning emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.07s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/elfkit-e631459254d0f6e3 [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test strtab::tests::test_insert_prefix ... ok [INFO] [stdout] test strtab::tests::test_only_data ... ok [INFO] [stdout] test strtab::tests::test_starting_data ... ok [INFO] [stdout] test strtab::tests::test_insert_suffix ... ok [INFO] [stdout] test strtab::tests::test_insert_then_get ... ok [INFO] [stderr] Running /opt/rustwide/target/debug/deps/ld-32b4d67a4add2e3f [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] Running /opt/rustwide/target/debug/deps/ldd-9dcb1f0483c9fa20 [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 [INFO] [stdout] [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 [INFO] [stdout] [INFO] [stderr] Running /opt/rustwide/target/debug/deps/linktree-6ac6150dbf3e3467 [INFO] [stdout] [INFO] [stderr] Running /opt/rustwide/target/debug/deps/readelf-28eda9e1ce2027b0 [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [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 [INFO] [stdout] [INFO] [stderr] Running /opt/rustwide/target/debug/deps/layout-e60620dbe3d86791 [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test layout_align ... ok [INFO] [stdout] test layout_dynamic_and_interp ... ok [INFO] [stdout] test layout_many_bss ... ok [INFO] [stdout] test layout_text_and_bss_1 ... ok [INFO] [stdout] test layout_text_and_bss_2 ... ok [INFO] [stdout] test layout_stable ... ok [INFO] [stdout] test layout_just_text ... ok [INFO] [stdout] test layout_enforce_addrlock ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] Running /opt/rustwide/target/debug/deps/simple_collector-6d024b3c8de1923a [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 [INFO] [stdout] [INFO] [stderr] Doc-tests elfkit [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> /opt/rustwide/workdir/src/dynamic.rs:109:17 [INFO] [stderr] | [INFO] [stderr] 109 | ) -> Result<(usize), Error> [INFO] [stderr] | ^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> /opt/rustwide/workdir/src/elf.rs:682:59 [INFO] [stderr] | [INFO] [stderr] 682 | pub fn remove_section(&mut self, at: usize) -> Result<(Section), Error> { [INFO] [stderr] | ^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> /opt/rustwide/workdir/src/relocation.rs:180:17 [INFO] [stderr] | [INFO] [stderr] 180 | ) -> Result<(usize), Error> [INFO] [stderr] | ^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> /opt/rustwide/workdir/src/symbol.rs:173:17 [INFO] [stderr] | [INFO] [stderr] 173 | ) -> Result<(usize), Error> [INFO] [stderr] | ^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: 4 warnings emitted [INFO] [stderr] [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 [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "384c4db2c843701f49556b7a187138e207069e5ffc6bcb70a54fc034f679f34f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "384c4db2c843701f49556b7a187138e207069e5ffc6bcb70a54fc034f679f34f", kill_on_drop: false }` [INFO] [stdout] 384c4db2c843701f49556b7a187138e207069e5ffc6bcb70a54fc034f679f34f