[INFO] cloning repository https://github.com/ziyefbk/rbpf [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ziyefbk/rbpf" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fziyefbk%2Frbpf", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fziyefbk%2Frbpf'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d0f39f243487ea46dc8742c56fcf348349e0dcc5 [INFO] testing ziyefbk/rbpf against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_getrandom_patch_2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fziyefbk%2Frbpf" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/ziyefbk/rbpf [INFO] finished tweaking git repo https://github.com/ziyefbk/rbpf [INFO] tweaked toml for git repo https://github.com/ziyefbk/rbpf written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/ziyefbk/rbpf on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/ziyefbk/rbpf 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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: file `/workspace/builds/worker-6-tc1/source/tests/compare.rs` found to be present in multiple build targets: [INFO] [stderr] * `bin` target `compare` [INFO] [stderr] * `integration-test` target `compare` [INFO] [stderr] warning: file `/workspace/builds/worker-6-tc1/source/tests/tnum_test.rs` found to be present in multiple build targets: [INFO] [stderr] * `bin` target `tnum_test` [INFO] [stderr] * `integration-test` target `tnum_test` [INFO] [stderr] warning: unused manifest key: lib.include [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded assoc v0.1.3 [INFO] [stderr] Downloaded derive_arbitrary v1.1.0 [INFO] [stderr] Downloaded windows-result v0.1.1 [INFO] [stderr] Downloaded ascii v0.9.3 [INFO] [stderr] Downloaded arbitrary v1.1.0 [INFO] [stderr] Downloaded generator v0.8.1 [INFO] [stderr] Downloaded elf v0.0.10 [INFO] [stderr] Downloaded combine v3.8.1 [INFO] [stderr] Downloaded managed v0.8.0 [INFO] [stderr] Downloaded shuttle v0.7.1 [INFO] [stderr] Downloaded gdbstub v0.6.3 [INFO] [stderr] Downloaded libc v0.2.122 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 6682bfd40cf33d8a9a89327c216e861156e8b65a92e26231aba8aab417861b74 [INFO] running `Command { std: "docker" "start" "-a" "6682bfd40cf33d8a9a89327c216e861156e8b65a92e26231aba8aab417861b74", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6682bfd40cf33d8a9a89327c216e861156e8b65a92e26231aba8aab417861b74", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6682bfd40cf33d8a9a89327c216e861156e8b65a92e26231aba8aab417861b74", kill_on_drop: false }` [INFO] [stdout] 6682bfd40cf33d8a9a89327c216e861156e8b65a92e26231aba8aab417861b74 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 0fd2b5cca4b15da897694165386b26fb3729ed74de57d867ec35bc03232e9bbf [INFO] running `Command { std: "docker" "start" "-a" "0fd2b5cca4b15da897694165386b26fb3729ed74de57d867ec35bc03232e9bbf", kill_on_drop: false }` [INFO] [stderr] warning: file `/opt/rustwide/workdir/tests/tnum_test.rs` found to be present in multiple build targets: [INFO] [stderr] * `bin` target `tnum_test` [INFO] [stderr] * `integration-test` target `tnum_test` [INFO] [stderr] warning: file `/opt/rustwide/workdir/tests/compare.rs` found to be present in multiple build targets: [INFO] [stderr] * `bin` target `compare` [INFO] [stderr] * `integration-test` target `compare` [INFO] [stderr] warning: unused manifest key: lib.include [INFO] [stderr] Compiling libc v0.2.122 [INFO] [stderr] Compiling memchr v2.4.1 [INFO] [stderr] Compiling ppv-lite86 v0.2.16 [INFO] [stderr] Compiling void v1.0.2 [INFO] [stderr] Compiling byteorder v1.4.3 [INFO] [stderr] Compiling either v1.6.1 [INFO] [stderr] Compiling ascii v0.9.3 [INFO] [stderr] Compiling rustc-demangle v0.1.21 [INFO] [stderr] Compiling proc-macro2 v1.0.93 [INFO] [stderr] Compiling unreachable v1.0.0 [INFO] [stderr] Compiling hash32 v0.2.1 [INFO] [stderr] Compiling quote v1.0.38 [INFO] [stderr] Compiling combine v3.8.1 [INFO] [stderr] Compiling syn v2.0.96 [INFO] [stderr] Compiling getrandom v0.2.6 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling thiserror-impl v2.0.11 [INFO] [stderr] Compiling thiserror v2.0.11 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Compiling solana-sbpf v0.10.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/wrapped_interval.rs:4:16 [INFO] [stdout] | [INFO] [stdout] 4 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/wrapped_interval.rs:413:13 [INFO] [stdout] | [INFO] [stdout] 413 | (1u64 << width) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 413 - (1u64 << width) [INFO] [stdout] 413 + 1u64 << width [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sign_max` [INFO] [stdout] --> src/tnum_plus.rs:233:9 [INFO] [stdout] | [INFO] [stdout] 233 | let sign_max = (1u64 << (width - 1)) - 1; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sign_max` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sign_min` [INFO] [stdout] --> src/tnum_plus.rs:234:9 [INFO] [stdout] | [INFO] [stdout] 234 | let sign_min = 1u64 << (width - 1); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sign_min` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/wrapped_interval.rs:916:21 [INFO] [stdout] | [INFO] [stdout] 916 | let mut widen_lb = u; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/wrapped_interval.rs:941:21 [INFO] [stdout] | [INFO] [stdout] 941 | let mut widen_lb = u; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/wrapped_interval.rs:969:21 [INFO] [stdout] | [INFO] [stdout] 969 | let mut widen_ub = v; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/wrapped_interval.rs:984:21 [INFO] [stdout] | [INFO] [stdout] 984 | let mut widen_ub = v; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/wrapped_interval.rs:1066:13 [INFO] [stdout] | [INFO] [stdout] 1066 | let mut tmp = r2.clone(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/wrapped_interval.rs:1260:25 [INFO] [stdout] | [INFO] [stdout] 1260 | let b = i1.base.ub; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i1` [INFO] [stdout] --> src/wrapped_interval.rs:1302:17 [INFO] [stdout] | [INFO] [stdout] 1302 | for i1 in s1.iter() { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_i1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/wrapped_interval.rs:1284:25 [INFO] [stdout] | [INFO] [stdout] 1284 | let mut tmp = Self::new_bounds(lb, ub, width); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/wrapped_interval.rs:1318:25 [INFO] [stdout] | [INFO] [stdout] 1318 | let mut tmp = Self::new_bounds(lb, ub, self.base.width); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `var`, `num_of_changes`, `is_lattice`, and `is_signed` are never read [INFO] [stdout] --> src/wrapped_interval.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct BaseRange { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 20 | /// 变量标识符(可以为空) [INFO] [stdout] 21 | var: Option, [INFO] [stdout] | ^^^ [INFO] [stdout] 22 | /// 状态改变计数 [INFO] [stdout] 23 | num_of_changes: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 24 | /// 是否为格(lattice) [INFO] [stdout] 25 | is_lattice: bool, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | is_signed: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BaseRange` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a module [INFO] [stdout] --> src/lib.rs:49:1 [INFO] [stdout] | [INFO] [stdout] 49 | pub mod tnum_plus; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | #![warn(missing_docs)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:118:16 [INFO] [stdout] | [INFO] [stdout] 118 | pub fn add(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 118 | pub fn add(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:123:16 [INFO] [stdout] | [INFO] [stdout] 123 | pub fn sub(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 123 | pub fn sub(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:128:16 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn mul(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 128 | pub fn mul(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:133:16 [INFO] [stdout] | [INFO] [stdout] 133 | pub fn div(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 133 | pub fn div(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:138:19 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn bit_or(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 138 | pub fn bit_or(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:143:20 [INFO] [stdout] | [INFO] [stdout] 143 | pub fn bit_and(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 143 | pub fn bit_and(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:148:23 [INFO] [stdout] | [INFO] [stdout] 148 | pub fn left_shift(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 148 | pub fn left_shift(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:153:24 [INFO] [stdout] | [INFO] [stdout] 153 | pub fn right_shift(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 153 | pub fn right_shift(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:158:19 [INFO] [stdout] | [INFO] [stdout] 158 | pub fn negate(&mut self, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 158 | pub fn negate(&mut self, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:163:19 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn modulo(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 163 | pub fn modulo(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:168:20 [INFO] [stdout] | [INFO] [stdout] 168 | pub fn bit_xor(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 168 | pub fn bit_xor(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:173:16 [INFO] [stdout] | [INFO] [stdout] 173 | pub fn mov(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 173 | pub fn mov(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:178:31 [INFO] [stdout] | [INFO] [stdout] 178 | pub fn signed_right_shift(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 178 | pub fn signed_right_shift(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:183:21 [INFO] [stdout] | [INFO] [stdout] 183 | fn mov_internal(&mut self, source: Source, arch_bits: Arch, op_bits: OpBits) -> Move { [INFO] [stdout] | ^^^^^^^^^ this lifetime flows to the output ---- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 183 | fn mov_internal(&mut self, source: Source, arch_bits: Arch, op_bits: OpBits) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:194:23 [INFO] [stdout] | [INFO] [stdout] 194 | pub fn swap_bytes(&mut self, endian: Endian) -> SwapBytes { [INFO] [stdout] | ^^^^^^^^^ --------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 194 | pub fn swap_bytes(&mut self, endian: Endian) -> SwapBytes<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:203:17 [INFO] [stdout] | [INFO] [stdout] 203 | pub fn load(&mut self, mem_size: MemSize) -> Load { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 203 | pub fn load(&mut self, mem_size: MemSize) -> Load<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:208:21 [INFO] [stdout] | [INFO] [stdout] 208 | pub fn load_abs(&mut self, mem_size: MemSize) -> Load { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 208 | pub fn load_abs(&mut self, mem_size: MemSize) -> Load<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:213:21 [INFO] [stdout] | [INFO] [stdout] 213 | pub fn load_ind(&mut self, mem_size: MemSize) -> Load { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 213 | pub fn load_ind(&mut self, mem_size: MemSize) -> Load<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:218:19 [INFO] [stdout] | [INFO] [stdout] 218 | pub fn load_x(&mut self, mem_size: MemSize) -> Load { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 218 | pub fn load_x(&mut self, mem_size: MemSize) -> Load<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:223:22 [INFO] [stdout] | [INFO] [stdout] 223 | fn load_internal(&mut self, mem_size: MemSize, addressing: Addressing, source: u8) -> Load { [INFO] [stdout] | ^^^^^^^^^ this lifetime flows to the output ---- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 223 | fn load_internal(&mut self, mem_size: MemSize, addressing: Addressing, source: u8) -> Load<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:234:18 [INFO] [stdout] | [INFO] [stdout] 234 | pub fn store(&mut self, mem_size: MemSize) -> Store { [INFO] [stdout] | ^^^^^^^^^ ----- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 234 | pub fn store(&mut self, mem_size: MemSize) -> Store<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:239:20 [INFO] [stdout] | [INFO] [stdout] 239 | pub fn store_x(&mut self, mem_size: MemSize) -> Store { [INFO] [stdout] | ^^^^^^^^^ ----- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 239 | pub fn store_x(&mut self, mem_size: MemSize) -> Store<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:244:23 [INFO] [stdout] | [INFO] [stdout] 244 | fn store_internal(&mut self, mem_size: MemSize, source: u8) -> Store { [INFO] [stdout] | ^^^^^^^^^ this lifetime flows to the output ----- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 244 | fn store_internal(&mut self, mem_size: MemSize, source: u8) -> Store<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:254:31 [INFO] [stdout] | [INFO] [stdout] 254 | pub fn jump_unconditional(&mut self) -> Jump { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 254 | pub fn jump_unconditional(&mut self) -> Jump<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:259:29 [INFO] [stdout] | [INFO] [stdout] 259 | pub fn jump_conditional(&mut self, cond: Cond, src_bit: Source) -> Jump { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 259 | pub fn jump_conditional(&mut self, cond: Cond, src_bit: Source) -> Jump<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:269:17 [INFO] [stdout] | [INFO] [stdout] 269 | pub fn call(&mut self) -> FunctionCall { [INFO] [stdout] | ^^^^^^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 269 | pub fn call(&mut self) -> FunctionCall<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:277:17 [INFO] [stdout] | [INFO] [stdout] 277 | pub fn exit(&mut self) -> Exit { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 277 | pub fn exit(&mut self) -> Exit<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/tnum.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub value: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/tnum.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub mask: u64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/tnum.rs:462:5 [INFO] [stdout] | [INFO] [stdout] 462 | pub fn is_aligned(&self, size: u64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/tnum.rs:506:5 [INFO] [stdout] | [INFO] [stdout] 506 | pub fn subreg(&self) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/tnum.rs:510:5 [INFO] [stdout] | [INFO] [stdout] 510 | pub fn clear_subreg(&self) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/tnum.rs:514:5 [INFO] [stdout] | [INFO] [stdout] 514 | pub fn with_subreg(&self, subreg: Self) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/tnum.rs:518:5 [INFO] [stdout] | [INFO] [stdout] 518 | pub fn with_const_subreg(&self, value: u32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 22.10s [INFO] running `Command { std: "docker" "inspect" "0fd2b5cca4b15da897694165386b26fb3729ed74de57d867ec35bc03232e9bbf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0fd2b5cca4b15da897694165386b26fb3729ed74de57d867ec35bc03232e9bbf", kill_on_drop: false }` [INFO] [stdout] 0fd2b5cca4b15da897694165386b26fb3729ed74de57d867ec35bc03232e9bbf [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 2c6b058b63dd58028090ec15ec8a4624e3e95a0f8775974beb63add5d1a6fd28 [INFO] running `Command { std: "docker" "start" "-a" "2c6b058b63dd58028090ec15ec8a4624e3e95a0f8775974beb63add5d1a6fd28", kill_on_drop: false }` [INFO] [stderr] warning: file `/opt/rustwide/workdir/tests/compare.rs` found to be present in multiple build targets: [INFO] [stderr] * `bin` target `compare` [INFO] [stderr] * `integration-test` target `compare` [INFO] [stderr] warning: file `/opt/rustwide/workdir/tests/tnum_test.rs` found to be present in multiple build targets: [INFO] [stderr] * `bin` target `tnum_test` [INFO] [stderr] * `integration-test` target `tnum_test` [INFO] [stderr] warning: unused manifest key: lib.include [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/wrapped_interval.rs:4:16 [INFO] [stdout] | [INFO] [stdout] 4 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/wrapped_interval.rs:413:13 [INFO] [stdout] | [INFO] [stdout] 413 | (1u64 << width) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 413 - (1u64 << width) [INFO] [stdout] 413 + 1u64 << width [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sign_max` [INFO] [stdout] --> src/tnum_plus.rs:233:9 [INFO] [stdout] | [INFO] [stdout] 233 | let sign_max = (1u64 << (width - 1)) - 1; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sign_max` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sign_min` [INFO] [stdout] --> src/tnum_plus.rs:234:9 [INFO] [stdout] | [INFO] [stdout] 234 | let sign_min = 1u64 << (width - 1); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sign_min` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/wrapped_interval.rs:916:21 [INFO] [stdout] | [INFO] [stdout] 916 | let mut widen_lb = u; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/wrapped_interval.rs:941:21 [INFO] [stdout] | [INFO] [stdout] 941 | let mut widen_lb = u; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/wrapped_interval.rs:969:21 [INFO] [stdout] | [INFO] [stdout] 969 | let mut widen_ub = v; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/wrapped_interval.rs:984:21 [INFO] [stdout] | [INFO] [stdout] 984 | let mut widen_ub = v; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/wrapped_interval.rs:1066:13 [INFO] [stdout] | [INFO] [stdout] 1066 | let mut tmp = r2.clone(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/wrapped_interval.rs:1260:25 [INFO] [stdout] | [INFO] [stdout] 1260 | let b = i1.base.ub; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i1` [INFO] [stdout] --> src/wrapped_interval.rs:1302:17 [INFO] [stdout] | [INFO] [stdout] 1302 | for i1 in s1.iter() { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_i1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/wrapped_interval.rs:1284:25 [INFO] [stdout] | [INFO] [stdout] 1284 | let mut tmp = Self::new_bounds(lb, ub, width); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/wrapped_interval.rs:1318:25 [INFO] [stdout] | [INFO] [stdout] 1318 | let mut tmp = Self::new_bounds(lb, ub, self.base.width); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `var`, `num_of_changes`, `is_lattice`, and `is_signed` are never read [INFO] [stdout] --> src/wrapped_interval.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct BaseRange { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 20 | /// 变量标识符(可以为空) [INFO] [stdout] 21 | var: Option, [INFO] [stdout] | ^^^ [INFO] [stdout] 22 | /// 状态改变计数 [INFO] [stdout] 23 | num_of_changes: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 24 | /// 是否为格(lattice) [INFO] [stdout] 25 | is_lattice: bool, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | is_signed: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BaseRange` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling byteorder v0.5.3 [INFO] [stdout] warning: missing documentation for a module [INFO] [stdout] --> src/lib.rs:49:1 [INFO] [stdout] | [INFO] [stdout] 49 | pub mod tnum_plus; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | #![warn(missing_docs)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:118:16 [INFO] [stdout] | [INFO] [stdout] 118 | pub fn add(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 118 | pub fn add(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:123:16 [INFO] [stdout] | [INFO] [stdout] 123 | pub fn sub(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 123 | pub fn sub(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:128:16 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn mul(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 128 | pub fn mul(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:133:16 [INFO] [stdout] | [INFO] [stdout] 133 | pub fn div(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 133 | pub fn div(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:138:19 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn bit_or(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 138 | pub fn bit_or(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:143:20 [INFO] [stdout] | [INFO] [stdout] 143 | pub fn bit_and(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 143 | pub fn bit_and(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:148:23 [INFO] [stdout] | [INFO] [stdout] 148 | pub fn left_shift(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 148 | pub fn left_shift(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:153:24 [INFO] [stdout] | [INFO] [stdout] 153 | pub fn right_shift(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 153 | pub fn right_shift(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:158:19 [INFO] [stdout] | [INFO] [stdout] 158 | pub fn negate(&mut self, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 158 | pub fn negate(&mut self, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:163:19 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn modulo(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 163 | pub fn modulo(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:168:20 [INFO] [stdout] | [INFO] [stdout] 168 | pub fn bit_xor(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 168 | pub fn bit_xor(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:173:16 [INFO] [stdout] | [INFO] [stdout] 173 | pub fn mov(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 173 | pub fn mov(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:178:31 [INFO] [stdout] | [INFO] [stdout] 178 | pub fn signed_right_shift(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 178 | pub fn signed_right_shift(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:183:21 [INFO] [stdout] | [INFO] [stdout] 183 | fn mov_internal(&mut self, source: Source, arch_bits: Arch, op_bits: OpBits) -> Move { [INFO] [stdout] | ^^^^^^^^^ this lifetime flows to the output ---- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 183 | fn mov_internal(&mut self, source: Source, arch_bits: Arch, op_bits: OpBits) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:194:23 [INFO] [stdout] | [INFO] [stdout] 194 | pub fn swap_bytes(&mut self, endian: Endian) -> SwapBytes { [INFO] [stdout] | ^^^^^^^^^ --------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 194 | pub fn swap_bytes(&mut self, endian: Endian) -> SwapBytes<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:203:17 [INFO] [stdout] | [INFO] [stdout] 203 | pub fn load(&mut self, mem_size: MemSize) -> Load { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 203 | pub fn load(&mut self, mem_size: MemSize) -> Load<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:208:21 [INFO] [stdout] | [INFO] [stdout] 208 | pub fn load_abs(&mut self, mem_size: MemSize) -> Load { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 208 | pub fn load_abs(&mut self, mem_size: MemSize) -> Load<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:213:21 [INFO] [stdout] | [INFO] [stdout] 213 | pub fn load_ind(&mut self, mem_size: MemSize) -> Load { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 213 | pub fn load_ind(&mut self, mem_size: MemSize) -> Load<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:218:19 [INFO] [stdout] | [INFO] [stdout] 218 | pub fn load_x(&mut self, mem_size: MemSize) -> Load { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 218 | pub fn load_x(&mut self, mem_size: MemSize) -> Load<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:223:22 [INFO] [stdout] | [INFO] [stdout] 223 | fn load_internal(&mut self, mem_size: MemSize, addressing: Addressing, source: u8) -> Load { [INFO] [stdout] | ^^^^^^^^^ this lifetime flows to the output ---- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 223 | fn load_internal(&mut self, mem_size: MemSize, addressing: Addressing, source: u8) -> Load<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:234:18 [INFO] [stdout] | [INFO] [stdout] 234 | pub fn store(&mut self, mem_size: MemSize) -> Store { [INFO] [stdout] | ^^^^^^^^^ ----- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 234 | pub fn store(&mut self, mem_size: MemSize) -> Store<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:239:20 [INFO] [stdout] | [INFO] [stdout] 239 | pub fn store_x(&mut self, mem_size: MemSize) -> Store { [INFO] [stdout] | ^^^^^^^^^ ----- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 239 | pub fn store_x(&mut self, mem_size: MemSize) -> Store<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:244:23 [INFO] [stdout] | [INFO] [stdout] 244 | fn store_internal(&mut self, mem_size: MemSize, source: u8) -> Store { [INFO] [stdout] | ^^^^^^^^^ this lifetime flows to the output ----- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 244 | fn store_internal(&mut self, mem_size: MemSize, source: u8) -> Store<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:254:31 [INFO] [stdout] | [INFO] [stdout] 254 | pub fn jump_unconditional(&mut self) -> Jump { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 254 | pub fn jump_unconditional(&mut self) -> Jump<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:259:29 [INFO] [stdout] | [INFO] [stdout] 259 | pub fn jump_conditional(&mut self, cond: Cond, src_bit: Source) -> Jump { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 259 | pub fn jump_conditional(&mut self, cond: Cond, src_bit: Source) -> Jump<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:269:17 [INFO] [stdout] | [INFO] [stdout] 269 | pub fn call(&mut self) -> FunctionCall { [INFO] [stdout] | ^^^^^^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 269 | pub fn call(&mut self) -> FunctionCall<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:277:17 [INFO] [stdout] | [INFO] [stdout] 277 | pub fn exit(&mut self) -> Exit { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 277 | pub fn exit(&mut self) -> Exit<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/tnum.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub value: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/tnum.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub mask: u64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/tnum.rs:462:5 [INFO] [stdout] | [INFO] [stdout] 462 | pub fn is_aligned(&self, size: u64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/tnum.rs:506:5 [INFO] [stdout] | [INFO] [stdout] 506 | pub fn subreg(&self) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/tnum.rs:510:5 [INFO] [stdout] | [INFO] [stdout] 510 | pub fn clear_subreg(&self) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/tnum.rs:514:5 [INFO] [stdout] | [INFO] [stdout] 514 | pub fn with_subreg(&self, subreg: Self) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/tnum.rs:518:5 [INFO] [stdout] | [INFO] [stdout] 518 | pub fn with_const_subreg(&self, value: u32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling test_utils v0.10.0 (/opt/rustwide/workdir/test_utils) [INFO] [stderr] Compiling json v0.12.4 [INFO] [stderr] Compiling elf v0.0.10 [INFO] [stderr] Compiling solana-sbpf v0.10.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `a_low` [INFO] [stdout] --> tests/tnum_wrapped.rs:339:19 [INFO] [stdout] | [INFO] [stdout] 339 | let (a_up,a_low) = tnum_decompose(a); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_a_low` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b_low` [INFO] [stdout] --> tests/tnum_wrapped.rs:340:19 [INFO] [stdout] | [INFO] [stdout] 340 | let (b_up,b_low) = tnum_decompose(b); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_b_low` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/wrapped_interval.rs:4:16 [INFO] [stdout] | [INFO] [stdout] 4 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/wrapped_interval.rs:413:13 [INFO] [stdout] | [INFO] [stdout] 413 | (1u64 << width) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 413 - (1u64 << width) [INFO] [stdout] 413 + 1u64 << width [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sign_max` [INFO] [stdout] --> src/tnum_plus.rs:233:9 [INFO] [stdout] | [INFO] [stdout] 233 | let sign_max = (1u64 << (width - 1)) - 1; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sign_max` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sign_min` [INFO] [stdout] --> src/tnum_plus.rs:234:9 [INFO] [stdout] | [INFO] [stdout] 234 | let sign_min = 1u64 << (width - 1); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sign_min` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/wrapped_interval.rs:916:21 [INFO] [stdout] | [INFO] [stdout] 916 | let mut widen_lb = u; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/wrapped_interval.rs:941:21 [INFO] [stdout] | [INFO] [stdout] 941 | let mut widen_lb = u; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/wrapped_interval.rs:969:21 [INFO] [stdout] | [INFO] [stdout] 969 | let mut widen_ub = v; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/wrapped_interval.rs:984:21 [INFO] [stdout] | [INFO] [stdout] 984 | let mut widen_ub = v; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/wrapped_interval.rs:1066:13 [INFO] [stdout] | [INFO] [stdout] 1066 | let mut tmp = r2.clone(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/wrapped_interval.rs:1260:25 [INFO] [stdout] | [INFO] [stdout] 1260 | let b = i1.base.ub; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i1` [INFO] [stdout] --> src/wrapped_interval.rs:1302:17 [INFO] [stdout] | [INFO] [stdout] 1302 | for i1 in s1.iter() { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_i1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/wrapped_interval.rs:1284:25 [INFO] [stdout] | [INFO] [stdout] 1284 | let mut tmp = Self::new_bounds(lb, ub, width); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/wrapped_interval.rs:1318:25 [INFO] [stdout] | [INFO] [stdout] 1318 | let mut tmp = Self::new_bounds(lb, ub, self.base.width); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `var`, `num_of_changes`, `is_lattice`, and `is_signed` are never read [INFO] [stdout] --> src/wrapped_interval.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct BaseRange { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 20 | /// 变量标识符(可以为空) [INFO] [stdout] 21 | var: Option, [INFO] [stdout] | ^^^ [INFO] [stdout] 22 | /// 状态改变计数 [INFO] [stdout] 23 | num_of_changes: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 24 | /// 是否为格(lattice) [INFO] [stdout] 25 | is_lattice: bool, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | is_signed: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BaseRange` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a module [INFO] [stdout] --> src/lib.rs:49:1 [INFO] [stdout] | [INFO] [stdout] 49 | pub mod tnum_plus; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | #![warn(missing_docs)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:118:16 [INFO] [stdout] | [INFO] [stdout] 118 | pub fn add(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 118 | pub fn add(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:123:16 [INFO] [stdout] | [INFO] [stdout] 123 | pub fn sub(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 123 | pub fn sub(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:128:16 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn mul(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 128 | pub fn mul(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:133:16 [INFO] [stdout] | [INFO] [stdout] 133 | pub fn div(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 133 | pub fn div(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:138:19 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn bit_or(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 138 | pub fn bit_or(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:143:20 [INFO] [stdout] | [INFO] [stdout] 143 | pub fn bit_and(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 143 | pub fn bit_and(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:148:23 [INFO] [stdout] | [INFO] [stdout] 148 | pub fn left_shift(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 148 | pub fn left_shift(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:153:24 [INFO] [stdout] | [INFO] [stdout] 153 | pub fn right_shift(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 153 | pub fn right_shift(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:158:19 [INFO] [stdout] | [INFO] [stdout] 158 | pub fn negate(&mut self, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 158 | pub fn negate(&mut self, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:163:19 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn modulo(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 163 | pub fn modulo(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:168:20 [INFO] [stdout] | [INFO] [stdout] 168 | pub fn bit_xor(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 168 | pub fn bit_xor(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:173:16 [INFO] [stdout] | [INFO] [stdout] 173 | pub fn mov(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 173 | pub fn mov(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:178:31 [INFO] [stdout] | [INFO] [stdout] 178 | pub fn signed_right_shift(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 178 | pub fn signed_right_shift(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:183:21 [INFO] [stdout] | [INFO] [stdout] 183 | fn mov_internal(&mut self, source: Source, arch_bits: Arch, op_bits: OpBits) -> Move { [INFO] [stdout] | ^^^^^^^^^ this lifetime flows to the output ---- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 183 | fn mov_internal(&mut self, source: Source, arch_bits: Arch, op_bits: OpBits) -> Move<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:194:23 [INFO] [stdout] | [INFO] [stdout] 194 | pub fn swap_bytes(&mut self, endian: Endian) -> SwapBytes { [INFO] [stdout] | ^^^^^^^^^ --------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 194 | pub fn swap_bytes(&mut self, endian: Endian) -> SwapBytes<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:203:17 [INFO] [stdout] | [INFO] [stdout] 203 | pub fn load(&mut self, mem_size: MemSize) -> Load { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 203 | pub fn load(&mut self, mem_size: MemSize) -> Load<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:208:21 [INFO] [stdout] | [INFO] [stdout] 208 | pub fn load_abs(&mut self, mem_size: MemSize) -> Load { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 208 | pub fn load_abs(&mut self, mem_size: MemSize) -> Load<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:213:21 [INFO] [stdout] | [INFO] [stdout] 213 | pub fn load_ind(&mut self, mem_size: MemSize) -> Load { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 213 | pub fn load_ind(&mut self, mem_size: MemSize) -> Load<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:218:19 [INFO] [stdout] | [INFO] [stdout] 218 | pub fn load_x(&mut self, mem_size: MemSize) -> Load { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 218 | pub fn load_x(&mut self, mem_size: MemSize) -> Load<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:223:22 [INFO] [stdout] | [INFO] [stdout] 223 | fn load_internal(&mut self, mem_size: MemSize, addressing: Addressing, source: u8) -> Load { [INFO] [stdout] | ^^^^^^^^^ this lifetime flows to the output ---- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 223 | fn load_internal(&mut self, mem_size: MemSize, addressing: Addressing, source: u8) -> Load<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:234:18 [INFO] [stdout] | [INFO] [stdout] 234 | pub fn store(&mut self, mem_size: MemSize) -> Store { [INFO] [stdout] | ^^^^^^^^^ ----- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 234 | pub fn store(&mut self, mem_size: MemSize) -> Store<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:239:20 [INFO] [stdout] | [INFO] [stdout] 239 | pub fn store_x(&mut self, mem_size: MemSize) -> Store { [INFO] [stdout] | ^^^^^^^^^ ----- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 239 | pub fn store_x(&mut self, mem_size: MemSize) -> Store<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:244:23 [INFO] [stdout] | [INFO] [stdout] 244 | fn store_internal(&mut self, mem_size: MemSize, source: u8) -> Store { [INFO] [stdout] | ^^^^^^^^^ this lifetime flows to the output ----- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 244 | fn store_internal(&mut self, mem_size: MemSize, source: u8) -> Store<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:254:31 [INFO] [stdout] | [INFO] [stdout] 254 | pub fn jump_unconditional(&mut self) -> Jump { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 254 | pub fn jump_unconditional(&mut self) -> Jump<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:259:29 [INFO] [stdout] | [INFO] [stdout] 259 | pub fn jump_conditional(&mut self, cond: Cond, src_bit: Source) -> Jump { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 259 | pub fn jump_conditional(&mut self, cond: Cond, src_bit: Source) -> Jump<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:269:17 [INFO] [stdout] | [INFO] [stdout] 269 | pub fn call(&mut self) -> FunctionCall { [INFO] [stdout] | ^^^^^^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 269 | pub fn call(&mut self) -> FunctionCall<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/insn_builder.rs:277:17 [INFO] [stdout] | [INFO] [stdout] 277 | pub fn exit(&mut self) -> Exit { [INFO] [stdout] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 277 | pub fn exit(&mut self) -> Exit<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/tnum.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub value: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/tnum.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub mask: u64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/tnum.rs:462:5 [INFO] [stdout] | [INFO] [stdout] 462 | pub fn is_aligned(&self, size: u64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/tnum.rs:506:5 [INFO] [stdout] | [INFO] [stdout] 506 | pub fn subreg(&self) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/tnum.rs:510:5 [INFO] [stdout] | [INFO] [stdout] 510 | pub fn clear_subreg(&self) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/tnum.rs:514:5 [INFO] [stdout] | [INFO] [stdout] 514 | pub fn with_subreg(&self, subreg: Self) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/tnum.rs:518:5 [INFO] [stdout] | [INFO] [stdout] 518 | pub fn with_const_subreg(&self, value: u32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 25.07s [INFO] running `Command { std: "docker" "inspect" "2c6b058b63dd58028090ec15ec8a4624e3e95a0f8775974beb63add5d1a6fd28", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2c6b058b63dd58028090ec15ec8a4624e3e95a0f8775974beb63add5d1a6fd28", kill_on_drop: false }` [INFO] [stdout] 2c6b058b63dd58028090ec15ec8a4624e3e95a0f8775974beb63add5d1a6fd28 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 7fd1354e899b652cda0f0c9b3225dbc0dedd565a8249dd4b23252a5b0e535016 [INFO] running `Command { std: "docker" "start" "-a" "7fd1354e899b652cda0f0c9b3225dbc0dedd565a8249dd4b23252a5b0e535016", kill_on_drop: false }` [INFO] [stderr] warning: file `/opt/rustwide/workdir/tests/tnum_test.rs` found to be present in multiple build targets: [INFO] [stderr] * `bin` target `tnum_test` [INFO] [stderr] * `integration-test` target `tnum_test` [INFO] [stderr] warning: file `/opt/rustwide/workdir/tests/compare.rs` found to be present in multiple build targets: [INFO] [stderr] * `bin` target `compare` [INFO] [stderr] * `integration-test` target `compare` [INFO] [stderr] warning: unused manifest key: lib.include [INFO] [stderr] warning: unused imports: `max` and `min` [INFO] [stderr] --> src/wrapped_interval.rs:4:16 [INFO] [stderr] | [INFO] [stderr] 4 | use std::cmp::{max, min}; [INFO] [stderr] | ^^^ ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/wrapped_interval.rs:413:13 [INFO] [stderr] | [INFO] [stderr] 413 | (1u64 << width) [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 413 - (1u64 << width) [INFO] [stderr] 413 + 1u64 << width [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sign_max` [INFO] [stderr] --> src/tnum_plus.rs:233:9 [INFO] [stderr] | [INFO] [stderr] 233 | let sign_max = (1u64 << (width - 1)) - 1; [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sign_max` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sign_min` [INFO] [stderr] --> src/tnum_plus.rs:234:9 [INFO] [stderr] | [INFO] [stderr] 234 | let sign_min = 1u64 << (width - 1); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sign_min` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/wrapped_interval.rs:916:21 [INFO] [stderr] | [INFO] [stderr] 916 | let mut widen_lb = u; [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/wrapped_interval.rs:941:21 [INFO] [stderr] | [INFO] [stderr] 941 | let mut widen_lb = u; [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/wrapped_interval.rs:969:21 [INFO] [stderr] | [INFO] [stderr] 969 | let mut widen_ub = v; [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/wrapped_interval.rs:984:21 [INFO] [stderr] | [INFO] [stderr] 984 | let mut widen_ub = v; [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/wrapped_interval.rs:1066:13 [INFO] [stderr] | [INFO] [stderr] 1066 | let mut tmp = r2.clone(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/wrapped_interval.rs:1260:25 [INFO] [stderr] | [INFO] [stderr] 1260 | let b = i1.base.ub; [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stderr] [INFO] [stdout] [INFO] [stderr] warning: unused variable: `i1` [INFO] [stdout] running 144 tests [INFO] [stderr] --> src/wrapped_interval.rs:1302:17 [INFO] [stdout] test asm_parser::tests::test_ident ... ok [INFO] [stderr] | [INFO] [stdout] test asm_parser::tests::test_empty ... ok [INFO] [stderr] 1302 | for i1 in s1.iter() { [INFO] [stdout] test asm_parser::tests::test_error_unexpected_character ... ok [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_i1` [INFO] [stdout] test aligned_memory::tests::test_aligned_memory ... ok [INFO] [stderr] [INFO] [stdout] test asm_parser::tests::test_instruction ... ok [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stdout] test asm_parser::tests::test_exit ... ok [INFO] [stderr] --> src/wrapped_interval.rs:1284:25 [INFO] [stdout] test asm_parser::tests::test_integer ... ok [INFO] [stderr] | [INFO] [stdout] test asm_parser::tests::test_error_eof ... ok [INFO] [stderr] 1284 | let mut tmp = Self::new_bounds(lb, ub, width); [INFO] [stdout] test asm_parser::tests::test_ja ... ok [INFO] [stderr] | ----^^^ [INFO] [stdout] test asm_parser::tests::test_initial_whitespace ... ok [INFO] [stderr] | | [INFO] [stdout] test asm_parser::tests::test_ldxh ... ok [INFO] [stderr] | help: remove this `mut` [INFO] [stdout] test asm_parser::tests::test_operand ... ok [INFO] [stderr] [INFO] [stdout] test error::tests::test_program_result_is_stable ... ok [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stdout] test insn_builder::tests::byte_swap_instructions::convert_host_to_big_endian_16bits ... ok [INFO] [stderr] --> src/wrapped_interval.rs:1318:25 [INFO] [stdout] test insn_builder::tests::byte_swap_instructions::convert_host_to_big_endian_64bit ... ok [INFO] [stderr] | [INFO] [stdout] test insn_builder::tests::byte_swap_instructions::convert_host_to_big_endian_32bits ... ok [INFO] [stderr] 1318 | let mut tmp = Self::new_bounds(lb, ub, self.base.width); [INFO] [stdout] test insn_builder::tests::jump_instructions::immediate::jump_on_dst_greater_or_equals_src_signed ... ok [INFO] [stderr] | ----^^^ [INFO] [stdout] test asm_parser::tests::test_lsh ... ok [INFO] [stderr] | | [INFO] [stdout] test asm_parser::tests::test_mnemonic ... ok [INFO] [stderr] | help: remove this `mut` [INFO] [stdout] test insn_builder::tests::jump_instructions::immediate::jump_on_dst_greater_or_equals_to_const ... ok [INFO] [stderr] [INFO] [stdout] test insn_builder::tests::byte_swap_instructions::convert_host_to_little_endian_32bits ... ok [INFO] [stderr] warning: fields `var`, `num_of_changes`, `is_lattice`, and `is_signed` are never read [INFO] [stdout] test insn_builder::tests::byte_swap_instructions::convert_host_to_little_endian_64bit ... ok [INFO] [stderr] --> src/wrapped_interval.rs:21:5 [INFO] [stdout] test insn_builder::tests::jump_instructions::immediate::jump_on_dst_equals_const ... ok [INFO] [stderr] | [INFO] [stdout] test insn_builder::tests::byte_swap_instructions::convert_host_to_little_endian_16bits ... ok [INFO] [stderr] 19 | pub struct BaseRange { [INFO] [stdout] test asm_parser::tests::test_register ... ok [INFO] [stderr] | --------- fields in this struct [INFO] [stdout] test insn_builder::tests::jump_instructions::immediate::jump_on_dst_greater_than_const_signed ... ok [INFO] [stderr] 20 | /// 变量标识符(可以为空) [INFO] [stdout] test insn_builder::tests::jump_instructions::immediate::jump_on_dst_bit_and_with_const_not_equal_zero ... ok [INFO] [stderr] 21 | var: Option, [INFO] [stdout] test insn_builder::tests::jump_instructions::immediate::jump_on_dst_lower_or_equals_to_const ... ok [INFO] [stderr] | ^^^ [INFO] [stdout] test insn_builder::tests::jump_instructions::immediate::jump_on_dst_lower_or_equals_src_signed ... ok [INFO] [stderr] 22 | /// 状态改变计数 [INFO] [stdout] test insn_builder::tests::jump_instructions::immediate::jump_on_dst_lower_than_const ... ok [INFO] [stderr] 23 | num_of_changes: u32, [INFO] [stdout] test insn_builder::tests::jump_instructions::immediate::jump_on_dst_lower_than_const_signed ... ok [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stdout] test insn_builder::tests::jump_instructions::immediate::jump_on_dst_not_equals_const ... ok [INFO] [stderr] 24 | /// 是否为格(lattice) [INFO] [stdout] test asm_parser::tests::test_tcp_sack ... ok [INFO] [stderr] 25 | is_lattice: bool, [INFO] [stdout] test insn_builder::tests::jump_instructions::immediate::jump_to_label ... ok [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stdout] test insn_builder::tests::jump_instructions::register::jump_on_dst_bit_and_with_src_not_equal_zero ... ok [INFO] [stderr] ... [INFO] [stdout] test insn_builder::tests::jump_instructions::register::jump_on_dst_equals_src ... ok [INFO] [stderr] 35 | is_signed: bool, [INFO] [stdout] test insn_builder::tests::jump_instructions::register::jump_on_dst_greater_or_equals_src_signed ... ok [INFO] [stderr] | ^^^^^^^^^ [INFO] [stdout] test insn_builder::tests::jump_instructions::register::jump_on_dst_greater_or_equals_to_src ... ok [INFO] [stderr] | [INFO] [stdout] test insn_builder::tests::jump_instructions::register::jump_on_dst_greater_than_src ... ok [INFO] [stderr] = note: `BaseRange` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] test insn_builder::tests::jump_instructions::immediate::jump_on_dst_greater_than_const ... ok [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] test insn_builder::tests::jump_instructions::register::jump_on_dst_lower_or_equals_src_signed ... ok [INFO] [stderr] [INFO] [stdout] test insn_builder::tests::jump_instructions::register::jump_on_dst_lower_or_equals_to_src ... ok [INFO] [stderr] warning: missing documentation for a module [INFO] [stdout] test insn_builder::tests::jump_instructions::register::jump_on_dst_lower_than_src ... ok [INFO] [stderr] --> src/lib.rs:49:1 [INFO] [stdout] test insn_builder::tests::jump_instructions::register::jump_on_dst_lower_than_src_signed ... ok [INFO] [stderr] | [INFO] [stdout] test insn_builder::tests::jump_instructions::register::jump_on_dst_not_equals_src ... ok [INFO] [stderr] 49 | pub mod tnum_plus; [INFO] [stdout] test insn_builder::tests::load_instructions::immediate::load_abs_byte ... ok [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] test insn_builder::tests::load_instructions::immediate::load_abs_double_word ... ok [INFO] [stderr] | [INFO] [stdout] test insn_builder::tests::load_instructions::immediate::load_abs_half_word ... ok [INFO] [stderr] note: the lint level is defined here [INFO] [stdout] test insn_builder::tests::jump_instructions::register::jump_on_dst_greater_than_src_signed ... ok [INFO] [stderr] --> src/lib.rs:13:9 [INFO] [stdout] test insn_builder::tests::load_instructions::immediate::load_abs_word ... ok [INFO] [stderr] | [INFO] [stderr] 13 | #![warn(missing_docs)] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/insn_builder.rs:118:16 [INFO] [stderr] | [INFO] [stderr] 118 | pub fn add(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stderr] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 118 | pub fn add(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/insn_builder.rs:123:16 [INFO] [stderr] | [INFO] [stdout] test insn_builder::tests::load_instructions::immediate::load_double_word ... ok [INFO] [stderr] 123 | pub fn sub(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] test insn_builder::tests::load_instructions::immediate::load_indirect_double_word ... ok [INFO] [stderr] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] test insn_builder::tests::load_instructions::immediate::load_indirect_half_word ... ok [INFO] [stderr] | | [INFO] [stdout] test insn_builder::tests::load_instructions::immediate::load_indirect_word ... ok [INFO] [stderr] | this lifetime flows to the output [INFO] [stdout] test insn_builder::tests::load_instructions::register::load_byte_from_set_src_with_offset ... ok [INFO] [stderr] | [INFO] [stdout] test insn_builder::tests::load_instructions::register::load_double_word_from_set_src_with_offset ... ok [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] test insn_builder::tests::load_instructions::register::load_half_word_from_set_src_with_offset ... ok [INFO] [stderr] | [INFO] [stdout] test insn_builder::tests::load_instructions::register::load_word_from_set_src_with_offset ... ok [INFO] [stderr] 123 | pub fn sub(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x32::immediate::move_and_add_const_to_register ... ok [INFO] [stderr] | ++++ [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x32::immediate::move_bit_and_const_to_register ... ok [INFO] [stderr] [INFO] [stdout] test insn_builder::tests::load_instructions::immediate::load_indirect_byte ... ok [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x32::immediate::move_bit_or_const_to_register ... ok [INFO] [stderr] --> src/insn_builder.rs:128:16 [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x32::immediate::move_const_to_register ... ok [INFO] [stderr] | [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x32::immediate::move_div_constant_to_register ... ok [INFO] [stderr] 128 | pub fn mul(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x32::immediate::move_bit_xor_const_to_register ... ok [INFO] [stderr] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x32::immediate::move_left_shift_const_to_register ... ok [INFO] [stderr] | | [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x32::immediate::move_logical_right_shift_const_to_register ... ok [INFO] [stderr] | this lifetime flows to the output [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x32::immediate::move_mod_const_to_register ... ok [INFO] [stderr] | [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x32::immediate::move_mul_const_to_register ... ok [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x32::immediate::move_negate_register ... ok [INFO] [stderr] | [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x32::immediate::move_signed_right_shift_const_to_register ... ok [INFO] [stderr] 128 | pub fn mul(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x32::immediate::move_sub_const_to_register ... ok [INFO] [stderr] | ++++ [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x32::register::move_and_add_from_register ... ok [INFO] [stderr] [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x32::register::move_bit_and_from_register_to_register ... ok [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x32::register::move_bit_or_from_register_to_register ... ok [INFO] [stderr] --> src/insn_builder.rs:133:16 [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x32::register::move_div_from_register_to_register ... ok [INFO] [stderr] | [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x32::register::move_left_shift_from_register_to_register ... ok [INFO] [stderr] 133 | pub fn div(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x32::register::move_logical_right_shift_from_register_to_register ... ok [INFO] [stderr] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x32::register::move_from_register_to_another_register ... ok [INFO] [stderr] | | [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x32::register::move_mod_from_register_to_register ... ok [INFO] [stderr] | this lifetime flows to the output [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x32::register::move_mul_from_register_to_register ... ok [INFO] [stderr] | [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x32::register::move_sub_from_register_to_register ... ok [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x64::immediate::move_and_add_const_to_register ... ok [INFO] [stderr] | [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x64::immediate::move_bit_and_const_to_register ... ok [INFO] [stderr] 133 | pub fn div(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x64::immediate::move_bit_or_const_to_register ... ok [INFO] [stderr] | ++++ [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x64::immediate::move_bit_xor_const_to_register ... ok [INFO] [stderr] [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x32::register::move_signed_right_shift_from_register_to_register ... ok [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x64::immediate::move_const_to_register ... ok [INFO] [stderr] --> src/insn_builder.rs:138:19 [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x64::immediate::move_div_constant_to_register ... ok [INFO] [stderr] | [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x64::immediate::move_left_shift_const_to_register ... ok [INFO] [stderr] 138 | pub fn bit_or(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x64::immediate::move_logical_right_shift_const_to_register ... ok [INFO] [stderr] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x64::immediate::move_mod_const_to_register ... ok [INFO] [stderr] | | [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x64::immediate::move_mul_const_to_register ... ok [INFO] [stderr] | this lifetime flows to the output [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x64::immediate::move_negate_register ... ok [INFO] [stderr] | [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x32::register::move_bit_xor_from_register_to_register ... ok [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x64::immediate::move_signed_right_shift_const_to_register ... ok [INFO] [stderr] | [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x64::immediate::move_sub_const_to_register ... ok [INFO] [stderr] 138 | pub fn bit_or(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x64::register::move_bit_or_from_register_to_register ... ok [INFO] [stderr] | ++++ [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x64::register::move_and_add_from_register ... ok [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/insn_builder.rs:143:20 [INFO] [stderr] | [INFO] [stderr] 143 | pub fn bit_and(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stderr] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x64::register::move_bit_and_from_register_to_register ... ok [INFO] [stderr] | this lifetime flows to the output [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x64::register::move_left_shift_from_register_to_register ... ok [INFO] [stderr] | [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x64::register::move_mul_from_register_to_register ... ok [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] test insn_builder::tests::programs::example_from_assembler ... ok [INFO] [stderr] | [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x64::register::move_bit_xor_from_register_to_register ... ok [INFO] [stderr] 143 | pub fn bit_and(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] test insn_builder::tests::special::call_immediate ... ok [INFO] [stderr] | ++++ [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x64::register::move_from_register_to_another_register ... ok [INFO] [stderr] [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x64::register::move_mod_from_register_to_register ... ok [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x64::register::move_logical_right_shift_from_register_to_register ... ok [INFO] [stderr] --> src/insn_builder.rs:148:23 [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x64::register::move_signed_right_shift_from_register_to_register ... ok [INFO] [stderr] | [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x64::register::move_div_from_register_to_register ... ok [INFO] [stderr] 148 | pub fn left_shift(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stdout] test insn_builder::tests::moves_instructions::arch_x64::register::move_sub_from_register_to_register ... ok [INFO] [stderr] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] test insn_builder::tests::special::exit_operation ... ok [INFO] [stderr] | | [INFO] [stdout] test insn_builder::tests::store_instructions::store_byte_from_dst_into_immediate_address ... ok [INFO] [stderr] | this lifetime flows to the output [INFO] [stdout] test insn_builder::tests::store_instructions::store_byte_from_dst_into_src_address ... ok [INFO] [stderr] | [INFO] [stdout] test insn_builder::tests::store_instructions::store_double_word_from_dst_into_src_address ... ok [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] test insn_builder::tests::store_instructions::store_half_word_from_dst_into_src_address ... ok [INFO] [stderr] | [INFO] [stdout] test insn_builder::tests::store_instructions::store_word_from_dst_into_immediate_address ... ok [INFO] [stderr] 148 | pub fn left_shift(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stdout] test insn_builder::tests::store_instructions::store_double_word_from_dst_into_immediate_address ... ok [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/insn_builder.rs:153:24 [INFO] [stderr] | [INFO] [stderr] 153 | pub fn right_shift(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stderr] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 153 | pub fn right_shift(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/insn_builder.rs:158:19 [INFO] [stderr] | [INFO] [stderr] 158 | pub fn negate(&mut self, arch: Arch) -> Move { [INFO] [stderr] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 158 | pub fn negate(&mut self, arch: Arch) -> Move<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/insn_builder.rs:163:19 [INFO] [stderr] | [INFO] [stderr] 163 | pub fn modulo(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stderr] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 163 | pub fn modulo(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/insn_builder.rs:168:20 [INFO] [stderr] | [INFO] [stderr] 168 | pub fn bit_xor(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stderr] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 168 | pub fn bit_xor(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/insn_builder.rs:173:16 [INFO] [stderr] | [INFO] [stderr] 173 | pub fn mov(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stderr] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 173 | pub fn mov(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/insn_builder.rs:178:31 [INFO] [stderr] | [INFO] [stderr] 178 | pub fn signed_right_shift(&mut self, source: Source, arch: Arch) -> Move { [INFO] [stderr] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 178 | pub fn signed_right_shift(&mut self, source: Source, arch: Arch) -> Move<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/insn_builder.rs:183:21 [INFO] [stderr] | [INFO] [stderr] 183 | fn mov_internal(&mut self, source: Source, arch_bits: Arch, op_bits: OpBits) -> Move { [INFO] [stderr] | ^^^^^^^^^ this lifetime flows to the output ---- the lifetime gets resolved as `'_` [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 183 | fn mov_internal(&mut self, source: Source, arch_bits: Arch, op_bits: OpBits) -> Move<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/insn_builder.rs:194:23 [INFO] [stderr] | [INFO] [stderr] 194 | pub fn swap_bytes(&mut self, endian: Endian) -> SwapBytes { [INFO] [stderr] | ^^^^^^^^^ --------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 194 | pub fn swap_bytes(&mut self, endian: Endian) -> SwapBytes<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/insn_builder.rs:203:17 [INFO] [stderr] | [INFO] [stderr] 203 | pub fn load(&mut self, mem_size: MemSize) -> Load { [INFO] [stderr] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 203 | pub fn load(&mut self, mem_size: MemSize) -> Load<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/insn_builder.rs:208:21 [INFO] [stderr] | [INFO] [stderr] 208 | pub fn load_abs(&mut self, mem_size: MemSize) -> Load { [INFO] [stderr] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 208 | pub fn load_abs(&mut self, mem_size: MemSize) -> Load<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/insn_builder.rs:213:21 [INFO] [stderr] | [INFO] [stderr] 213 | pub fn load_ind(&mut self, mem_size: MemSize) -> Load { [INFO] [stderr] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 213 | pub fn load_ind(&mut self, mem_size: MemSize) -> Load<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/insn_builder.rs:218:19 [INFO] [stderr] | [INFO] [stderr] 218 | pub fn load_x(&mut self, mem_size: MemSize) -> Load { [INFO] [stderr] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 218 | pub fn load_x(&mut self, mem_size: MemSize) -> Load<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/insn_builder.rs:223:22 [INFO] [stderr] | [INFO] [stderr] 223 | fn load_internal(&mut self, mem_size: MemSize, addressing: Addressing, source: u8) -> Load { [INFO] [stderr] | ^^^^^^^^^ this lifetime flows to the output ---- the lifetime gets resolved as `'_` [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 223 | fn load_internal(&mut self, mem_size: MemSize, addressing: Addressing, source: u8) -> Load<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/insn_builder.rs:234:18 [INFO] [stderr] | [INFO] [stderr] 234 | pub fn store(&mut self, mem_size: MemSize) -> Store { [INFO] [stderr] | ^^^^^^^^^ ----- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 234 | pub fn store(&mut self, mem_size: MemSize) -> Store<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/insn_builder.rs:239:20 [INFO] [stderr] | [INFO] [stderr] 239 | pub fn store_x(&mut self, mem_size: MemSize) -> Store { [INFO] [stderr] | ^^^^^^^^^ ----- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 239 | pub fn store_x(&mut self, mem_size: MemSize) -> Store<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/insn_builder.rs:244:23 [INFO] [stderr] | [INFO] [stderr] 244 | fn store_internal(&mut self, mem_size: MemSize, source: u8) -> Store { [INFO] [stderr] | ^^^^^^^^^ this lifetime flows to the output ----- the lifetime gets resolved as `'_` [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 244 | fn store_internal(&mut self, mem_size: MemSize, source: u8) -> Store<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/insn_builder.rs:254:31 [INFO] [stderr] | [INFO] [stderr] 254 | pub fn jump_unconditional(&mut self) -> Jump { [INFO] [stderr] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 254 | pub fn jump_unconditional(&mut self) -> Jump<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/insn_builder.rs:259:29 [INFO] [stderr] | [INFO] [stderr] 259 | pub fn jump_conditional(&mut self, cond: Cond, src_bit: Source) -> Jump { [INFO] [stderr] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 259 | pub fn jump_conditional(&mut self, cond: Cond, src_bit: Source) -> Jump<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/insn_builder.rs:269:17 [INFO] [stderr] | [INFO] [stderr] 269 | pub fn call(&mut self) -> FunctionCall { [INFO] [stderr] | ^^^^^^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 269 | pub fn call(&mut self) -> FunctionCall<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/insn_builder.rs:277:17 [INFO] [stderr] | [INFO] [stderr] 277 | pub fn exit(&mut self) -> Exit { [INFO] [stderr] | ^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 277 | pub fn exit(&mut self) -> Exit<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/tnum.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | pub value: u64, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/tnum.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | pub mask: u64, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/tnum.rs:462:5 [INFO] [stderr] | [INFO] [stderr] 462 | pub fn is_aligned(&self, size: u64) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/tnum.rs:506:5 [INFO] [stderr] | [INFO] [stderr] 506 | pub fn subreg(&self) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/tnum.rs:510:5 [INFO] [stderr] | [INFO] [stderr] 510 | pub fn clear_subreg(&self) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/tnum.rs:514:5 [INFO] [stderr] | [INFO] [stderr] 514 | pub fn with_subreg(&self, subreg: Self) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/tnum.rs:518:5 [INFO] [stderr] | [INFO] [stderr] 518 | pub fn with_const_subreg(&self, value: u32) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `solana-sbpf` (lib) generated 49 warnings (run `cargo fix --lib -p solana-sbpf` to apply 36 suggestions) [INFO] [stderr] warning: unused variable: `a_low` [INFO] [stderr] --> tests/tnum_wrapped.rs:339:19 [INFO] [stderr] | [INFO] [stderr] 339 | let (a_up,a_low) = tnum_decompose(a); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_a_low` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b_low` [INFO] [stderr] --> tests/tnum_wrapped.rs:340:19 [INFO] [stderr] | [INFO] [stderr] 340 | let (b_up,b_low) = tnum_decompose(b); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_b_low` [INFO] [stderr] [INFO] [stderr] warning: `solana-sbpf` (lib test) generated 49 warnings (49 duplicates) [INFO] [stderr] warning: `solana-sbpf` (test "tnum_wrapped") generated 2 warnings [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.13s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/solana_sbpf-29568c0aefc9dec5) [INFO] [stdout] test insn_builder::tests::store_instructions::store_half_word_from_dst_into_immediate_address ... ok [INFO] [stdout] test memory_region::test::test_aligned_map_replace_region ... ok [INFO] [stdout] test insn_builder::tests::store_instructions::store_word_from_dst_into_src_address ... ok [INFO] [stdout] test memory_region::test::test_cow_map ... ok [INFO] [stdout] test memory_region::test::test_aligned_region ... ok [INFO] [stdout] test memory_region::test::test_map_empty ... ok [INFO] [stdout] test memory_region::test::test_cow_load_store ... ok [INFO] [stdout] test memory_region::test::test_cow_region_id ... ok [INFO] [stdout] test memory_region::test::test_gapped_map ... ok [INFO] [stdout] test memory_region::test::test_mapping_cache_flush ... ok [INFO] [stdout] test memory_region::test::test_mapping_cache ... ok [INFO] [stdout] test memory_region::test::test_unaligned_map ... ok [INFO] [stdout] test memory_region::test::test_unaligned_map_load ... ok [INFO] [stdout] test memory_region::test::test_unaligned_map_load_store_fast_paths ... ok [INFO] [stdout] test memory_region::test::test_unaligned_map_store ... ok [INFO] [stdout] test memory_region::test::test_unaligned_map_store_out_of_bounds ... ok [INFO] [stdout] test memory_region::test::test_unaligned_region ... ok [INFO] [stdout] test memory_region::test::test_unaligned_map_overlap ... ok [INFO] [stdout] test memory_region::test::test_unaligned_map_replace_region ... ok [INFO] [stdout] test memory_region::test::test_unaligned_map_load_store_slow_paths ... ok [INFO] [stdout] test memory_region::test::test_unaligned_map_load_out_of_bounds ... ok [INFO] [stdout] test aligned_memory::tests::test_write_all_unchecked_debug_assert - should panic ... ok [INFO] [stdout] test aligned_memory::tests::test_write_unchecked_debug_assert - should panic ... ok [INFO] [stdout] test memory_region::test::test_map_cow_error - should panic ... ok [INFO] [stdout] test memory_region::test::test_store_cow_error - should panic ... ok [INFO] [stderr] Running unittests tests/compare.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/compare-d38753322a8fb008) [INFO] [stdout] test memory_region::test::test_store_readonly - should panic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 144 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests tests/tnum_test.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/tnum_test-530ee24544503c62) [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] [stdout] [INFO] [stdout] running 25 tests [INFO] [stderr] Running tests/assembler.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/assembler-765e627665839665) [INFO] [stdout] test test_call_imm ... ok [INFO] [stdout] test test_call_reg ... ok [INFO] [stdout] test test_add64 ... ok [INFO] [stdout] test test_empty ... ok [INFO] [stdout] test test_error_unexpected_operands ... ok [INFO] [stdout] test test_alu_unary ... ok [INFO] [stdout] test test_fill ... ok [INFO] [stdout] test test_exit ... ok [INFO] [stdout] test test_error_invalid_instruction ... ok [INFO] [stdout] test test_endian ... ok [INFO] [stdout] test test_jeq ... ok [INFO] [stdout] test test_store_reg ... ok [INFO] [stdout] test test_return ... ok [INFO] [stdout] test test_be32 ... ok [INFO] [stdout] test test_neg64 ... ok [INFO] [stdout] test test_jump_conditional ... ok [INFO] [stdout] test test_static_syscall ... ok [INFO] [stdout] test test_store_imm ... ok [INFO] [stdout] test test_error_operands_out_of_range ... ok [INFO] [stdout] test test_lddw ... ok [INFO] [stdout] test test_ja ... ok [INFO] [stdout] test test_tcp_sack ... ok [INFO] [stdout] test test_large_immediate ... ok [INFO] [stdout] test test_load_reg ... ok [INFO] [stdout] test test_alu_binary ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/compare.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/compare-0f37973b13852580) [INFO] [stderr] Running tests/disassembler.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/disassembler-7854b109b3405866) [INFO] [stdout] [INFO] [stdout] running 23 tests [INFO] [stdout] test test_add64 ... ok [INFO] [stdout] test test_exit ... ok [INFO] [stdout] test test_call ... ok [INFO] [stdout] test test_be32 ... ok [INFO] [stdout] test test_ja ... ok [INFO] [stdout] test test_endian ... ok [INFO] [stdout] test test_empty ... ok [INFO] [stdout] test test_load_reg ... ok [INFO] [stdout] test test_static_syscall ... ok [INFO] [stdout] test test_return ... ok [INFO] [stdout] test test_large_immediate ... ok [INFO] [stdout] test test_store_imm ... ok [INFO] [stdout] test test_sth ... ok [INFO] [stdout] test test_lddw ... ok [INFO] [stdout] test test_ldxw ... ok [INFO] [stdout] test test_ldxdw ... ok [INFO] [stdout] test test_jeq ... ok [INFO] [stdout] test test_stw ... ok [INFO] [stdout] test test_jump_conditional ... ok [INFO] [stdout] test test_store_reg ... ok [INFO] [stdout] test test_stxw ... ok [INFO] [stdout] test test_stxh ... ok [INFO] [stdout] test test_alu_binary ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/elf.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/elf-21f265bb7efc01f3) [INFO] [stdout] [INFO] [stdout] running 26 tests [INFO] [stdout] test test_borrowed_ro_region_initial_gap ... ok [INFO] [stdout] test test_borrowed_ro_region_no_initial_gap ... ok [INFO] [stdout] test test_borrowed_ro_sections_disabled ... ok [INFO] [stdout] test test_invalid_sh_offset_larger_than_vaddr ... ok [INFO] [stdout] test test_load ... ok [INFO] [stdout] test test_borrowed_ro_sections_with_constant_sh_offset ... ok [INFO] [stdout] test test_borrowed_ro_sections ... ok [INFO] [stdout] test test_load_unaligned ... ok [INFO] [stdout] test test_owned_ro_region_initial_gap_map_error ... ok [INFO] [stdout] test test_owned_ro_region_initial_gap_mappable ... ok [INFO] [stdout] test test_entrypoint ... ok [INFO] [stdout] test test_owned_ro_region_no_initial_gap ... ok [INFO] [stdout] test test_long_section_name ... ok [INFO] [stdout] test test_owned_ro_sections_with_sh_offset ... ok [INFO] [stdout] test test_reject_non_constant_sh_offset ... ok [INFO] [stdout] test test_sh_offset_not_same_as_vaddr ... ok [INFO] [stdout] test test_owned_ro_sections_not_contiguous ... ok [INFO] [stdout] test test_validate ... ok [INFO] [stdout] test test_reject_rodata_stack_overlap ... ok [INFO] [stdout] test test_strict_header ... ok [INFO] [stderr] Running tests/execution.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/execution-07e50dae9eab2ca8) [INFO] [stdout] test test_bss_section - should panic ... ok [INFO] [stdout] test test_err_unresolved_syscall_reloc_64_32 - should panic ... ok [INFO] [stdout] test test_program_headers_overflow - should panic ... ok [INFO] [stdout] test test_writable_data_section - should panic ... ok [INFO] [stdout] test test_relative_call_oob_forward - should panic ... ok [INFO] [stdout] test test_relative_call_oob_backward - should panic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 26 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 141 tests [INFO] [stdout] test test_arsh32_imm ... ok [INFO] [stdout] test test_add32 ... ok [INFO] [stdout] test test_arsh32_high_shift ... ok [INFO] [stdout] test test_arsh32_reg ... ok [INFO] [stdout] test test_alu64_logic ... ok [INFO] [stdout] test test_bounce ... ok [INFO] [stdout] test test_be32 ... ok [INFO] [stdout] test test_arsh64 ... ok [INFO] [stdout] test test_alu32_arithmetic ... ok [INFO] [stdout] test test_be16_high ... ok [INFO] [stdout] test test_alu32_logic ... ok [INFO] [stdout] test test_be32_high ... ok [INFO] [stdout] test test_be64 ... ok [INFO] [stdout] test test_be16 ... ok [INFO] [stdout] test test_alu64_arithmetic ... ok [INFO] [stdout] test test_callx_unsupported_instruction_and_exceeded_max_instructions ... ok [INFO] [stdout] test test_bpf_to_bpf_scratch_registers ... ok [INFO] [stdout] test test_callx_imm ... ok [INFO] [stdout] test test_dynamic_stack_frames_empty ... ok [INFO] [stdout] test test_callx ... ok [INFO] [stdout] test test_callx_unaligned_text_section ... ok [INFO] [stdout] test test_err_callx_oob_high ... ok [INFO] [stdout] test test_err_callx_oob_low ... ok [INFO] [stdout] test test_call_gather_bytes ... ok [INFO] [stdout] test test_err_call_unresolved ... ok [INFO] [stdout] test test_capped_after_callx ... ok [INFO] [stdout] test test_call_imm_does_not_dispatch_syscalls ... ok [INFO] [stdout] test test_err_dynamic_stack_ptr_overflow ... ok [INFO] [stdout] test test_err_capped_before_exception ... ok [INFO] [stdout] test test_call_memfrob ... ok [INFO] [stdout] test test_err_callx_oob_max ... ok [INFO] [stdout] test test_entrypoint_exit ... ok [INFO] [stdout] test test_err_fixed_stack_out_of_bound ... ok [INFO] [stdout] test test_err_dynamic_stack_out_of_bound ... ok [INFO] [stdout] test test_err_ldxdw_nomem ... ok [INFO] [stdout] test test_err_instruction_count_syscall_capped ... ok [INFO] [stdout] test test_err_ldxdw_oob ... ok [INFO] [stdout] test test_err_exit_capped ... ok [INFO] [stdout] test test_early_exit ... ok [INFO] [stdout] test test_err_syscall_string ... ok [INFO] [stdout] test test_err_divide_by_zero ... ok [INFO] [stdout] test test_err_divide_overflow ... ok [INFO] [stdout] test test_bpf_to_bpf_depth ... ok [INFO] [stdout] test test_err_non_terminate_capped ... ok [INFO] [stdout] test test_exit_capped ... ok [INFO] [stdout] test test_err_mem_access_out_of_bound ... ok [INFO] [stdout] test test_err_callx_unregistered ... ok [INFO] [stdout] test test_jge_imm ... ok [INFO] [stdout] test test_ja ... ok [INFO] [stdout] test test_hor64 ... ok [INFO] [stdout] test test_exit ... ok [INFO] [stdout] test test_err_reg_stack_depth ... ok [INFO] [stdout] test test_exit_without_value ... ok [INFO] [stdout] test test_dynamic_frame_ptr ... ok [INFO] [stdout] test test_instruction_count_syscall ... ok [INFO] [stdout] test test_jge_reg ... ok [INFO] [stdout] test test_execution_overrun ... ok [INFO] [stdout] test test_jgt_imm ... ok [INFO] [stdout] test test_jlt_reg ... ok [INFO] [stdout] test test_jle_reg ... ok [INFO] [stdout] test test_jle_imm ... ok [INFO] [stdout] test test_jgt_reg ... ok [INFO] [stdout] test test_jeq_imm ... ok [INFO] [stdout] test test_jlt_imm ... ok [INFO] [stdout] test test_far_jumps ... ok [INFO] [stdout] test test_div ... ok [INFO] [stdout] test test_jne_imm ... ok [INFO] [stdout] test test_jeq_reg ... ok [INFO] [stdout] test test_jset_imm ... ok [INFO] [stdout] test test_jsge_reg ... ok [INFO] [stdout] test test_jne_reg ... ok [INFO] [stdout] test test_jsgt_imm ... ok [INFO] [stdout] test test_jsge_imm ... ok [INFO] [stdout] test test_jset_reg ... ok [INFO] [stdout] test test_jsgt_reg ... ok [INFO] [stdout] test test_jsle_imm ... ok [INFO] [stdout] test test_jslt_reg ... ok [INFO] [stdout] test test_load_elf_rodata ... ok [INFO] [stdout] test test_jslt_imm ... ok [INFO] [stdout] test test_ldxb_all ... ok [INFO] [stdout] test test_load_elf_rodata_sbpfv0 ... ok [INFO] [stdout] test test_ldxh_all2 ... ok [INFO] [stdout] test test_ldxh_same_reg ... ok [INFO] [stdout] test test_lsh64_reg ... ok [INFO] [stdout] test test_ldxw_all ... ok [INFO] [stdout] test test_mov32_reg ... ok [INFO] [stdout] test test_mov32_reg_truncating ... ok [INFO] [stdout] test test_lmul_loop ... ok [INFO] [stdout] test test_jsle_reg ... ok [INFO] [stdout] test test_ldxh_all ... ok [INFO] [stdout] test test_mov64_imm ... ok [INFO] [stdout] test test_reloc_64_64_sbpfv0 ... ok [INFO] [stdout] test test_lmul128 ... ok [INFO] [stdout] test test_reloc_64_relative ... ok [INFO] [stdout] test test_mov32_imm ... ok [INFO] [stdout] test test_reloc_64_64 ... ok [INFO] [stdout] test test_mov64_reg ... ok [INFO] [stdout] test test_relative_call_sbpfv3 ... ok [INFO] [stdout] test test_reloc_64_relative_sbpfv0 ... ok [INFO] [stdout] test test_reloc_64_relative_data_sbpfv0 ... ok [INFO] [stdout] test test_reloc_64_relative_data ... ok [INFO] [stdout] test test_relative_call_sbpfv0 ... ok [INFO] [stdout] test test_stack1 ... ok [INFO] [stdout] test test_rsh64_reg ... ok [INFO] [stdout] test test_prime ... ok [INFO] [stdout] test test_strict_header ... ok [INFO] [stdout] test test_rhs32_imm ... ok [INFO] [stdout] test test_neg ... ok [INFO] [stdout] test test_mod ... ok [INFO] [stdout] test test_le ... ok [INFO] [stdout] test test_lddw ... ok [INFO] [stdout] test test_stxb_all ... ok [INFO] [stdout] test test_struct_func_pointer_sbpfv0 ... ok [INFO] [stdout] test test_struct_func_pointer ... ok [INFO] [stdout] test test_stxb_all2 ... ok [INFO] [stdout] test test_nested_vm_syscall ... ok [INFO] [stdout] test test_syscall_reloc_64_32 ... ok [INFO] [stdout] test test_stxb_chain ... ok [INFO] [stdout] test test_stack2 ... ok [INFO] [stdout] test test_string_stack ... ok [INFO] [stdout] test test_syscall ... ok [INFO] [stdout] test test_syscall_static ... ok [INFO] [stdout] test test_subnet ... ok [INFO] [stdout] test test_syscall_parameter_on_stack ... ok [INFO] [stdout] test test_mul ... ok [INFO] [stdout] test test_tcp_port80_nomatch_proto ... ok [INFO] [stdout] test test_tight_infinite_loop_conditional ... ok [INFO] [stdout] test test_tight_infinite_loop_unconditional ... ok [INFO] [stdout] test test_symbol_relocation ... ok [INFO] [stdout] test test_tight_infinite_recursion_callx ... ok [INFO] [stdout] test test_syscall_string ... ok [INFO] [stdout] test test_tight_infinite_recursion ... ok [INFO] [stdout] test test_tcp_port80_match ... ok [INFO] [stdout] test test_tcp_port80_nomatch_ethertype ... ok [INFO] [stdout] test test_stack_call_depth_tracking ... ok [INFO] [stdout] test test_tcp_sack_nomatch ... ok [INFO] [stdout] test test_tcp_port80_nomatch ... ok [INFO] [stdout] test test_tcp_sack_match ... ok [INFO] [stdout] test test_memory_instructions ... ok [INFO] [stdout] test test_pqr ... ok [INFO] [stdout] test test_total_chaos ... ok [INFO] [stdout] [INFO] [stderr] Running tests/exercise_instructions.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/exercise_instructions-9b27871dc39a6fa5) [INFO] [stdout] test result: ok. 141 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 9.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test fuzz_alu has been running for over 60 seconds [INFO] [stdout] test fuzz_alu ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 83.89s [INFO] [stdout] [INFO] [stderr] Running tests/jit.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/jit-8f92394c0e9d2bdb) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stderr] Running tests/tnum_test.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/tnum_test-b5981a9b62be8422) [INFO] [stdout] test test_code_length_estimate ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.23s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/tnum_wrapped.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/tnum_wrapped-40b172d83bc94599) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test test_tnum_in ... ok [INFO] [stdout] test test_tnum_mul ... ok [INFO] [stdout] test test_xtnum_mul ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/verifier.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/verifier-486d2996d188315c) [INFO] [stdout] [INFO] [stdout] running 27 tests [INFO] [stdout] test return_instr ... ok [INFO] [stdout] test function_without_return ... ok [INFO] [stdout] test return_in_v2 ... ok [INFO] [stdout] test test_verifier_err_invalid_reg_dst ... ok [INFO] [stdout] test test_sdiv_disabled ... ok [INFO] [stdout] test test_verifier_err_all_shift_overflows ... ok [INFO] [stdout] test test_verifier_known_syscall ... ok [INFO] [stdout] test test_verifier_err_invalid_reg_src ... ok [INFO] [stdout] test test_verifier_err_invalid_exit - should panic ... ok [INFO] [stdout] test test_verifier_err_invalid_return - should panic ... ok [INFO] [stdout] test test_verifier_success ... ok [INFO] [stdout] test test_verifier_resize_stack_ptr_success ... ok [INFO] [stdout] test test_verifier_err_incomplete_lddw - should panic ... ok [INFO] [stdout] test test_verifier_err_call_lddw - should panic ... ok [INFO] [stdout] test test_verifier_err_endian_size - should panic ... ok [INFO] [stdout] test test_verifier_err_div_by_zero_imm - should panic ... ok [INFO] [stdout] test test_verifier_err_function_fallthrough - should panic ... ok [INFO] [stdout] test test_verifier_err_callx_cannot_use_r10 - should panic ... ok [INFO] [stdout] test test_verifier_err_jmp_lddw - should panic ... ok [INFO] [stdout] test test_verifier_err_jmp_out - should panic ... ok [INFO] [stdout] test test_verifier_err_lddw_cannot_be_last - should panic ... ok [INFO] [stdout] test test_verifier_fail - should panic ... ok [INFO] [stdout] test test_verifier_err_write_r10 - should panic ... ok [INFO] [stdout] test test_verifier_negative_unaligned_stack - should panic ... ok [INFO] [stdout] test test_verifier_err_jmp_out_start - should panic ... ok [INFO] [stdout] test test_verifier_positive_unaligned_stack - should panic ... ok [INFO] [stdout] test test_verifier_unknown_syscall - should panic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s [INFO] [stdout] [INFO] [stderr] Running tests/vm.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/vm-821c1feed8ca7c5a) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test test_builtin_program_eq ... ok [INFO] [stdout] test test_runtime_environment_slots ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s [INFO] [stdout] [INFO] [stderr] Doc-tests solana_sbpf [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/wrapped_interval.rs:413:13 [INFO] [stderr] | [INFO] [stderr] 413 | (1u64 << width) [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 413 - (1u64 << width) [INFO] [stderr] 413 + 1u64 << width [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: 1 warning emitted [INFO] [stderr] [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test src/ebpf.rs - ebpf::Insn::to_array (line 533) ... ok [INFO] [stdout] test src/ebpf.rs - ebpf::get_insn (line 597) ... ok [INFO] [stdout] test src/ebpf.rs - ebpf::get_insn (line 610) ... ok [INFO] [stdout] test src/ebpf.rs - ebpf::Insn::to_vec (line 566) ... ok [INFO] [stdout] test src/vm.rs - vm::EbpfVm (line 213) ... ok [INFO] [stdout] test src/assembler.rs - assembler::assemble (line 295) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.60s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "7fd1354e899b652cda0f0c9b3225dbc0dedd565a8249dd4b23252a5b0e535016", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7fd1354e899b652cda0f0c9b3225dbc0dedd565a8249dd4b23252a5b0e535016", kill_on_drop: false }` [INFO] [stdout] 7fd1354e899b652cda0f0c9b3225dbc0dedd565a8249dd4b23252a5b0e535016