[INFO] cloning repository https://github.com/dobrakmato/rust-brainfuck [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dobrakmato/rust-brainfuck" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdobrakmato%2Frust-brainfuck", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdobrakmato%2Frust-brainfuck'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 8fa3572c26c888987b9519d610f3b59b9d5aefee [INFO] testing dobrakmato/rust-brainfuck against try#2440211fe03bc45c89b6dc1a3df18382ce91e32b for pr-146098-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdobrakmato%2Frust-brainfuck" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/dobrakmato/rust-brainfuck [INFO] finished tweaking git repo https://github.com/dobrakmato/rust-brainfuck [INFO] tweaked toml for git repo https://github.com/dobrakmato/rust-brainfuck written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/dobrakmato/rust-brainfuck on toolchain 2440211fe03bc45c89b6dc1a3df18382ce91e32b [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/dobrakmato/rust-brainfuck already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 680201158a1a28515e34fd8237641f97fa7a0b2ed666f357c1555438d45a5e55 [INFO] running `Command { std: "docker" "start" "-a" "680201158a1a28515e34fd8237641f97fa7a0b2ed666f357c1555438d45a5e55", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "680201158a1a28515e34fd8237641f97fa7a0b2ed666f357c1555438d45a5e55", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "680201158a1a28515e34fd8237641f97fa7a0b2ed666f357c1555438d45a5e55", kill_on_drop: false }` [INFO] [stdout] 680201158a1a28515e34fd8237641f97fa7a0b2ed666f357c1555438d45a5e55 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 182ecfc82a3f64474f4d44456b8e1bc64462cafffaba896e81f506de39a77b61 [INFO] running `Command { std: "docker" "start" "-a" "182ecfc82a3f64474f4d44456b8e1bc64462cafffaba896e81f506de39a77b61", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.51 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling unicode-width v0.1.5 [INFO] [stderr] Compiling ansi_term v0.11.0 [INFO] [stderr] Compiling vec_map v0.8.1 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling atty v0.2.11 [INFO] [stderr] Compiling memmap v0.7.0 [INFO] [stderr] Compiling clap v2.33.3 [INFO] [stderr] Compiling bfjit v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin` [INFO] [stdout] --> src/main.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | #[cfg_attr(tarpaulin, skip)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: expected names are: `docsrs`, `feature`, and `test` and 31 more [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin` [INFO] [stdout] --> src/main.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 71 | #[cfg_attr(tarpaulin, skip)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin` [INFO] [stdout] --> src/main.rs:90:12 [INFO] [stdout] | [INFO] [stdout] 90 | #[cfg_attr(tarpaulin, skip)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `mul_unsigned` and `mov_to_mem_offset` are never used [INFO] [stdout] --> src/assembler.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 50 | impl<'a> Assembler<'a> { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn mul_unsigned(&mut self, reg: X64Register) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 282 | pub fn mov_to_mem_offset(&mut self, to_memory: X64Register, from_reg: X64Register, offset: i8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> src/ir.rs:24:25 [INFO] [stdout] | [INFO] [stdout] 24 | JumpIfNotZero(Link, Link), [INFO] [stdout] | ------------- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `IrOp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 24 - JumpIfNotZero(Link, Link), [INFO] [stdout] 24 + JumpIfNotZero(Link, ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Noop` is never constructed [INFO] [stdout] --> src/ir.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum IrOp { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] 11 | Noop(Link), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IrOp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/ir.rs:246:17 [INFO] [stdout] | [INFO] [stdout] 246 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 246 | pub fn iter(&self) -> Iter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `Brainfuck`, which is not FFI-safe [INFO] [stdout] --> src/compiler.rs:146:31 [INFO] [stdout] | [INFO] [stdout] 146 | pub extern "C" fn execute(self) { [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stdout] = note: this struct has unspecified layout [INFO] [stdout] note: the type is defined here [INFO] [stdout] --> src/compiler.rs:126:1 [INFO] [stdout] | [INFO] [stdout] 126 | pub struct Brainfuck { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(improper_ctypes_definitions)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.27s [INFO] running `Command { std: "docker" "inspect" "182ecfc82a3f64474f4d44456b8e1bc64462cafffaba896e81f506de39a77b61", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "182ecfc82a3f64474f4d44456b8e1bc64462cafffaba896e81f506de39a77b61", kill_on_drop: false }` [INFO] [stdout] 182ecfc82a3f64474f4d44456b8e1bc64462cafffaba896e81f506de39a77b61 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1ca390a3f24a01238ad27c185f81f6c849662cfbaffe39ec1710c8709a2c3d9b [INFO] running `Command { std: "docker" "start" "-a" "1ca390a3f24a01238ad27c185f81f6c849662cfbaffe39ec1710c8709a2c3d9b", kill_on_drop: false }` [INFO] [stderr] Compiling matches v0.1.8 [INFO] [stderr] Compiling bfjit v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin` [INFO] [stdout] --> src/main.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | #[cfg_attr(tarpaulin, skip)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: expected names are: `docsrs`, `feature`, and `test` and 31 more [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin` [INFO] [stdout] --> src/main.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 71 | #[cfg_attr(tarpaulin, skip)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin` [INFO] [stdout] --> src/main.rs:90:12 [INFO] [stdout] | [INFO] [stdout] 90 | #[cfg_attr(tarpaulin, skip)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `1` is never read [INFO] [stdout] --> src/ir.rs:24:25 [INFO] [stdout] | [INFO] [stdout] 24 | JumpIfNotZero(Link, Link), [INFO] [stdout] | ------------- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `IrOp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 24 - JumpIfNotZero(Link, Link), [INFO] [stdout] 24 + JumpIfNotZero(Link, ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/ir.rs:246:17 [INFO] [stdout] | [INFO] [stdout] 246 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 246 | pub fn iter(&self) -> Iter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `Brainfuck`, which is not FFI-safe [INFO] [stdout] --> src/compiler.rs:146:31 [INFO] [stdout] | [INFO] [stdout] 146 | pub extern "C" fn execute(self) { [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stdout] = note: this struct has unspecified layout [INFO] [stdout] note: the type is defined here [INFO] [stdout] --> src/compiler.rs:126:1 [INFO] [stdout] | [INFO] [stdout] 126 | pub struct Brainfuck { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(improper_ctypes_definitions)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/interpreter.rs:71:34 [INFO] [stdout] | [INFO] [stdout] 71 | fn make_interpreter(program: &Program) -> Interpreter { [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 71 | fn make_interpreter(program: &Program) -> Interpreter<'_, Stdin, Stdout> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.52s [INFO] running `Command { std: "docker" "inspect" "1ca390a3f24a01238ad27c185f81f6c849662cfbaffe39ec1710c8709a2c3d9b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1ca390a3f24a01238ad27c185f81f6c849662cfbaffe39ec1710c8709a2c3d9b", kill_on_drop: false }` [INFO] [stdout] 1ca390a3f24a01238ad27c185f81f6c849662cfbaffe39ec1710c8709a2c3d9b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] d106939fd403c6b5ab84843d86b580fa135b2b635a06ed2c503516c88b435a0c [INFO] running `Command { std: "docker" "start" "-a" "d106939fd403c6b5ab84843d86b580fa135b2b635a06ed2c503516c88b435a0c", kill_on_drop: false }` [INFO] [stderr] warning: unexpected `cfg` condition name: `tarpaulin` [INFO] [stderr] --> src/main.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 14 | #[cfg_attr(tarpaulin, skip)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: expected names are: `docsrs`, `feature`, and `test` and 31 more [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `tarpaulin` [INFO] [stderr] --> src/main.rs:71:12 [INFO] [stderr] | [INFO] [stderr] 71 | #[cfg_attr(tarpaulin, skip)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `tarpaulin` [INFO] [stderr] --> src/main.rs:90:12 [INFO] [stderr] | [INFO] [stderr] 90 | #[cfg_attr(tarpaulin, skip)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: field `1` is never read [INFO] [stderr] --> src/ir.rs:24:25 [INFO] [stderr] | [INFO] [stderr] 24 | JumpIfNotZero(Link, Link), [INFO] [stderr] | ------------- ^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `IrOp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 24 - JumpIfNotZero(Link, Link), [INFO] [stderr] 24 + JumpIfNotZero(Link, ()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/ir.rs:246:17 [INFO] [stderr] | [INFO] [stderr] 246 | pub fn iter(&self) -> Iter { [INFO] [stderr] | ^^^^^ ^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 246 | pub fn iter(&self) -> Iter<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: `extern` fn uses type `Brainfuck`, which is not FFI-safe [INFO] [stderr] --> src/compiler.rs:146:31 [INFO] [stderr] | [INFO] [stderr] 146 | pub extern "C" fn execute(self) { [INFO] [stderr] | ^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stderr] = note: this struct has unspecified layout [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/compiler.rs:126:1 [INFO] [stderr] | [INFO] [stderr] 126 | pub struct Brainfuck { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = note: `#[warn(improper_ctypes_definitions)]` on by default [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/interpreter.rs:71:34 [INFO] [stderr] | [INFO] [stderr] 71 | fn make_interpreter(program: &Program) -> Interpreter { [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 71 | fn make_interpreter(program: &Program) -> Interpreter<'_, Stdin, Stdout> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: `bfjit` (bin "bfjit" test) generated 7 warnings (run `cargo fix --bin "bfjit" --tests` to apply 2 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/bfjit-2fd6ce80470f74ad) [INFO] [stdout] [INFO] [stdout] running 46 tests [INFO] [stdout] test assembler::test::add ... ok [INFO] [stdout] test assembler::test::add_indirect ... ok [INFO] [stdout] test assembler::test::add_to_mem_offset ... ok [INFO] [stdout] test assembler::test::call ... ok [INFO] [stdout] test assembler::test::mov_to_memory ... ok [INFO] [stdout] test assembler::test::je ... ok [INFO] [stdout] test assembler::test::mov_to_reg ... ok [INFO] [stdout] test assembler::test::jne ... ok [INFO] [stdout] test assembler::test::mov ... ok [INFO] [stdout] test assembler::test::mov_indirect ... ok [INFO] [stdout] test assembler::test::mov_to_mem_offset ... ok [INFO] [stdout] test assembler::test::pop ... ok [INFO] [stdout] test assembler::test::push ... ok [INFO] [stdout] test assembler::test::sub_indirect ... ok [INFO] [stdout] test brainfuck::test::check_supported_ops ... ok [INFO] [stdout] test assembler::test::mul_signed ... ok [INFO] [stdout] test brainfuck::test::find_matching_parentheses ... ok [INFO] [stdout] test brainfuck::test::ignores_comments ... ok [INFO] [stdout] test assembler::test::ret ... ok [INFO] [stdout] test assembler::test::sub ... ok [INFO] [stdout] test interpreter::test::can_write_output ... ok [INFO] [stdout] test assembler::test::mul_unsigned ... ok [INFO] [stdout] test compiler::test::can_run_pi_bf ... ok [INFO] [stdout] test interpreter::test::decrement_memory ... ok [INFO] [stdout] test interpreter::test::increment_memory ... ok [INFO] [stdout] test compiler::test::does_not_crash ... ok [INFO] [stdout] test compiler::test::copy_multiplied ... ok [INFO] [stdout] test assembler::test::cmp_indirect ... ok [INFO] [stdout] test interpreter::test::can_read_input ... ok [INFO] [stdout] test interpreter::test::loops_work ... ok [INFO] [stdout] test interpreter::test::move_ptr ... ok [INFO] [stdout] test ir::test::len ... ok [INFO] [stdout] test ir::test::can_print_debug ... ok [INFO] [stdout] test ir::test::optimizes_clear_loops ... ok [INFO] [stdout] test ir::test::optimizes_consecutive_adds ... ok [INFO] [stdout] test ir::test::optimizes_consecutive_mixed_adds ... ok [INFO] [stdout] test ir::test::optimizes_consecutive_mixed_lefts_rights ... ok [INFO] [stdout] test ir::test::optimizes_consecutive_sets ... ok [INFO] [stdout] test ir::test::optimizes_consecutive_subtractions ... ok [INFO] [stdout] test ir::test::multiplication_loop_negative_bug ... ok [INFO] [stdout] test ir::test::optimizes_multiplication_loops ... ok [INFO] [stdout] test ir::test::optimizes_adds_following_preceding_clear_loops ... ok [INFO] [stdout] test ir::test::iter ... ok [INFO] [stdout] test ir::test::optimizes_tail_instructions ... ok [INFO] [stdout] test ir::test::optimizes_consecutive_lefts_rights ... ok [INFO] [stdout] test interpreter::test::can_run_pi_bf ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 46 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "d106939fd403c6b5ab84843d86b580fa135b2b635a06ed2c503516c88b435a0c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d106939fd403c6b5ab84843d86b580fa135b2b635a06ed2c503516c88b435a0c", kill_on_drop: false }` [INFO] [stdout] d106939fd403c6b5ab84843d86b580fa135b2b635a06ed2c503516c88b435a0c