[INFO] fetching crate elfkit 0.0.7...
[INFO] testing elfkit-0.0.7 against 1.54.0 for beta-1.55-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.54.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "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-4/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "fetch" "--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-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" "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" "+1.54.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 399c25bd4553f03b6cdad88f80f008811285d2ae7fc9c3364b0b338bed24e4e7
[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" "399c25bd4553f03b6cdad88f80f008811285d2ae7fc9c3364b0b338bed24e4e7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "399c25bd4553f03b6cdad88f80f008811285d2ae7fc9c3364b0b338bed24e4e7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "399c25bd4553f03b6cdad88f80f008811285d2ae7fc9c3364b0b338bed24e4e7", kill_on_drop: false }`
[INFO] [stdout] 399c25bd4553f03b6cdad88f80f008811285d2ae7fc9c3364b0b338bed24e4e7
[INFO] running `Command { std: "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" "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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "build" "--frozen" "--message-format=json", 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] 2308276dc878cd8011182b18f8e9ea64380dc49ea2d21964fe0027c5ad08faa6
[INFO] running `Command { std: "docker" "start" "-a" "2308276dc878cd8011182b18f8e9ea64380dc49ea2d21964fe0027c5ad08faa6", kill_on_drop: false }`
[INFO] [stderr]    Compiling byte-tools v0.2.0
[INFO] [stderr]    Compiling itertools v0.7.11
[INFO] [stderr]    Compiling bloom v0.3.2
[INFO] [stderr]    Compiling ar v0.6.2
[INFO] [stderr]    Compiling generic-array v0.9.1
[INFO] [stderr]    Compiling chrono v0.4.19
[INFO] [stderr]    Compiling env_logger v0.5.13
[INFO] [stderr]    Compiling enum-primitive-derive v0.1.2
[INFO] [stderr]    Compiling block-buffer v0.3.3
[INFO] [stderr]    Compiling digest v0.7.6
[INFO] [stderr]    Compiling sha2 v0.7.1
[INFO] [stderr]    Compiling pretty_env_logger v0.2.5
[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<Box<ReadSeekSend>>,
[INFO] [stdout]    |                              ^^^^^^^^^^^^ help: use `dyn`: `dyn ReadSeekSend`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/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<Box<ReadSeekSend>>) -> Result<State, Error> {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^ help: use `dyn`: `dyn ReadSeekSend`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/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: 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_panic)]` on by default
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[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 11.83s
[INFO] running `Command { std: "docker" "inspect" "2308276dc878cd8011182b18f8e9ea64380dc49ea2d21964fe0027c5ad08faa6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2308276dc878cd8011182b18f8e9ea64380dc49ea2d21964fe0027c5ad08faa6", kill_on_drop: false }`
[INFO] [stdout] 2308276dc878cd8011182b18f8e9ea64380dc49ea2d21964fe0027c5ad08faa6
[INFO] running `Command { std: "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" "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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 34b7a997d67bb5213d9720d325c46325257a8f5b98ff38f36c203279dff55fb6
[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" "34b7a997d67bb5213d9720d325c46325257a8f5b98ff38f36c203279dff55fb6", kill_on_drop: false }`
[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] [stderr]    Compiling elfkit v0.0.7 (/opt/rustwide/workdir)
[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<Box<ReadSeekSend>>,
[INFO] [stdout]    |                              ^^^^^^^^^^^^ help: use `dyn`: `dyn ReadSeekSend`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/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<Box<ReadSeekSend>>) -> Result<State, Error> {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^ help: use `dyn`: `dyn ReadSeekSend`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/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: 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_panic)]` on by default
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[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: 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: 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_panic)]` on by default
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[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: 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<Box<ReadSeekSend>>,
[INFO] [stdout]    |                              ^^^^^^^^^^^^ help: use `dyn`: `dyn ReadSeekSend`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/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<Box<ReadSeekSend>>) -> Result<State, Error> {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^ help: use `dyn`: `dyn ReadSeekSend`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/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: 2 warnings 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 3.96s
[INFO] running `Command { std: "docker" "inspect" "34b7a997d67bb5213d9720d325c46325257a8f5b98ff38f36c203279dff55fb6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "34b7a997d67bb5213d9720d325c46325257a8f5b98ff38f36c203279dff55fb6", kill_on_drop: false }`
[INFO] [stdout] 34b7a997d67bb5213d9720d325c46325257a8f5b98ff38f36c203279dff55fb6
[INFO] running `Command { std: "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" "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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.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] 9acd42aa47c06687b92dfff3665feb2cc067253a9c8ca5bf391eed9b4d404722
[INFO] running `Command { std: "docker" "start" "-a" "9acd42aa47c06687b92dfff3665feb2cc067253a9c8ca5bf391eed9b4d404722", 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<Box<ReadSeekSend>>,
[INFO] [stderr]    |                              ^^^^^^^^^^^^ help: use `dyn`: `dyn ReadSeekSend`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Box<ReadSeekSend>>) -> Result<State, Error> {
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^ help: use `dyn`: `dyn ReadSeekSend`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Box<ReadSeekSend>>,
[INFO] [stderr]    |                              ^^^^^^^^^^^^ help: use `dyn`: `dyn ReadSeekSend`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Box<ReadSeekSend>>) -> Result<State, Error> {
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^ help: use `dyn`: `dyn ReadSeekSend`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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] 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: panic message is not a string literal
[INFO] [stderr]   --> bin/ld.rs:62:35
[INFO] [stderr]    |
[INFO] [stderr] 62 |                 Err(e)  => panic!(e),
[INFO] [stderr]    |                                   ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_fmt_panic)]` on by default
[INFO] [stderr]    = note: this is no longer accepted in Rust 2021
[INFO] [stderr] help: add a "{}" format string to Display the message
[INFO] [stderr]    |
[INFO] [stderr] 62 |                 Err(e)  => panic!("{}", e),
[INFO] [stderr]    |                                   ^^^^^
[INFO] [stderr] help: or use std::panic::panic_any instead
[INFO] [stderr]    |
[INFO] [stderr] 62 |                 Err(e)  => std::panic::panic_any(e),
[INFO] [stderr]    |                            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: 2 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: panic message is not a string literal
[INFO] [stderr]   --> bin/ld.rs:62:35
[INFO] [stderr]    |
[INFO] [stderr] 62 |                 Err(e)  => panic!(e),
[INFO] [stderr]    |                                   ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_fmt_panic)]` on by default
[INFO] [stderr]    = note: this is no longer accepted in Rust 2021
[INFO] [stderr] help: add a "{}" format string to Display the message
[INFO] [stderr]    |
[INFO] [stderr] 62 |                 Err(e)  => panic!("{}", e),
[INFO] [stderr]    |                                   ^^^^^
[INFO] [stderr] help: or use std::panic::panic_any instead
[INFO] [stderr]    |
[INFO] [stderr] 62 |                 Err(e)  => std::panic::panic_any(e),
[INFO] [stderr]    |                            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: 2 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/elfkit-227c851b045c80cd)
[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; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/ld-e91eb10334557ab3)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/ldd-a70d0316cdcbcf0e)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/linktree-e023e241273fdbc3)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/readelf-8c67e2b5a43a7fd9)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/layout.rs (/opt/rustwide/target/debug/deps/layout-48173e247033f53e)
[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_text_and_bss_1 ... ok
[INFO] [stdout] test layout_stable ... ok
[INFO] [stdout] test layout_just_text ... ok
[INFO] [stdout] test layout_text_and_bss_2 ... ok
[INFO] [stdout] test layout_many_bss ... ok
[INFO] [stdout] test layout_enforce_addrlock - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/simple_collector.rs (/opt/rustwide/target/debug/deps/simple_collector-1d39a0f103356266)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    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; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "9acd42aa47c06687b92dfff3665feb2cc067253a9c8ca5bf391eed9b4d404722", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9acd42aa47c06687b92dfff3665feb2cc067253a9c8ca5bf391eed9b4d404722", kill_on_drop: false }`
[INFO] [stdout] 9acd42aa47c06687b92dfff3665feb2cc067253a9c8ca5bf391eed9b4d404722
