[INFO] cloning repository https://github.com/luishsr/svm-trace-analyzer [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/luishsr/svm-trace-analyzer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fluishsr%2Fsvm-trace-analyzer", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fluishsr%2Fsvm-trace-analyzer'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 370a5b71795b6edf2021f26cf1d9030f21107bb5 [INFO] linting luishsr/svm-trace-analyzer against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fluishsr%2Fsvm-trace-analyzer" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/luishsr/svm-trace-analyzer [INFO] finished tweaking git repo https://github.com/luishsr/svm-trace-analyzer [INFO] tweaked toml for git repo https://github.com/luishsr/svm-trace-analyzer written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/luishsr/svm-trace-analyzer on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/luishsr/svm-trace-analyzer 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" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded solana-precompile-error v2.2.2 [INFO] [stderr] Downloaded solana-precompiles v2.2.2 [INFO] [stderr] Downloaded solana-transaction v2.2.3 [INFO] [stderr] Downloaded solana-secp256r1-program v2.2.4 [INFO] [stderr] Downloaded solana-feature-set v2.2.5 [INFO] [stderr] Downloaded bytemuck_derive v1.10.0 [INFO] [stderr] Downloaded solana-curve25519 v2.3.5 [INFO] [stderr] Downloaded solana-compute-budget v2.3.5 [INFO] [stderr] Downloaded ark-relations v0.5.1 [INFO] [stderr] Downloaded mollusk-svm-error v0.4.1 [INFO] [stderr] Downloaded agave-feature-set v2.3.5 [INFO] [stderr] Downloaded ark-crypto-primitives-macros v0.5.0 [INFO] [stderr] Downloaded solana-commitment-config v2.2.1 [INFO] [stderr] Downloaded mollusk-svm-result v0.4.1 [INFO] [stderr] Downloaded solana-poseidon v2.3.5 [INFO] [stderr] Downloaded solana-loader-v3-interface v3.0.0 [INFO] [stderr] Downloaded ark-groth16 v0.5.0 [INFO] [stderr] Downloaded agave-precompiles v2.3.5 [INFO] [stderr] Downloaded mollusk-svm v0.4.1 [INFO] [stderr] Downloaded solana-metrics v2.3.5 [INFO] [stderr] Downloaded ark-r1cs-std v0.5.0 [INFO] [stderr] Downloaded ark-crypto-primitives v0.5.0 [INFO] [stderr] Downloaded solana-bpf-loader-program v2.3.5 [INFO] [stderr] Downloaded async-compression v0.4.27 [INFO] [stderr] Downloaded solana-program-runtime v2.3.5 [INFO] [stderr] Downloaded cc v1.2.30 [INFO] [stderr] Downloaded solana-poh-config v2.2.1 [INFO] [stderr] Downloaded reqwest v0.12.22 [INFO] [stderr] Downloaded solana-sbpf v0.11.1 [INFO] [stderr] Downloaded solana-genesis-config v2.3.0 [INFO] [stderr] Downloaded solana-rent-collector v2.2.1 [INFO] [stderr] Downloaded solana-keypair v2.2.3 [INFO] [stderr] Downloaded solana-secp256k1-program v2.2.3 [INFO] [stderr] Downloaded mollusk-svm-keys v0.4.1 [INFO] [stderr] Downloaded solana-system-program v2.3.5 [INFO] [stderr] Downloaded solana-svm-feature-set v2.3.5 [INFO] [stderr] Downloaded rustls v0.23.29 [INFO] [stderr] Downloaded solana-bn254 v2.2.2 [INFO] [stderr] Downloaded solana-logger v2.3.1 [INFO] [stderr] Downloaded solana-shred-version v2.2.1 [INFO] [stderr] Downloaded solana-svm-callback v2.3.5 [INFO] [stderr] Downloaded solana-timings v2.3.5 [INFO] [stderr] Downloaded solana-compute-budget-interface v2.2.2 [INFO] [stderr] Downloaded solana-nonce-account v2.2.1 [INFO] [stderr] Downloaded solana-log-collector v2.3.5 [INFO] [stderr] Downloaded solana-fee-structure v2.3.0 [INFO] [stderr] Downloaded solana-epoch-rewards-hasher v2.2.1 [INFO] [stderr] Downloaded solana-offchain-message v2.2.1 [INFO] [stderr] Downloaded solana-packet v2.2.1 [INFO] [stderr] Downloaded solana-presigner v2.2.1 [INFO] [stderr] Downloaded solana-quic-definitions v2.3.1 [INFO] [stderr] Downloaded solana-inflation v2.2.1 [INFO] [stderr] Downloaded solana-hard-forks v2.2.1 [INFO] [stderr] Downloaded solana-system-transaction v2.2.1 [INFO] [stderr] Downloaded solana-time-utils v2.2.1 [INFO] [stderr] Downloaded solana-ed25519-program v2.2.3 [INFO] [stderr] Downloaded ark-snark v0.5.1 [INFO] [stderr] Downloaded solana-type-overrides v2.3.5 [INFO] [stderr] Downloaded solana-epoch-info v2.2.1 [INFO] [stderr] Downloaded cfg_eval v0.1.2 [INFO] [stderr] Downloaded solana-reserved-account-keys v2.2.2 [INFO] [stderr] Downloaded solana-serde v2.2.1 [INFO] [stderr] Downloaded solana-measure v2.3.5 [INFO] [stderr] Downloaded solana-client-traits v2.2.1 [INFO] [stderr] Downloaded solana-cluster-type v2.2.1 [INFO] [stderr] Downloaded solana-rent-debits v2.2.1 [INFO] [stderr] Downloaded solana-reward-info v2.2.1 [INFO] [stderr] Downloaded solana-transaction-context v2.3.5 [INFO] [stderr] Downloaded solana-validator-exit v2.2.1 [INFO] [stderr] Downloaded solana-sdk v2.3.1 [INFO] [stderr] Downloaded openssl-src v300.5.1+3.5.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e7f1a94da4dbd3203010daa7bf2172db621fc68aa5d2ca53481bf4b9b2ed90fb [INFO] running `Command { std: "docker" "start" "-a" "e7f1a94da4dbd3203010daa7bf2172db621fc68aa5d2ca53481bf4b9b2ed90fb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e7f1a94da4dbd3203010daa7bf2172db621fc68aa5d2ca53481bf4b9b2ed90fb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e7f1a94da4dbd3203010daa7bf2172db621fc68aa5d2ca53481bf4b9b2ed90fb", kill_on_drop: false }` [INFO] [stdout] e7f1a94da4dbd3203010daa7bf2172db621fc68aa5d2ca53481bf4b9b2ed90fb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a6aa2142879bdaa9c3e26d2b4fbcf06a64ba58497ff78078ab41d52b5ed692a9 [INFO] running `Command { std: "docker" "start" "-a" "a6aa2142879bdaa9c3e26d2b4fbcf06a64ba58497ff78078ab41d52b5ed692a9", kill_on_drop: false }` [INFO] [stderr] Compiling zerocopy v0.8.26 [INFO] [stderr] Compiling hashbrown v0.15.4 [INFO] [stderr] Compiling winnow v0.7.12 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling borsh v1.5.7 [INFO] [stderr] Checking five8_core v0.1.2 [INFO] [stderr] Checking solana-sanitize v2.2.1 [INFO] [stderr] Checking solana-atomic-u64 v2.2.1 [INFO] [stderr] Compiling semver v1.0.26 [INFO] [stderr] Checking getrandom v0.2.16 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling zeroize_derive v1.4.2 [INFO] [stderr] Compiling bytemuck_derive v1.10.0 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Compiling toml v0.5.11 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Checking five8 v0.2.1 [INFO] [stderr] Checking solana-decode-error v2.3.0 [INFO] [stderr] Checking five8_const v0.1.4 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Compiling bs58 v0.5.1 [INFO] [stderr] Compiling cc v1.2.30 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking sha2 v0.10.9 [INFO] [stderr] Checking solana-msg v2.2.1 [INFO] [stderr] Compiling solana-sdk-macro v2.2.1 [INFO] [stderr] Checking bitflags v2.9.1 [INFO] [stderr] Checking solana-program-memory v2.3.1 [INFO] [stderr] Checking digest v0.9.0 [INFO] [stderr] Checking getrandom v0.1.16 [INFO] [stderr] Checking memchr v2.7.5 [INFO] [stderr] Checking zeroize v1.8.1 [INFO] [stderr] Checking block-buffer v0.9.0 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Compiling indexmap v2.10.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking serde_bytes v0.11.17 [INFO] [stderr] Checking sha2 v0.9.9 [INFO] [stderr] Compiling crunchy v0.2.4 [INFO] [stderr] Checking solana-fee-calculator v2.2.1 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Checking bv v0.11.1 [INFO] [stderr] Checking curve25519-dalek v3.2.0 [INFO] [stderr] Compiling qualifier_attr v0.2.2 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Checking solana-short-vec v2.2.1 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Checking serde-big-array v0.5.1 [INFO] [stderr] Compiling proc-macro-crate v0.1.5 [INFO] [stderr] Checking bytemuck v1.23.1 [INFO] [stderr] Checking crypto-mac v0.8.0 [INFO] [stderr] Checking mio v1.0.4 [INFO] [stderr] Checking socket2 v0.5.10 [INFO] [stderr] Compiling libsecp256k1-core v0.2.2 [INFO] [stderr] Checking hmac v0.8.1 [INFO] [stderr] Checking solana-precompile-error v2.2.2 [INFO] [stderr] Checking tracing v0.1.41 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Checking sha3 v0.10.8 [INFO] [stderr] Compiling openssl-src v300.5.1+3.5.1 [INFO] [stderr] Checking http v1.3.1 [INFO] [stderr] Checking tokio v1.46.1 [INFO] [stderr] Checking hmac-drbg v0.3.0 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking rustls-pki-types v1.12.0 [INFO] [stderr] Compiling rustls v0.23.29 [INFO] [stderr] Compiling darling_core v0.20.11 [INFO] [stderr] Checking icu_normalizer v2.0.0 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Compiling libsecp256k1-gen-ecmult v0.2.1 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling libsecp256k1-gen-genmult v0.2.1 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking ahash v0.8.12 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Compiling num-bigint v0.2.6 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Compiling blake3 v1.8.2 [INFO] [stderr] Compiling libsecp256k1 v0.6.0 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling openssl-sys v0.9.109 [INFO] [stderr] Checking solana-native-token v2.3.0 [INFO] [stderr] Checking hashbrown v0.13.2 [INFO] [stderr] Compiling serde_json v1.0.141 [INFO] [stderr] Compiling openssl v0.10.73 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking miniz_oxide v0.8.9 [INFO] [stderr] Compiling proc-macro-crate v3.3.0 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking crc32fast v1.5.0 [INFO] [stderr] Checking ark-std v0.4.0 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Checking solana-time-utils v2.2.1 [INFO] [stderr] Compiling borsh-schema-derive-internal v0.10.4 [INFO] [stderr] Compiling borsh-derive-internal v0.10.4 [INFO] [stderr] Checking idna v1.0.3 [INFO] [stderr] Checking flate2 v1.1.2 [INFO] [stderr] Checking ed25519-dalek v1.0.1 [INFO] [stderr] Checking brotli v8.0.1 [INFO] [stderr] Checking webpki-roots v1.0.2 [INFO] [stderr] Checking iri-string v0.7.8 [INFO] [stderr] Checking solana-signature v2.3.0 [INFO] [stderr] Checking url v2.5.4 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking http-body-util v0.1.3 [INFO] [stderr] Checking num-iter v0.1.45 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Compiling enum-iterator-derive v1.4.0 [INFO] [stderr] Compiling enum-ordinalize-derive v4.3.2 [INFO] [stderr] Checking num-rational v0.2.4 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Checking solana-svm-feature-set v2.3.5 [INFO] [stderr] Checking combine v3.8.1 [INFO] [stderr] Checking num v0.2.1 [INFO] [stderr] Checking solana-derivation-path v2.2.1 [INFO] [stderr] Checking ark-std v0.5.0 [INFO] [stderr] Checking solana-big-mod-exp v2.2.1 [INFO] [stderr] Checking hash32 v0.3.1 [INFO] [stderr] Checking pbkdf2 v0.11.0 [INFO] [stderr] Compiling ark-serialize-derive v0.5.0 [INFO] [stderr] Compiling cfg_eval v0.1.2 [INFO] [stderr] Compiling enum-ordinalize v4.3.2 [INFO] [stderr] Checking gethostname v0.2.3 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Compiling darling_macro v0.20.11 [INFO] [stderr] Checking signal-hook-registry v1.4.5 [INFO] [stderr] Compiling borsh-derive v1.5.7 [INFO] [stderr] Checking enum-iterator v1.5.0 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking rustc-demangle v0.1.25 [INFO] [stderr] Compiling borsh-derive v0.10.4 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Compiling ark-serialize-derive v0.4.2 [INFO] [stderr] Compiling ark-ff-asm v0.4.2 [INFO] [stderr] Compiling ark-ff-macros v0.4.2 [INFO] [stderr] Compiling darling v0.20.11 [INFO] [stderr] Checking borsh v0.10.4 [INFO] [stderr] Compiling serde_with_macros v3.14.0 [INFO] [stderr] Checking ark-serialize v0.4.2 [INFO] [stderr] Checking humantime v2.2.0 [INFO] [stderr] Checking ark-serialize v0.5.0 [INFO] [stderr] Checking signal-hook v0.3.18 [INFO] [stderr] Checking env_logger v0.9.3 [INFO] [stderr] Compiling educe v0.6.0 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking solana-seed-phrase v2.2.1 [INFO] [stderr] Checking solana-seed-derivable v2.2.1 [INFO] [stderr] Checking percentage v0.1.0 [INFO] [stderr] Checking ed25519-dalek-bip32 v0.2.0 [INFO] [stderr] Compiling ark-ff-macros v0.5.0 [INFO] [stderr] Checking solana-type-overrides v2.3.5 [INFO] [stderr] Checking itertools v0.12.1 [INFO] [stderr] Checking itertools v0.13.0 [INFO] [stderr] Checking solana-log-collector v2.3.5 [INFO] [stderr] Compiling ark-ff-asm v0.5.0 [INFO] [stderr] Checking solana-measure v2.3.5 [INFO] [stderr] Checking solana-logger v2.3.1 [INFO] [stderr] Checking hyper v1.6.0 [INFO] [stderr] Checking tower v0.5.2 [INFO] [stderr] Checking async-compression v0.4.27 [INFO] [stderr] Checking tokio-util v0.7.15 [INFO] [stderr] Checking solana-define-syscall v2.3.0 [INFO] [stderr] Checking solana-serde-varint v2.2.2 [INFO] [stderr] Compiling num-derive v0.4.2 [INFO] [stderr] Checking tower-http v0.6.6 [INFO] [stderr] Checking serde_with v3.14.0 [INFO] [stderr] Checking ark-ff v0.4.2 [INFO] [stderr] Checking hyper-util v0.1.15 [INFO] [stderr] Checking solana-curve25519 v2.3.5 [INFO] [stderr] Checking solana-hard-forks v2.2.1 [INFO] [stderr] Checking solana-program-option v2.2.1 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Compiling num_enum_derive v0.7.4 [INFO] [stderr] Checking tracing-subscriber v0.2.25 [INFO] [stderr] Checking solana-poh-config v2.2.1 [INFO] [stderr] Checking solana-hash v2.3.0 [INFO] [stderr] Checking rustls-webpki v0.103.4 [INFO] [stderr] Checking solana-borsh v2.2.1 [INFO] [stderr] Checking solana-sha256-hasher v2.2.1 [INFO] [stderr] Checking solana-cluster-type v2.2.1 [INFO] [stderr] Checking solana-pubkey v2.4.0 [INFO] [stderr] Checking solana-keccak-hasher v2.2.1 [INFO] [stderr] Checking solana-blake3-hasher v2.2.1 [INFO] [stderr] Checking solana-shred-version v2.2.1 [INFO] [stderr] Checking solana-inflation v2.2.1 [INFO] [stderr] Checking solana-packet v2.2.1 [INFO] [stderr] Checking chrono v0.4.41 [INFO] [stderr] Checking memmap2 v0.5.10 [INFO] [stderr] Checking solana-commitment-config v2.2.1 [INFO] [stderr] Checking solana-instruction v2.3.0 [INFO] [stderr] Checking solana-sdk-ids v2.2.1 [INFO] [stderr] Checking solana-nonce v2.2.1 [INFO] [stderr] Checking solana-timings v2.3.5 [INFO] [stderr] Checking mollusk-svm-error v0.4.1 [INFO] [stderr] Checking solana-epoch-info v2.2.1 [INFO] [stderr] Checking solana-reward-info v2.2.1 [INFO] [stderr] Checking solana-sysvar-id v2.2.1 [INFO] [stderr] Checking solana-epoch-rewards-hasher v2.2.1 [INFO] [stderr] Checking solana-serde v2.2.1 [INFO] [stderr] Checking solana-epoch-schedule v2.2.1 [INFO] [stderr] Checking solana-clock v2.2.2 [INFO] [stderr] Checking solana-slot-hashes v2.2.1 [INFO] [stderr] Checking solana-system-interface v1.0.0 [INFO] [stderr] Checking solana-program-error v2.2.2 [INFO] [stderr] Checking solana-transaction-error v2.2.1 [INFO] [stderr] Checking solana-serialize-utils v2.2.1 [INFO] [stderr] Checking solana-rent v2.2.1 [INFO] [stderr] Checking solana-epoch-rewards v2.2.1 [INFO] [stderr] Checking solana-slot-history v2.2.1 [INFO] [stderr] Checking solana-last-restart-slot v2.2.1 [INFO] [stderr] Checking solana-bincode v2.2.1 [INFO] [stderr] Checking solana-account-info v2.3.0 [INFO] [stderr] Checking solana-feature-set v2.2.5 [INFO] [stderr] Checking solana-stable-layout v2.2.1 [INFO] [stderr] Checking solana-signer v2.2.1 [INFO] [stderr] Checking solana-sbpf v0.11.1 [INFO] [stderr] Checking solana-address-lookup-table-interface v2.2.2 [INFO] [stderr] Checking solana-program-pack v2.2.1 [INFO] [stderr] Checking agave-feature-set v2.3.5 [INFO] [stderr] Checking solana-program-entrypoint v2.3.0 [INFO] [stderr] Checking solana-cpi v2.2.1 [INFO] [stderr] Checking solana-instructions-sysvar v2.2.2 [INFO] [stderr] Checking solana-loader-v2-interface v2.2.1 [INFO] [stderr] Checking solana-loader-v3-interface v3.0.0 [INFO] [stderr] Checking num_enum v0.7.4 [INFO] [stderr] Checking solana-keypair v2.2.3 [INFO] [stderr] Checking solana-offchain-message v2.2.1 [INFO] [stderr] Checking solana-presigner v2.2.1 [INFO] [stderr] Checking solana-stake-interface v1.2.1 [INFO] [stderr] Checking solana-message v2.4.0 [INFO] [stderr] Checking solana-loader-v4-interface v2.2.1 [INFO] [stderr] Checking solana-loader-v3-interface v5.0.0 [INFO] [stderr] Checking solana-vote-interface v2.2.6 [INFO] [stderr] Checking solana-quic-definitions v2.3.1 [INFO] [stderr] Checking solana-rent-debits v2.2.1 [INFO] [stderr] Checking solana-compute-budget-interface v2.2.2 [INFO] [stderr] Checking solana-secp256k1-recover v2.2.1 [INFO] [stderr] Checking solana-validator-exit v2.2.1 [INFO] [stderr] Checking merlin v3.0.0 [INFO] [stderr] Checking blake2 v0.10.6 [INFO] [stderr] Compiling ark-crypto-primitives-macros v0.5.0 [INFO] [stderr] Checking solana-secp256k1-program v2.2.3 [INFO] [stderr] Checking solana-ed25519-program v2.2.3 [INFO] [stderr] Checking solana-reserved-account-keys v2.2.2 [INFO] [stderr] Checking env_filter v0.1.3 [INFO] [stderr] Checking ark-ff v0.5.0 [INFO] [stderr] Checking jiff v0.2.15 [INFO] [stderr] Checking test-program-primary v0.1.0 (/opt/rustwide/workdir/test-programs/primary) [INFO] [stdout] warning: use of deprecated method `solana_account_info::AccountInfo::<'a>::realloc`: Use AccountInfo::resize() instead [INFO] [stdout] --> test-programs/primary/src/lib.rs:69:26 [INFO] [stdout] | [INFO] [stdout] 69 | account_info.realloc(0, true)?; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking test-program-cpi-target v0.1.0 (/opt/rustwide/workdir/test-programs/cpi-target) [INFO] [stdout] warning: this call to `clone` can be replaced with `std::slice::from_ref` [INFO] [stdout] --> test-programs/primary/src/lib.rs:98:34 [INFO] [stdout] | [INFO] [stdout] 98 | invoke(&instruction, &[account_info.clone()])?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `std::slice::from_ref(account_info)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cloned_ref_to_slice_refs [INFO] [stdout] = note: `#[warn(clippy::cloned_ref_to_slice_refs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking test-program-epoch-stake v0.1.0 (/opt/rustwide/workdir/test-programs/epoch-stake) [INFO] [stdout] warning: use of deprecated method `solana_account_info::AccountInfo::<'a>::realloc`: Use AccountInfo::resize() instead [INFO] [stdout] --> test-programs/primary/src/lib.rs:69:26 [INFO] [stdout] | [INFO] [stdout] 69 | account_info.realloc(0, true)?; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this call to `clone` can be replaced with `std::slice::from_ref` [INFO] [stdout] --> test-programs/primary/src/lib.rs:98:34 [INFO] [stdout] | [INFO] [stdout] 98 | invoke(&instruction, &[account_info.clone()])?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `std::slice::from_ref(account_info)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cloned_ref_to_slice_refs [INFO] [stdout] = note: `#[warn(clippy::cloned_ref_to_slice_refs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking solana-sysvar v2.2.2 [INFO] [stderr] Checking solana-fee-structure v2.3.0 [INFO] [stderr] Checking solana-example-mocks v2.2.1 [INFO] [stderr] Checking solana-account v2.2.1 [INFO] [stderr] Checking solana-transaction-context v2.3.5 [INFO] [stderr] Checking solana-svm-callback v2.3.5 [INFO] [stderr] Checking solana-nonce-account v2.2.1 [INFO] [stderr] Checking solana-feature-gate-interface v2.2.2 [INFO] [stderr] Checking mollusk-svm-result v0.4.1 [INFO] [stderr] Checking solana-genesis-config v2.3.0 [INFO] [stderr] Checking solana-program v2.3.0 [INFO] [stderr] Checking mollusk-svm-keys v0.4.1 [INFO] [stderr] Checking solana-rent-collector v2.2.1 [INFO] [stderr] Checking test-program-custom-syscall v0.1.0 (/opt/rustwide/workdir/test-programs/custom-syscall) [INFO] [stderr] Checking tokio-rustls v0.26.2 [INFO] [stderr] Checking hyper-rustls v0.27.7 [INFO] [stderr] Checking env_logger v0.11.8 [INFO] [stderr] Checking reqwest v0.12.22 [INFO] [stderr] Checking ark-poly v0.4.2 [INFO] [stderr] Checking solana-metrics v2.3.5 [INFO] [stderr] Checking ark-ec v0.4.2 [INFO] [stderr] Checking solana-program-runtime v2.3.5 [INFO] [stderr] Checking solana-compute-budget v2.3.5 [INFO] [stderr] Checking solana-system-program v2.3.5 [INFO] [stderr] Checking ark-poly v0.5.0 [INFO] [stderr] Checking ark-relations v0.5.1 [INFO] [stderr] Checking ark-snark v0.5.1 [INFO] [stderr] Checking ark-ec v0.5.0 [INFO] [stderr] Checking ark-bn254 v0.4.0 [INFO] [stderr] Checking solana-bn254 v2.2.2 [INFO] [stderr] Checking light-poseidon v0.2.0 [INFO] [stderr] Checking solana-poseidon v2.3.5 [INFO] [stderr] Checking solana-bpf-loader-program v2.3.5 [INFO] [stderr] Checking ark-crypto-primitives v0.5.0 [INFO] [stderr] Checking ark-r1cs-std v0.5.0 [INFO] [stderr] Checking ark-bn254 v0.5.0 [INFO] [stderr] Checking ark-groth16 v0.5.0 [INFO] [stderr] Checking solana-secp256r1-program v2.2.4 [INFO] [stderr] Checking solana-precompiles v2.2.2 [INFO] [stderr] Checking agave-precompiles v2.3.5 [INFO] [stderr] Checking solana-transaction v2.2.3 [INFO] [stderr] Checking mollusk-svm v0.4.1 [INFO] [stderr] Checking solana-system-transaction v2.2.1 [INFO] [stderr] Checking solana-client-traits v2.2.1 [INFO] [stderr] Checking solana-sdk v2.3.1 [INFO] [stderr] Checking svm-tracer v0.1.0 (/opt/rustwide/workdir/builder) [INFO] [stderr] Checking sbpf-parser v0.1.0 (/opt/rustwide/workdir/loader) [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> builder/src/lib.rs:167:21 [INFO] [stdout] | [INFO] [stdout] 167 | vmaddr: vmaddr, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `vmaddr` [INFO] [stdout] ... [INFO] [stdout] 199 | solana_sbpf::ebpf::LD_B_REG => fill_mem_read!(src_addr, u8, self.regs_after[dst]), [INFO] [stdout] | -------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] = note: this warning originates in the macro `fill_mem_read` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> builder/src/lib.rs:167:21 [INFO] [stdout] | [INFO] [stdout] 167 | vmaddr: vmaddr, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `vmaddr` [INFO] [stdout] ... [INFO] [stdout] 200 | solana_sbpf::ebpf::LD_H_REG => fill_mem_read!(src_addr, u16, self.regs_after[dst]), [INFO] [stdout] | --------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: this warning originates in the macro `fill_mem_read` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> builder/src/lib.rs:167:21 [INFO] [stdout] | [INFO] [stdout] 167 | vmaddr: vmaddr, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `vmaddr` [INFO] [stdout] ... [INFO] [stdout] 201 | solana_sbpf::ebpf::LD_W_REG => fill_mem_read!(src_addr, u32, self.regs_after[dst]), [INFO] [stdout] | --------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: this warning originates in the macro `fill_mem_read` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> builder/src/lib.rs:167:21 [INFO] [stdout] | [INFO] [stdout] 167 | vmaddr: vmaddr, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `vmaddr` [INFO] [stdout] ... [INFO] [stdout] 202 | solana_sbpf::ebpf::LD_DW_REG => fill_mem_read!(src_addr, u64, self.regs_after[dst]), [INFO] [stdout] | --------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: this warning originates in the macro `fill_mem_read` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> builder/src/lib.rs:167:21 [INFO] [stdout] | [INFO] [stdout] 167 | vmaddr: vmaddr, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `vmaddr` [INFO] [stdout] ... [INFO] [stdout] 231 | solana_sbpf::ebpf::LD_1B_REG => fill_mem_read!(src_addr, u8, self.regs_after[dst]), [INFO] [stdout] | -------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: this warning originates in the macro `fill_mem_read` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> builder/src/lib.rs:167:21 [INFO] [stdout] | [INFO] [stdout] 167 | vmaddr: vmaddr, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `vmaddr` [INFO] [stdout] ... [INFO] [stdout] 232 | solana_sbpf::ebpf::LD_2B_REG => fill_mem_read!(src_addr, u16, self.regs_after[dst]), [INFO] [stdout] | --------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: this warning originates in the macro `fill_mem_read` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> builder/src/lib.rs:167:21 [INFO] [stdout] | [INFO] [stdout] 167 | vmaddr: vmaddr, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `vmaddr` [INFO] [stdout] ... [INFO] [stdout] 233 | solana_sbpf::ebpf::LD_4B_REG => fill_mem_read!(src_addr, u32, self.regs_after[dst]), [INFO] [stdout] | --------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: this warning originates in the macro `fill_mem_read` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> builder/src/lib.rs:167:21 [INFO] [stdout] | [INFO] [stdout] 167 | vmaddr: vmaddr, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `vmaddr` [INFO] [stdout] ... [INFO] [stdout] 234 | solana_sbpf::ebpf::LD_8B_REG => fill_mem_read!(src_addr, u64, self.regs_after[dst]), [INFO] [stdout] | --------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: this warning originates in the macro `fill_mem_read` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> builder/src/lib.rs:167:21 [INFO] [stdout] | [INFO] [stdout] 167 | vmaddr: vmaddr, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `vmaddr` [INFO] [stdout] ... [INFO] [stdout] 199 | solana_sbpf::ebpf::LD_B_REG => fill_mem_read!(src_addr, u8, self.regs_after[dst]), [INFO] [stdout] | -------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] = note: this warning originates in the macro `fill_mem_read` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> builder/src/lib.rs:167:21 [INFO] [stdout] | [INFO] [stdout] 167 | vmaddr: vmaddr, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `vmaddr` [INFO] [stdout] ... [INFO] [stdout] 200 | solana_sbpf::ebpf::LD_H_REG => fill_mem_read!(src_addr, u16, self.regs_after[dst]), [INFO] [stdout] | --------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: this warning originates in the macro `fill_mem_read` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> builder/src/lib.rs:167:21 [INFO] [stdout] | [INFO] [stdout] 167 | vmaddr: vmaddr, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `vmaddr` [INFO] [stdout] ... [INFO] [stdout] 201 | solana_sbpf::ebpf::LD_W_REG => fill_mem_read!(src_addr, u32, self.regs_after[dst]), [INFO] [stdout] | --------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: this warning originates in the macro `fill_mem_read` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> builder/src/lib.rs:167:21 [INFO] [stdout] | [INFO] [stdout] 167 | vmaddr: vmaddr, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `vmaddr` [INFO] [stdout] ... [INFO] [stdout] 202 | solana_sbpf::ebpf::LD_DW_REG => fill_mem_read!(src_addr, u64, self.regs_after[dst]), [INFO] [stdout] | --------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: this warning originates in the macro `fill_mem_read` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> builder/src/lib.rs:167:21 [INFO] [stdout] | [INFO] [stdout] 167 | vmaddr: vmaddr, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `vmaddr` [INFO] [stdout] ... [INFO] [stdout] 231 | solana_sbpf::ebpf::LD_1B_REG => fill_mem_read!(src_addr, u8, self.regs_after[dst]), [INFO] [stdout] | -------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: this warning originates in the macro `fill_mem_read` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> builder/src/lib.rs:167:21 [INFO] [stdout] | [INFO] [stdout] 167 | vmaddr: vmaddr, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `vmaddr` [INFO] [stdout] ... [INFO] [stdout] 232 | solana_sbpf::ebpf::LD_2B_REG => fill_mem_read!(src_addr, u16, self.regs_after[dst]), [INFO] [stdout] | --------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: this warning originates in the macro `fill_mem_read` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> builder/src/lib.rs:167:21 [INFO] [stdout] | [INFO] [stdout] 167 | vmaddr: vmaddr, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `vmaddr` [INFO] [stdout] ... [INFO] [stdout] 233 | solana_sbpf::ebpf::LD_4B_REG => fill_mem_read!(src_addr, u32, self.regs_after[dst]), [INFO] [stdout] | --------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: this warning originates in the macro `fill_mem_read` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> builder/src/lib.rs:167:21 [INFO] [stdout] | [INFO] [stdout] 167 | vmaddr: vmaddr, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `vmaddr` [INFO] [stdout] ... [INFO] [stdout] 234 | solana_sbpf::ebpf::LD_8B_REG => fill_mem_read!(src_addr, u64, self.regs_after[dst]), [INFO] [stdout] | --------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: this warning originates in the macro `fill_mem_read` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern creates a reference to a reference [INFO] [stdout] --> loader/src/mem.rs:43:26 [INFO] [stdout] | [INFO] [stdout] 43 | Some(ref region) => { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 43 - Some(ref region) => { [INFO] [stdout] 43 + Some(region) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` expression can be replaced with `?` [INFO] [stdout] --> loader/src/mem.rs:94:32 [INFO] [stdout] | [INFO] [stdout] 94 | let phy_addr = match self.regions[num].vm_to_host(addr, 8) { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 95 | | Some(addr) => addr, [INFO] [stdout] 96 | | None => return None, [INFO] [stdout] 97 | | }; [INFO] [stdout] | |_________________^ help: try instead: `self.regions[num].vm_to_host(addr, 8)?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] = note: `#[warn(clippy::question_mark)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `u64` [INFO] [stdout] --> loader/src/mem.rs:98:22 [INFO] [stdout] | [INFO] [stdout] 98 | Some(std::ptr::read_unaligned::(phy_addr as *const _).into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `std::ptr::read_unaligned::(phy_addr as *const _)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> loader/src/mem.rs:159:13 [INFO] [stdout] | [INFO] [stdout] 159 | &instruction.data.as_slice(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `instruction.data.as_slice()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern creates a reference to a reference [INFO] [stdout] --> loader/src/mem.rs:43:26 [INFO] [stdout] | [INFO] [stdout] 43 | Some(ref region) => { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 43 - Some(ref region) => { [INFO] [stdout] 43 + Some(region) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` expression can be replaced with `?` [INFO] [stdout] --> loader/src/mem.rs:94:32 [INFO] [stdout] | [INFO] [stdout] 94 | let phy_addr = match self.regions[num].vm_to_host(addr, 8) { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 95 | | Some(addr) => addr, [INFO] [stdout] 96 | | None => return None, [INFO] [stdout] 97 | | }; [INFO] [stdout] | |_________________^ help: try instead: `self.regions[num].vm_to_host(addr, 8)?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] = note: `#[warn(clippy::question_mark)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `u64` [INFO] [stdout] --> loader/src/mem.rs:98:22 [INFO] [stdout] | [INFO] [stdout] 98 | Some(std::ptr::read_unaligned::(phy_addr as *const _).into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `std::ptr::read_unaligned::(phy_addr as *const _)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> loader/src/mem.rs:159:13 [INFO] [stdout] | [INFO] [stdout] 159 | &instruction.data.as_slice(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `instruction.data.as_slice()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: passing a unit value to a function [INFO] [stdout] --> builder/src/memory.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | unsafe { std::ptr::write_unaligned::(phy_addr as *mut T, value) }.into() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stdout] = note: `#[warn(clippy::unit_arg)]` on by default [INFO] [stdout] help: move the expression in front of the call and replace it with the unit literal `()` [INFO] [stdout] | [INFO] [stdout] 95 ~ let _: () = unsafe { std::ptr::write_unaligned::(phy_addr as *mut T, value) }; [INFO] [stdout] 96 + ().into() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `()` [INFO] [stdout] --> builder/src/memory.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | unsafe { std::ptr::write_unaligned::(phy_addr as *mut T, value) }.into() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `unsafe { std::ptr::write_unaligned::(phy_addr as *mut T, value) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: passing a unit value to a function [INFO] [stdout] --> builder/src/memory.rs:109:9 [INFO] [stdout] | [INFO] [stdout] 109 | Ok(Self::mstore(phy_addr, value)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stdout] help: move the expression in front of the call and replace it with the unit literal `()` [INFO] [stdout] | [INFO] [stdout] 109 ~ let _: () = Self::mstore(phy_addr, value); [INFO] [stdout] 110 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> builder/src/memory.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 113 | / match op { [INFO] [stdout] 114 | | MemoryAccess::Write { [INFO] [stdout] 115 | | value, [INFO] [stdout] 116 | | vmaddr, [INFO] [stdout] ... | [INFO] [stdout] 129 | | _ => {} [INFO] [stdout] 130 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 113 ~ if let MemoryAccess::Write { [INFO] [stdout] 114 + value, [INFO] [stdout] 115 + vmaddr, [INFO] [stdout] 116 + size, [INFO] [stdout] 117 + .. [INFO] [stdout] 118 + } = op { [INFO] [stdout] 119 + let phy_addr = self.translate_vmaddr(vmaddr, size as u64, Some(false))?; [INFO] [stdout] 120 + match size { [INFO] [stdout] 121 + 1 => Self::mstore(phy_addr, value as u8), [INFO] [stdout] 122 + 2 => Self::mstore(phy_addr, value as u16), [INFO] [stdout] 123 + 4 => Self::mstore(phy_addr, value as u32), [INFO] [stdout] 124 + 8 => Self::mstore(phy_addr, value as u64), [INFO] [stdout] 125 + _ => {} [INFO] [stdout] 126 + } [INFO] [stdout] 127 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u64` -> `u64`) [INFO] [stdout] --> builder/src/memory.rs:125:49 [INFO] [stdout] | [INFO] [stdout] 125 | 8 => Self::mstore(phy_addr, value as u64), [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `mem` [INFO] [stdout] --> builder/src/memory.rs:158:22 [INFO] [stdout] | [INFO] [stdout] 158 | for i in 0..mem.len() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 158 - for i in 0..mem.len() { [INFO] [stdout] 158 + for (i, ) in mem.iter().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> builder/src/syscall_decode.rs:386:32 [INFO] [stdout] | [INFO] [stdout] 386 | pub fn make_account_patch_rust<'a>( [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 391 | memory_mapping: &'a MemoryMapping, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 386 ~ pub fn make_account_patch_rust( [INFO] [stdout] 387 | pubkey: Pubkey, [INFO] [stdout] ... [INFO] [stdout] 390 | regions: &[(Pubkey, VmRegion)], [INFO] [stdout] 391 ~ memory_mapping: &MemoryMapping, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> builder/src/syscall_decode.rs:405:29 [INFO] [stdout] | [INFO] [stdout] 405 | pub fn make_account_patch_c<'a>( [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 410 | memory_mapping: &'a MemoryMapping, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 405 ~ pub fn make_account_patch_c( [INFO] [stdout] 406 | pubkey: Pubkey, [INFO] [stdout] ... [INFO] [stdout] 409 | regions: &[(Pubkey, VmRegion)], [INFO] [stdout] 410 ~ memory_mapping: &MemoryMapping, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u64` -> `u64`) [INFO] [stdout] --> builder/src/syscall_decode.rs:520:21 [INFO] [stdout] | [INFO] [stdout] 520 | vmaddr: data_ptr as u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `data_ptr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmute used without annotations [INFO] [stdout] --> builder/src/syscall_decode.rs:521:37 [INFO] [stdout] | [INFO] [stdout] 521 | val: unsafe { std::mem::transmute(*data) }, [INFO] [stdout] | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<&[u8], [u64; 2]>` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations [INFO] [stdout] = note: `#[warn(clippy::missing_transmute_annotations)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u64` -> `u64`) [INFO] [stdout] --> builder/src/syscall_decode.rs:589:18 [INFO] [stdout] | [INFO] [stdout] 589 | val: info.data_addr as u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `info.data_addr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> builder/src/syscall_decode.rs:609:23 [INFO] [stdout] | [INFO] [stdout] 609 | fn make_account_patch<'a, T, Parse>( [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 615 | memory_mapping: &'a MemoryMapping, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 609 ~ fn make_account_patch( [INFO] [stdout] 610 | pubkey: Pubkey, [INFO] [stdout] ... [INFO] [stdout] 614 | regions: &[(Pubkey, VmRegion)], [INFO] [stdout] 615 ~ memory_mapping: &MemoryMapping, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> builder/src/syscall_decode.rs:675:31 [INFO] [stdout] | [INFO] [stdout] 675 | pub fn translate_regions_rust<'a>( [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 678 | memory_mapping: &'a MemoryMapping, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 675 ~ pub fn translate_regions_rust( [INFO] [stdout] 676 | account_infos_addr: u64, [INFO] [stdout] 677 | account_infos_len: u64, [INFO] [stdout] 678 ~ memory_mapping: &MemoryMapping, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> builder/src/syscall_decode.rs:690:28 [INFO] [stdout] | [INFO] [stdout] 690 | pub fn translate_regions_c<'a>( [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 693 | memory_mapping: &'a MemoryMapping, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 690 ~ pub fn translate_regions_c( [INFO] [stdout] 691 | account_infos_addr: u64, [INFO] [stdout] 692 | account_infos_len: u64, [INFO] [stdout] 693 ~ memory_mapping: &MemoryMapping, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> builder/src/syscall_decode.rs:705:22 [INFO] [stdout] | [INFO] [stdout] 705 | fn translate_regions<'a, T, Parse>( [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 709 | memory_mapping: &'a MemoryMapping, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 705 ~ fn translate_regions( [INFO] [stdout] 706 | account_infos_addr: u64, [INFO] [stdout] 707 | account_infos_len: u64, [INFO] [stdout] 708 | _: Parse, [INFO] [stdout] 709 ~ memory_mapping: &MemoryMapping, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type parameter `T` goes unused in function definition [INFO] [stdout] --> builder/src/syscall_decode.rs:705:26 [INFO] [stdout] | [INFO] [stdout] 705 | fn translate_regions<'a, T, Parse>( [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_type_parameters [INFO] [stdout] = note: `#[warn(clippy::extra_unused_type_parameters)]` on by default [INFO] [stdout] help: consider removing the parameter [INFO] [stdout] | [INFO] [stdout] 705 - fn translate_regions<'a, T, Parse>( [INFO] [stdout] 705 + fn translate_regions<'a, Parse>( [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: passing a unit value to a function [INFO] [stdout] --> builder/src/memory.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | unsafe { std::ptr::write_unaligned::(phy_addr as *mut T, value) }.into() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stdout] = note: `#[warn(clippy::unit_arg)]` on by default [INFO] [stdout] help: move the expression in front of the call and replace it with the unit literal `()` [INFO] [stdout] | [INFO] [stdout] 95 ~ let _: () = unsafe { std::ptr::write_unaligned::(phy_addr as *mut T, value) }; [INFO] [stdout] 96 + ().into() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `()` [INFO] [stdout] --> builder/src/memory.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | unsafe { std::ptr::write_unaligned::(phy_addr as *mut T, value) }.into() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `unsafe { std::ptr::write_unaligned::(phy_addr as *mut T, value) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: passing a unit value to a function [INFO] [stdout] --> builder/src/memory.rs:109:9 [INFO] [stdout] | [INFO] [stdout] 109 | Ok(Self::mstore(phy_addr, value)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stdout] help: move the expression in front of the call and replace it with the unit literal `()` [INFO] [stdout] | [INFO] [stdout] 109 ~ let _: () = Self::mstore(phy_addr, value); [INFO] [stdout] 110 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> builder/src/memory.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 113 | / match op { [INFO] [stdout] 114 | | MemoryAccess::Write { [INFO] [stdout] 115 | | value, [INFO] [stdout] 116 | | vmaddr, [INFO] [stdout] ... | [INFO] [stdout] 129 | | _ => {} [INFO] [stdout] 130 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 113 ~ if let MemoryAccess::Write { [INFO] [stdout] 114 + value, [INFO] [stdout] 115 + vmaddr, [INFO] [stdout] 116 + size, [INFO] [stdout] 117 + .. [INFO] [stdout] 118 + } = op { [INFO] [stdout] 119 + let phy_addr = self.translate_vmaddr(vmaddr, size as u64, Some(false))?; [INFO] [stdout] 120 + match size { [INFO] [stdout] 121 + 1 => Self::mstore(phy_addr, value as u8), [INFO] [stdout] 122 + 2 => Self::mstore(phy_addr, value as u16), [INFO] [stdout] 123 + 4 => Self::mstore(phy_addr, value as u32), [INFO] [stdout] 124 + 8 => Self::mstore(phy_addr, value as u64), [INFO] [stdout] 125 + _ => {} [INFO] [stdout] 126 + } [INFO] [stdout] 127 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u64` -> `u64`) [INFO] [stdout] --> builder/src/memory.rs:125:49 [INFO] [stdout] | [INFO] [stdout] 125 | 8 => Self::mstore(phy_addr, value as u64), [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `mem` [INFO] [stdout] --> builder/src/memory.rs:158:22 [INFO] [stdout] | [INFO] [stdout] 158 | for i in 0..mem.len() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 158 - for i in 0..mem.len() { [INFO] [stdout] 158 + for (i, ) in mem.iter().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> builder/src/lib.rs:362:9 [INFO] [stdout] | [INFO] [stdout] 362 | / match self.trace.borrow_mut().as_mut().unwrap().prepare( [INFO] [stdout] 363 | | program_id, [INFO] [stdout] 364 | | instruction_data, [INFO] [stdout] 365 | | instruction_accounts, [INFO] [stdout] ... | [INFO] [stdout] 373 | | _ => {} [INFO] [stdout] 374 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 362 ~ if let Err(err) = self.trace.borrow_mut().as_mut().unwrap().prepare( [INFO] [stdout] 363 + program_id, [INFO] [stdout] 364 + instruction_data, [INFO] [stdout] 365 + instruction_accounts, [INFO] [stdout] 366 + invoke_context, [INFO] [stdout] 367 + ) { [INFO] [stdout] 368 + TRACE_IN_PROGRESS.with(|addr| addr.replace(std::ptr::null_mut())); [INFO] [stdout] 369 + self.err [INFO] [stdout] 370 + .replace(Some(EmulationError::InstructionError(err))); [INFO] [stdout] 371 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> builder/src/lib.rs:379:13 [INFO] [stdout] | [INFO] [stdout] 379 | / match self [INFO] [stdout] 380 | | .trace [INFO] [stdout] 381 | | .borrow_mut() [INFO] [stdout] 382 | | .as_mut() [INFO] [stdout] ... | [INFO] [stdout] 389 | | _ => {} [INFO] [stdout] 390 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 379 ~ if let Err(err) = self [INFO] [stdout] 380 + .trace [INFO] [stdout] 381 + .borrow_mut() [INFO] [stdout] 382 + .as_mut() [INFO] [stdout] 383 + .unwrap() [INFO] [stdout] 384 + .finalize_frame(invoke_context) { [INFO] [stdout] 385 + self.err.replace(Some(err)); [INFO] [stdout] 386 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: initializer for `thread_local` value can be made `const` [INFO] [stdout] --> builder/src/lib.rs:396:64 [INFO] [stdout] | [INFO] [stdout] 396 | static TRACE_IN_PROGRESS: RefCell<*mut InstructionTrace> = RefCell::new(std::ptr::null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `const { RefCell::new(std::ptr::null_mut()) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_thread_local [INFO] [stdout] = note: `#[warn(clippy::missing_const_for_thread_local)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> builder/src/syscall_decode.rs:386:32 [INFO] [stdout] | [INFO] [stdout] 386 | pub fn make_account_patch_rust<'a>( [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 391 | memory_mapping: &'a MemoryMapping, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 386 ~ pub fn make_account_patch_rust( [INFO] [stdout] 387 | pubkey: Pubkey, [INFO] [stdout] ... [INFO] [stdout] 390 | regions: &[(Pubkey, VmRegion)], [INFO] [stdout] 391 ~ memory_mapping: &MemoryMapping, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> builder/src/syscall_decode.rs:405:29 [INFO] [stdout] | [INFO] [stdout] 405 | pub fn make_account_patch_c<'a>( [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 410 | memory_mapping: &'a MemoryMapping, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 405 ~ pub fn make_account_patch_c( [INFO] [stdout] 406 | pubkey: Pubkey, [INFO] [stdout] ... [INFO] [stdout] 409 | regions: &[(Pubkey, VmRegion)], [INFO] [stdout] 410 ~ memory_mapping: &MemoryMapping, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u64` -> `u64`) [INFO] [stdout] --> builder/src/syscall_decode.rs:520:21 [INFO] [stdout] | [INFO] [stdout] 520 | vmaddr: data_ptr as u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `data_ptr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmute used without annotations [INFO] [stdout] --> builder/src/syscall_decode.rs:521:37 [INFO] [stdout] | [INFO] [stdout] 521 | val: unsafe { std::mem::transmute(*data) }, [INFO] [stdout] | ^^^^^^^^^ help: consider adding missing annotations: `transmute::<&[u8], [u64; 2]>` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations [INFO] [stdout] = note: `#[warn(clippy::missing_transmute_annotations)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u64` -> `u64`) [INFO] [stdout] --> builder/src/syscall_decode.rs:589:18 [INFO] [stdout] | [INFO] [stdout] 589 | val: info.data_addr as u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `info.data_addr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> builder/src/syscall_decode.rs:609:23 [INFO] [stdout] | [INFO] [stdout] 609 | fn make_account_patch<'a, T, Parse>( [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 615 | memory_mapping: &'a MemoryMapping, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 609 ~ fn make_account_patch( [INFO] [stdout] 610 | pubkey: Pubkey, [INFO] [stdout] ... [INFO] [stdout] 614 | regions: &[(Pubkey, VmRegion)], [INFO] [stdout] 615 ~ memory_mapping: &MemoryMapping, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> builder/src/syscall_decode.rs:675:31 [INFO] [stdout] | [INFO] [stdout] 675 | pub fn translate_regions_rust<'a>( [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 678 | memory_mapping: &'a MemoryMapping, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 675 ~ pub fn translate_regions_rust( [INFO] [stdout] 676 | account_infos_addr: u64, [INFO] [stdout] 677 | account_infos_len: u64, [INFO] [stdout] 678 ~ memory_mapping: &MemoryMapping, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> builder/src/syscall_decode.rs:690:28 [INFO] [stdout] | [INFO] [stdout] 690 | pub fn translate_regions_c<'a>( [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 693 | memory_mapping: &'a MemoryMapping, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 690 ~ pub fn translate_regions_c( [INFO] [stdout] 691 | account_infos_addr: u64, [INFO] [stdout] 692 | account_infos_len: u64, [INFO] [stdout] 693 ~ memory_mapping: &MemoryMapping, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> builder/src/syscall_decode.rs:705:22 [INFO] [stdout] | [INFO] [stdout] 705 | fn translate_regions<'a, T, Parse>( [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 709 | memory_mapping: &'a MemoryMapping, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 705 ~ fn translate_regions( [INFO] [stdout] 706 | account_infos_addr: u64, [INFO] [stdout] 707 | account_infos_len: u64, [INFO] [stdout] 708 | _: Parse, [INFO] [stdout] 709 ~ memory_mapping: &MemoryMapping, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type parameter `T` goes unused in function definition [INFO] [stdout] --> builder/src/syscall_decode.rs:705:26 [INFO] [stdout] | [INFO] [stdout] 705 | fn translate_regions<'a, T, Parse>( [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_type_parameters [INFO] [stdout] = note: `#[warn(clippy::extra_unused_type_parameters)]` on by default [INFO] [stdout] help: consider removing the parameter [INFO] [stdout] | [INFO] [stdout] 705 - fn translate_regions<'a, T, Parse>( [INFO] [stdout] 705 + fn translate_regions<'a, Parse>( [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> builder/src/lib.rs:561:1 [INFO] [stdout] | [INFO] [stdout] 561 | / impl Default for InstructionTrace { [INFO] [stdout] 562 | | fn default() -> Self { [INFO] [stdout] 563 | | Self { [INFO] [stdout] 564 | | result: InstructionResult::default(), [INFO] [stdout] ... | [INFO] [stdout] 575 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 126 + #[derive(Default)] [INFO] [stdout] 127 | pub struct InstructionTrace { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true [INFO] [stdout] --> builder/src/lib.rs:600:1 [INFO] [stdout] | [INFO] [stdout] 600 | impl Into for CUMeter { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: `impl From for Foreign` is allowed by the orphan rules, for more information see [INFO] [stdout] https://doc.rust-lang.org/reference/items/implementations.html#trait-implementation-coherence [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into [INFO] [stdout] = note: `#[warn(clippy::from_over_into)]` on by default [INFO] [stdout] help: replace the `Into` implementation with `From` [INFO] [stdout] | [INFO] [stdout] 600 ~ impl From for u64 { [INFO] [stdout] 601 ~ fn from(val: CUMeter) -> Self { [INFO] [stdout] 602 ~ val.0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `ComputeBudget` which implements the `Copy` trait [INFO] [stdout] --> builder/src/lib.rs:711:31 [INFO] [stdout] | [INFO] [stdout] 711 | self.compute_budget = mollusk.compute_budget.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `mollusk.compute_budget` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> builder/src/lib.rs:758:19 [INFO] [stdout] | [INFO] [stdout] 758 | .find(&program_id) [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `program_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> builder/src/lib.rs:759:59 [INFO] [stdout] | [INFO] [stdout] 759 | .or_panic_with(MolluskError::ProgramNotCached(&program_id)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `program_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u16` -> `u16`) [INFO] [stdout] --> builder/src/lib.rs:774:67 [INFO] [stdout] | [INFO] [stdout] 774 | .push(*tx_context.get_key_of_account_at_index(i as u16)?); [INFO] [stdout] | ^^^^^^^^ help: try: `i` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> builder/src/lib.rs:824:34 [INFO] [stdout] | [INFO] [stdout] 824 | let stack_size = executable.get_config().stack_size() as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `executable.get_config().stack_size()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> builder/src/lib.rs:860:62 [INFO] [stdout] | [INFO] [stdout] 860 | _ => panic!("{}", MolluskError::ProgramNotCached(&program_id)), [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `program_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> builder/src/lib.rs:867:13 [INFO] [stdout] | [INFO] [stdout] 867 | &instruction_data, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change this to: `instruction_data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> builder/src/lib.rs:877:38 [INFO] [stdout] | [INFO] [stdout] 877 | address_space.regions.extend(regions.into_iter()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/91021ccc790478a1a89c003e7d32b8d155ae6aae/library/core/src/iter/traits/collect.rs:416:17 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 877 - address_space.regions.extend(regions.into_iter()); [INFO] [stdout] 877 + address_space.regions.extend(regions); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> builder/src/lib.rs:362:9 [INFO] [stdout] | [INFO] [stdout] 362 | / match self.trace.borrow_mut().as_mut().unwrap().prepare( [INFO] [stdout] 363 | | program_id, [INFO] [stdout] 364 | | instruction_data, [INFO] [stdout] 365 | | instruction_accounts, [INFO] [stdout] ... | [INFO] [stdout] 373 | | _ => {} [INFO] [stdout] 374 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 362 ~ if let Err(err) = self.trace.borrow_mut().as_mut().unwrap().prepare( [INFO] [stdout] 363 + program_id, [INFO] [stdout] 364 + instruction_data, [INFO] [stdout] 365 + instruction_accounts, [INFO] [stdout] 366 + invoke_context, [INFO] [stdout] 367 + ) { [INFO] [stdout] 368 + TRACE_IN_PROGRESS.with(|addr| addr.replace(std::ptr::null_mut())); [INFO] [stdout] 369 + self.err [INFO] [stdout] 370 + .replace(Some(EmulationError::InstructionError(err))); [INFO] [stdout] 371 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> builder/src/lib.rs:379:13 [INFO] [stdout] | [INFO] [stdout] 379 | / match self [INFO] [stdout] 380 | | .trace [INFO] [stdout] 381 | | .borrow_mut() [INFO] [stdout] 382 | | .as_mut() [INFO] [stdout] ... | [INFO] [stdout] 389 | | _ => {} [INFO] [stdout] 390 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 379 ~ if let Err(err) = self [INFO] [stdout] 380 + .trace [INFO] [stdout] 381 + .borrow_mut() [INFO] [stdout] 382 + .as_mut() [INFO] [stdout] 383 + .unwrap() [INFO] [stdout] 384 + .finalize_frame(invoke_context) { [INFO] [stdout] 385 + self.err.replace(Some(err)); [INFO] [stdout] 386 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: initializer for `thread_local` value can be made `const` [INFO] [stdout] --> builder/src/lib.rs:396:64 [INFO] [stdout] | [INFO] [stdout] 396 | static TRACE_IN_PROGRESS: RefCell<*mut InstructionTrace> = RefCell::new(std::ptr::null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `const { RefCell::new(std::ptr::null_mut()) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_thread_local [INFO] [stdout] = note: `#[warn(clippy::missing_const_for_thread_local)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> builder/src/lib.rs:561:1 [INFO] [stdout] | [INFO] [stdout] 561 | / impl Default for InstructionTrace { [INFO] [stdout] 562 | | fn default() -> Self { [INFO] [stdout] 563 | | Self { [INFO] [stdout] 564 | | result: InstructionResult::default(), [INFO] [stdout] ... | [INFO] [stdout] 575 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 126 + #[derive(Default)] [INFO] [stdout] 127 | pub struct InstructionTrace { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true [INFO] [stdout] --> builder/src/lib.rs:600:1 [INFO] [stdout] | [INFO] [stdout] 600 | impl Into for CUMeter { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: `impl From for Foreign` is allowed by the orphan rules, for more information see [INFO] [stdout] https://doc.rust-lang.org/reference/items/implementations.html#trait-implementation-coherence [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into [INFO] [stdout] = note: `#[warn(clippy::from_over_into)]` on by default [INFO] [stdout] help: replace the `Into` implementation with `From` [INFO] [stdout] | [INFO] [stdout] 600 ~ impl From for u64 { [INFO] [stdout] 601 ~ fn from(val: CUMeter) -> Self { [INFO] [stdout] 602 ~ val.0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `ComputeBudget` which implements the `Copy` trait [INFO] [stdout] --> builder/src/lib.rs:711:31 [INFO] [stdout] | [INFO] [stdout] 711 | self.compute_budget = mollusk.compute_budget.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `mollusk.compute_budget` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> builder/src/lib.rs:758:19 [INFO] [stdout] | [INFO] [stdout] 758 | .find(&program_id) [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `program_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> builder/src/lib.rs:759:59 [INFO] [stdout] | [INFO] [stdout] 759 | .or_panic_with(MolluskError::ProgramNotCached(&program_id)); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `program_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u16` -> `u16`) [INFO] [stdout] --> builder/src/lib.rs:774:67 [INFO] [stdout] | [INFO] [stdout] 774 | .push(*tx_context.get_key_of_account_at_index(i as u16)?); [INFO] [stdout] | ^^^^^^^^ help: try: `i` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> builder/src/lib.rs:824:34 [INFO] [stdout] | [INFO] [stdout] 824 | let stack_size = executable.get_config().stack_size() as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `executable.get_config().stack_size()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> builder/src/lib.rs:860:62 [INFO] [stdout] | [INFO] [stdout] 860 | _ => panic!("{}", MolluskError::ProgramNotCached(&program_id)), [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `program_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> builder/src/lib.rs:867:13 [INFO] [stdout] | [INFO] [stdout] 867 | &instruction_data, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change this to: `instruction_data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> builder/src/lib.rs:877:38 [INFO] [stdout] | [INFO] [stdout] 877 | address_space.regions.extend(regions.into_iter()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/91021ccc790478a1a89c003e7d32b8d155ae6aae/library/core/src/iter/traits/collect.rs:416:17 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 877 - address_space.regions.extend(regions.into_iter()); [INFO] [stdout] 877 + address_space.regions.extend(regions); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking runner v0.0.0 (/opt/rustwide/workdir/test-utils/runner) [INFO] [stdout] warning: unused imports: `InstructionExecutionCircuit`, `io::Write`, `prove_execution`, and `verify_execution` [INFO] [stdout] --> test-utils/runner/src/main.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | io::Write, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | prove_aggregate, prove_execution, verify_aggregate, verify_execution, [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] 29 | AggregatedExecutionCircuit, InstructionExecutionCircuit, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `InstructionExecutionCircuit`, `io::Write`, `prove_execution`, and `verify_execution` [INFO] [stdout] --> test-utils/runner/src/main.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | io::Write, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | prove_aggregate, prove_execution, verify_aggregate, verify_execution, [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] 29 | AggregatedExecutionCircuit, InstructionExecutionCircuit, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated module `solana_sdk::bpf_loader_upgradeable`: Use `solana-loader-v3-interface` crate instead [INFO] [stdout] --> test-utils/runner/src/main.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | bpf_loader_upgradeable, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated module `solana_sdk::bpf_loader_upgradeable`: Use `solana-loader-v3-interface` crate instead [INFO] [stdout] --> test-utils/runner/src/main.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | bpf_loader_upgradeable, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `idx` [INFO] [stdout] --> test-utils/runner/src/main.rs:204:14 [INFO] [stdout] | [INFO] [stdout] 204 | for (idx, entry) in entries_slice.iter().enumerate() { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_idx` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mem` [INFO] [stdout] --> test-utils/runner/src/main.rs:310:17 [INFO] [stdout] | [INFO] [stdout] 310 | let mem = &entry.mem; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_mem` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instruction_burn_cus` is never used [INFO] [stdout] --> test-utils/runner/src/main.rs:50:4 [INFO] [stdout] | [INFO] [stdout] 50 | fn instruction_burn_cus(program_id: &Pubkey, to_burn: u64) -> Instruction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dump_program_bytecode` is never used [INFO] [stdout] --> test-utils/runner/src/bytecode_dump.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn dump_program_bytecode( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `InstructionExecutionCircuit` is never constructed [INFO] [stdout] --> test-utils/runner/src/zk.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct InstructionExecutionCircuit { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `prove_execution` is never used [INFO] [stdout] --> test-utils/runner/src/zk.rs:155:8 [INFO] [stdout] | [INFO] [stdout] 155 | pub fn prove_execution( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `verify_execution` is never used [INFO] [stdout] --> test-utils/runner/src/zk.rs:166:8 [INFO] [stdout] | [INFO] [stdout] 166 | pub fn verify_execution( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `idx` [INFO] [stdout] --> test-utils/runner/src/main.rs:204:14 [INFO] [stdout] | [INFO] [stdout] 204 | for (idx, entry) in entries_slice.iter().enumerate() { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_idx` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mem` [INFO] [stdout] --> test-utils/runner/src/main.rs:310:17 [INFO] [stdout] | [INFO] [stdout] 310 | let mem = &entry.mem; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_mem` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instruction_burn_cus` is never used [INFO] [stdout] --> test-utils/runner/src/main.rs:50:4 [INFO] [stdout] | [INFO] [stdout] 50 | fn instruction_burn_cus(program_id: &Pubkey, to_burn: u64) -> Instruction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dump_program_bytecode` is never used [INFO] [stdout] --> test-utils/runner/src/bytecode_dump.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn dump_program_bytecode( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `InstructionExecutionCircuit` is never constructed [INFO] [stdout] --> test-utils/runner/src/zk.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct InstructionExecutionCircuit { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `prove_execution` is never used [INFO] [stdout] --> test-utils/runner/src/zk.rs:155:8 [INFO] [stdout] | [INFO] [stdout] 155 | pub fn prove_execution( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `verify_execution` is never used [INFO] [stdout] --> test-utils/runner/src/zk.rs:166:8 [INFO] [stdout] | [INFO] [stdout] 166 | pub fn verify_execution( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> test-utils/runner/src/zk.rs:157:6 [INFO] [stdout] | [INFO] [stdout] 157 | ) -> Result<(Proof, ProvingKey, VerifyingKey), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> test-utils/runner/src/zk.rs:177:6 [INFO] [stdout] | [INFO] [stdout] 177 | ) -> Result<(Proof, ProvingKey, VerifyingKey), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> test-utils/runner/src/zk.rs:157:6 [INFO] [stdout] | [INFO] [stdout] 157 | ) -> Result<(Proof, ProvingKey, VerifyingKey), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> test-utils/runner/src/zk.rs:177:6 [INFO] [stdout] | [INFO] [stdout] 177 | ) -> Result<(Proof, ProvingKey, VerifyingKey), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: it looks like you're manually copying between slices [INFO] [stdout] --> test-utils/runner/src/zk.rs:482:9 [INFO] [stdout] | [INFO] [stdout] 482 | / for i in shift..64 { [INFO] [stdout] 483 | | shifted[i] = a_bits[i - shift].clone(); [INFO] [stdout] 484 | | } [INFO] [stdout] | |_________^ help: try replacing the loop by: `shifted[shift..64].clone_from_slice(&a_bits[..(64 - shift)]);` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stdout] = note: `#[warn(clippy::manual_memcpy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: it looks like you're manually copying between slices [INFO] [stdout] --> test-utils/runner/src/zk.rs:482:9 [INFO] [stdout] | [INFO] [stdout] 482 | / for i in shift..64 { [INFO] [stdout] 483 | | shifted[i] = a_bits[i - shift].clone(); [INFO] [stdout] 484 | | } [INFO] [stdout] | |_________^ help: try replacing the loop by: `shifted[shift..64].clone_from_slice(&a_bits[..(64 - shift)]);` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stdout] = note: `#[warn(clippy::manual_memcpy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i64` -> `i64`) [INFO] [stdout] --> test-utils/runner/src/main.rs:209:27 [INFO] [stdout] | [INFO] [stdout] 209 | imms_raw.push(entry.insn.imm as i64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `entry.insn.imm` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i64` -> `i64`) [INFO] [stdout] --> test-utils/runner/src/main.rs:209:27 [INFO] [stdout] | [INFO] [stdout] 209 | imms_raw.push(entry.insn.imm as i64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `entry.insn.imm` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i64` -> `i64`) [INFO] [stdout] --> test-utils/runner/src/main.rs:325:23 [INFO] [stdout] | [INFO] [stdout] 325 | let imm_i64 = entry.insn.imm as i64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `entry.insn.imm` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i64` -> `i64`) [INFO] [stdout] --> test-utils/runner/src/main.rs:325:23 [INFO] [stdout] | [INFO] [stdout] 325 | let imm_i64 = entry.insn.imm as i64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `entry.insn.imm` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 35s [INFO] running `Command { std: "docker" "inspect" "a6aa2142879bdaa9c3e26d2b4fbcf06a64ba58497ff78078ab41d52b5ed692a9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a6aa2142879bdaa9c3e26d2b4fbcf06a64ba58497ff78078ab41d52b5ed692a9", kill_on_drop: false }` [INFO] [stdout] a6aa2142879bdaa9c3e26d2b4fbcf06a64ba58497ff78078ab41d52b5ed692a9