[INFO] crate elfkit 0.0.7 is already in cache [INFO] testing elfkit-0.0.7 against 1.44.0 for beta-1.45-1 [INFO] extracting crate elfkit 0.0.7 into /workspace/builds/worker-4/source [INFO] validating manifest of crates.io crate elfkit 0.0.7 on toolchain 1.44.0 [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "read-manifest" "--manifest-path" "Cargo.toml"` [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-4/source/Cargo.toml [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "build" "--frozen"` [INFO] [stdout] d274f3223f36633986a17701741e228ecba69bfcbd4b3652e11688c09b5b10a1 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `"docker" "start" "-a" "d274f3223f36633986a17701741e228ecba69bfcbd4b3652e11688c09b5b10a1"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling bit-vec v0.5.1 [INFO] [stderr] Compiling itertools v0.7.11 [INFO] [stderr] Compiling bloom v0.3.2 [INFO] [stderr] Compiling ar v0.6.2 [INFO] [stderr] Compiling enum-primitive-derive v0.1.2 [INFO] [stderr] Compiling chrono v0.4.11 [INFO] [stderr] Compiling pretty_env_logger v0.2.5 [INFO] [stderr] Compiling elfkit v0.0.7 (/opt/rustwide/workdir) [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] Finished dev [unoptimized + debuginfo] target(s) in 12.30s [INFO] running `"docker" "inspect" "d274f3223f36633986a17701741e228ecba69bfcbd4b3652e11688c09b5b10a1"` [INFO] running `"docker" "rm" "-f" "d274f3223f36633986a17701741e228ecba69bfcbd4b3652e11688c09b5b10a1"` [INFO] [stdout] d274f3223f36633986a17701741e228ecba69bfcbd4b3652e11688c09b5b10a1 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "test" "--frozen" "--no-run"` [INFO] [stdout] 8ad211909814a290e97e3021ad6d19daa027e8256729a01824862c04c29a7f3a [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `"docker" "start" "-a" "8ad211909814a290e97e3021ad6d19daa027e8256729a01824862c04c29a7f3a"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling elfkit v0.0.7 (/opt/rustwide/workdir) [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] --> 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: 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: 1 warning 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: 8 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: 7 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 4.36s [INFO] running `"docker" "inspect" "8ad211909814a290e97e3021ad6d19daa027e8256729a01824862c04c29a7f3a"` [INFO] running `"docker" "rm" "-f" "8ad211909814a290e97e3021ad6d19daa027e8256729a01824862c04c29a7f3a"` [INFO] [stdout] 8ad211909814a290e97e3021ad6d19daa027e8256729a01824862c04c29a7f3a [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "test" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 2451344f25f752e42eda194e3703fbed0413cce9dd344f18069acbeb1525b80d [INFO] running `"docker" "start" "-a" "2451344f25f752e42eda194e3703fbed0413cce9dd344f18069acbeb1525b80d"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [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] --> 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: 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: 1 warning emitted [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] --> 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] Finished test [unoptimized + debuginfo] target(s) in 0.07s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/elfkit-8189d4eb57411eec [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test strtab::tests::test_insert_prefix ... ok [INFO] [stdout] test strtab::tests::test_insert_suffix ... ok [INFO] [stdout] test strtab::tests::test_insert_then_get ... ok [INFO] [stdout] test strtab::tests::test_starting_data ... ok [INFO] [stdout] test strtab::tests::test_only_data ... ok [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/ld-d7edf583c679717e [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/ldd-5cf60611978039e0 [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-93c57ca6ecb26d7a [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/readelf-d84b3d701358be1e [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-ac2cd5aff690fcae [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test layout_align ... ok [INFO] [stdout] test layout_many_bss ... ok [INFO] [stdout] test layout_text_and_bss_2 ... ok [INFO] [stdout] test layout_just_text ... ok [INFO] [stdout] test layout_dynamic_and_interp ... ok [INFO] [stdout] test layout_stable ... ok [INFO] [stdout] test layout_text_and_bss_1 ... 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-f1347d6eb4174aa8 [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] [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 `"docker" "inspect" "2451344f25f752e42eda194e3703fbed0413cce9dd344f18069acbeb1525b80d"` [INFO] running `"docker" "rm" "-f" "2451344f25f752e42eda194e3703fbed0413cce9dd344f18069acbeb1525b80d"` [INFO] [stdout] 2451344f25f752e42eda194e3703fbed0413cce9dd344f18069acbeb1525b80d