[INFO] fetching crate solana-farm-sdk 1.1.3... [INFO] linting solana-farm-sdk-1.1.3 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate solana-farm-sdk 1.1.3 into /workspace/builds/worker-1-tc1/source [INFO] started tweaking crates.io crate solana-farm-sdk 1.1.3 [INFO] finished tweaking crates.io crate solana-farm-sdk 1.1.3 [INFO] tweaked toml for crates.io crate solana-farm-sdk 1.1.3 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate solana-farm-sdk 1.1.3 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] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 435 packages to latest compatible versions [INFO] [stderr] Adding ahash v0.7.8 (available: v0.8.12) [INFO] [stderr] Adding crypto-common v0.1.6 (available: v0.1.7) [INFO] [stderr] Adding crypto-mac v0.11.0 (available: v0.11.1) [INFO] [stderr] Adding hashbrown v0.15.2 (available: v0.15.5) [INFO] [stderr] Adding hyper v0.14.29 (available: v0.14.32) [INFO] [stderr] Adding num_enum v0.5.11 (available: v0.7.6) [INFO] [stderr] Adding pyth-client v0.5.0 (available: v0.5.1) [INFO] [stderr] Adding solana-address-lookup-table-program v1.9.29 (available: v1.18.26) [INFO] [stderr] Adding solana-banks-client v1.9.29 (available: v1.18.26) [INFO] [stderr] Adding solana-banks-interface v1.9.29 (available: v1.18.26) [INFO] [stderr] Adding solana-banks-server v1.9.29 (available: v1.18.26) [INFO] [stderr] Adding solana-bloom v1.9.29 (available: v1.18.26) [INFO] [stderr] Adding solana-bpf-loader-program v1.9.29 (available: v1.18.26) [INFO] [stderr] Adding solana-bucket-map v1.9.29 (available: v1.18.26) [INFO] [stderr] Adding solana-compute-budget-program v1.9.29 (available: v1.18.26) [INFO] [stderr] Adding solana-config-program v1.9.29 (available: v1.18.26) [INFO] [stderr] Adding solana-frozen-abi v1.9.29 (available: v1.18.26) [INFO] [stderr] Adding solana-frozen-abi-macro v1.9.29 (available: v1.18.26) [INFO] [stderr] Adding solana-logger v1.9.29 (available: v1.18.26) [INFO] [stderr] Adding solana-measure v1.9.29 (available: v1.18.26) [INFO] [stderr] Adding solana-metrics v1.9.29 (available: v1.18.26) [INFO] [stderr] Adding solana-program v1.9.29 (available: v1.18.26) [INFO] [stderr] Adding solana-program-runtime v1.9.29 (available: v1.18.26) [INFO] [stderr] Adding solana-program-test v1.9.29 (available: v1.18.26) [INFO] [stderr] Adding solana-rayon-threadlimit v1.9.29 (available: v1.18.26) [INFO] [stderr] Adding solana-runtime v1.9.29 (available: v1.18.26) [INFO] [stderr] Adding solana-sdk v1.9.29 (available: v1.18.26) [INFO] [stderr] Adding solana-sdk-macro v1.9.29 (available: v1.18.26) [INFO] [stderr] Adding solana-send-transaction-service v1.9.29 (available: v1.18.26) [INFO] [stderr] Adding solana-stake-program v1.9.29 (available: v1.18.26) [INFO] [stderr] Adding solana-vote-program v1.9.29 (available: v1.18.26) [INFO] [stderr] Adding solana_rbpf v0.2.24 (available: v0.2.40) [INFO] [stderr] Adding spl-associated-token-account v1.0.3 (available: v1.1.3) [INFO] [stderr] Adding spl-token v3.3.0 (available: v3.5.0) [INFO] [stderr] Adding spl-token-swap v2.1.0 (available: v3.0.0) [INFO] [stderr] Adding thiserror v1.0.69 (available: v2.0.18) [INFO] [stderr] Adding tokio v1.14.1 (available: v1.50.0) [INFO] [stderr] Adding tokio-stream v0.1.12 (available: v0.1.18) [INFO] [stderr] Adding tokio-util v0.7.2 (available: v0.7.18) [INFO] [stderr] Adding uint v0.9.1 (available: v0.9.5) [INFO] [stderr] Adding wasi v0.10.0+wasi-snapshot-preview1 (available: v0.10.2+wasi-snapshot-preview1) [INFO] [stderr] Adding zeroize v1.3.0 (available: v1.8.2) [INFO] [stderr] Adding zstd-safe v4.1.3+zstd.1.5.1 (available: v4.1.6+zstd.1.5.2) [INFO] [stderr] Adding zstd-sys v1.6.2+zstd.1.5.1 (available: v1.6.3+zstd.1.5.2) [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] Downloading crates ... [INFO] [stderr] Downloaded solana-frozen-abi-macro v1.9.29 [INFO] [stderr] Downloaded uint v0.9.1 [INFO] [stderr] Downloaded spl-token-swap v2.1.0 [INFO] [stderr] Downloaded stable-swap-client v1.8.1 [INFO] [stderr] Downloaded solana-frozen-abi v1.9.29 [INFO] [stderr] Downloaded solana-logger v1.9.29 [INFO] [stderr] Downloaded spl-token v3.3.0 [INFO] [stderr] Downloaded solana-sdk-macro v1.9.29 [INFO] [stderr] Downloaded anchor-attribute-account v0.24.2 [INFO] [stderr] Downloaded arraystring v0.3.0 [INFO] [stderr] Downloaded pyth-client v0.5.0 [INFO] [stderr] Downloaded quarry-mint-wrapper v5.2.0 [INFO] [stderr] Downloaded tracing-opentelemetry v0.15.0 [INFO] [stderr] Downloaded hash32 v0.1.1 [INFO] [stderr] Downloaded u128 v0.1.0 [INFO] [stderr] Downloaded solana-banks-server v1.9.29 [INFO] [stderr] Downloaded borsh v0.7.2 [INFO] [stderr] Downloaded solana-bpf-loader-program v1.9.29 [INFO] [stderr] Downloaded solana-sdk v1.9.29 [INFO] [stderr] Downloaded anchor-attribute-constant v0.24.2 [INFO] [stderr] Downloaded solana_rbpf v0.2.24 [INFO] [stderr] Downloaded solana-program-test v1.9.29 [INFO] [stderr] Downloaded opentelemetry v0.16.0 [INFO] [stderr] Downloaded solana-runtime v1.9.29 [INFO] [stderr] Downloaded ed25519-dalek-bip32 v0.1.1 [INFO] [stderr] Downloaded goblin v0.4.3 [INFO] [stderr] Downloaded scroll v0.10.2 [INFO] [stderr] Downloaded anchor-attribute-error v0.24.2 [INFO] [stderr] Downloaded solana-vote-program v1.9.29 [INFO] [stderr] Downloaded solana-program v1.9.29 [INFO] [stderr] Downloaded anchor-attribute-event v0.24.2 [INFO] [stderr] Downloaded solana-address-lookup-table-program v1.9.29 [INFO] [stderr] Downloaded solana-bloom v1.9.29 [INFO] [stderr] Downloaded solana-compute-budget-program v1.9.29 [INFO] [stderr] Downloaded solana-stake-program v1.9.29 [INFO] [stderr] Downloaded solana-metrics v1.9.29 [INFO] [stderr] Downloaded solana-program-runtime v1.9.29 [INFO] [stderr] Downloaded hmac v0.9.0 [INFO] [stderr] Downloaded crypto-mac v0.11.0 [INFO] [stderr] Downloaded pbkdf2 v0.9.0 [INFO] [stderr] Downloaded spl-associated-token-account v1.0.3 [INFO] [stderr] Downloaded borsh-derive-internal v0.7.2 [INFO] [stderr] Downloaded borsh-schema-derive-internal v0.7.2 [INFO] [stderr] Downloaded borsh-derive v0.7.2 [INFO] [stderr] Downloaded spl-math v0.1.0 [INFO] [stderr] Downloaded quarry-mine v5.2.0 [INFO] [stderr] Downloaded anchor-attribute-access-control v0.24.2 [INFO] [stderr] Downloaded anchor-attribute-interface v0.24.2 [INFO] [stderr] Downloaded anchor-derive-accounts v0.24.2 [INFO] [stderr] Downloaded anchor-lang v0.24.2 [INFO] [stderr] Downloaded anchor-spl v0.24.2 [INFO] [stderr] Downloaded quarry-redeemer v5.2.0 [INFO] [stderr] Downloaded solana-banks-client v1.9.29 [INFO] [stderr] Downloaded solana-banks-interface v1.9.29 [INFO] [stderr] Downloaded solana-send-transaction-service v1.9.29 [INFO] [stderr] Downloaded tarpc v0.27.2 [INFO] [stderr] Downloaded scroll_derive v0.10.5 [INFO] [stderr] Downloaded ouroboros v0.13.0 [INFO] [stderr] Downloaded solana-bucket-map v1.9.29 [INFO] [stderr] Downloaded solana-rayon-threadlimit v1.9.29 [INFO] [stderr] Downloaded solana-config-program v1.9.29 [INFO] [stderr] Downloaded solana-measure v1.9.29 [INFO] [stderr] Downloaded derivation-path v0.1.3 [INFO] [stderr] Downloaded crypto-mac v0.9.1 [INFO] [stderr] Downloaded anchor-attribute-program v0.24.2 [INFO] [stderr] Downloaded anchor-attribute-state v0.24.2 [INFO] [stderr] Downloaded vipers v2.0.6 [INFO] [stderr] Downloaded ouroboros_macro v0.13.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 52520268a38cb4e91e8759b7ed9b7240208ee099ba5db0a378f8287052fdbe81 [INFO] running `Command { std: "docker" "start" "-a" "52520268a38cb4e91e8759b7ed9b7240208ee099ba5db0a378f8287052fdbe81", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "52520268a38cb4e91e8759b7ed9b7240208ee099ba5db0a378f8287052fdbe81", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "52520268a38cb4e91e8759b7ed9b7240208ee099ba5db0a378f8287052fdbe81", kill_on_drop: false }` [INFO] [stdout] 52520268a38cb4e91e8759b7ed9b7240208ee099ba5db0a378f8287052fdbe81 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] e62a7ce4d71c5f0452e360d15505891d9c9afd2fc3b76fc17a42102a581bff09 [INFO] running `Command { std: "docker" "start" "-a" "e62a7ce4d71c5f0452e360d15505891d9c9afd2fc3b76fc17a42102a581bff09", kill_on_drop: false }` [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling solana-frozen-abi-macro v1.9.29 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling solana-frozen-abi v1.9.29 [INFO] [stderr] Checking rand_pcg v0.2.1 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Compiling solana-program v1.9.29 [INFO] [stderr] Compiling ahash v0.7.8 [INFO] [stderr] Checking regex v1.12.3 [INFO] [stderr] Checking memmap2 v0.5.10 [INFO] [stderr] Checking serde_bytes v0.11.19 [INFO] [stderr] Compiling block-padding v0.2.1 [INFO] [stderr] Compiling opaque-debug v0.3.1 [INFO] [stderr] Checking stable_deref_trait v1.2.1 [INFO] [stderr] Checking serde_json v1.0.149 [INFO] [stderr] Checking object v0.37.3 [INFO] [stderr] Checking num_cpus v1.17.0 [INFO] [stderr] Checking parking_lot_core v0.8.6 [INFO] [stderr] Compiling tokio v1.14.1 [INFO] [stderr] Checking mio v0.7.14 [INFO] [stderr] Compiling solana-sdk v1.9.29 [INFO] [stderr] Compiling proc-macro2-diagnostics v0.9.1 [INFO] [stderr] Compiling yansi v0.5.1 [INFO] [stderr] Compiling cc v1.2.57 [INFO] [stderr] Checking parking_lot v0.11.2 [INFO] [stderr] Checking env_logger v0.9.3 [INFO] [stderr] Compiling bs58 v0.3.1 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling rustls v0.21.12 [INFO] [stderr] Compiling solana-program-runtime v1.9.29 [INFO] [stderr] Checking libloading v0.7.4 [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Checking gethostname v0.2.3 [INFO] [stderr] Checking hashbrown v0.11.2 [INFO] [stderr] Compiling zerocopy v0.8.42 [INFO] [stderr] Checking solana-logger v1.9.29 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling solana-vote-program v1.9.29 [INFO] [stderr] Compiling humantime v2.3.0 [INFO] [stderr] Compiling zstd-safe v4.1.3+zstd.1.5.1 [INFO] [stderr] Checking tracing-subscriber v0.2.25 [INFO] [stderr] Compiling solana-stake-program v1.9.29 [INFO] [stderr] Compiling solana-bloom v1.9.29 [INFO] [stderr] Compiling solana-address-lookup-table-program v1.9.29 [INFO] [stderr] Compiling Inflector v0.11.4 [INFO] [stderr] Checking hashbrown v0.15.2 [INFO] [stderr] Checking tempfile v3.27.0 [INFO] [stderr] Checking xattr v1.6.1 [INFO] [stderr] Checking filetime v0.2.27 [INFO] [stderr] Compiling solana-runtime v1.9.29 [INFO] [stderr] Compiling zeroize v1.3.0 [INFO] [stderr] Compiling constant_time_eq v0.4.2 [INFO] [stderr] Compiling base64 v0.12.3 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Checking fs_extra v1.3.0 [INFO] [stderr] Compiling keccak v0.1.6 [INFO] [stderr] Checking solana-security-txt v1.1.2 [INFO] [stderr] Checking tar v0.4.44 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Checking uint v0.8.5 [INFO] [stderr] Checking dir-diff v0.3.3 [INFO] [stderr] Checking dashmap v4.0.2 [INFO] [stderr] Checking solana-rayon-threadlimit v1.9.29 [INFO] [stderr] Compiling base64 v0.13.1 [INFO] [stderr] Checking index_list v0.2.17 [INFO] [stderr] Checking symlink v0.1.0 [INFO] [stderr] Checking combine v3.8.1 [INFO] [stderr] Checking uint v0.9.1 [INFO] [stderr] Checking hash32 v0.1.1 [INFO] [stderr] Checking time v0.1.45 [INFO] [stderr] Checking arraystring v0.3.0 [INFO] [stderr] Compiling blake3 v1.8.3 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling zstd-sys v1.6.2+zstd.1.5.1 [INFO] [stderr] Compiling bzip2-sys v0.1.13+1.0.8 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Checking u128 v0.1.0 [INFO] [stderr] Checking bzip2 v0.4.4 [INFO] [stderr] Compiling borsh-schema-derive-internal v0.9.3 [INFO] [stderr] Compiling borsh-derive-internal v0.9.3 [INFO] [stderr] Compiling synstructure v0.12.6 [INFO] [stderr] Checking backtrace v0.3.76 [INFO] [stderr] Compiling borsh-derive-internal v0.7.2 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling borsh-schema-derive-internal v0.7.2 [INFO] [stderr] Compiling borsh-derive-internal v0.8.2 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling borsh-schema-derive-internal v0.8.2 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.114 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling solana-sdk-macro v1.9.29 [INFO] [stderr] Compiling num-derive v0.3.3 [INFO] [stderr] Compiling failure_derive v0.1.8 [INFO] [stderr] Compiling tokio-macros v1.8.2 [INFO] [stderr] Compiling num_enum_derive v0.5.11 [INFO] [stderr] Checking failure v0.1.8 [INFO] [stderr] Compiling scroll_derive v0.10.5 [INFO] [stderr] Checking sct v0.7.1 [INFO] [stderr] Checking rustls-webpki v0.101.7 [INFO] [stderr] Checking derivation-path v0.1.3 [INFO] [stderr] Compiling ouroboros_macro v0.13.0 [INFO] [stderr] Compiling borsh-derive v0.7.2 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling bytemuck_derive v1.10.2 [INFO] [stderr] Compiling zeroize_derive v1.4.3 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Checking num_enum v0.5.11 [INFO] [stderr] Checking bytemuck v1.25.0 [INFO] [stderr] Compiling pin-project-internal v1.1.11 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Compiling enum-ordinalize v3.1.15 [INFO] [stderr] Checking yoke v0.8.1 [INFO] [stderr] Checking futures-util v0.3.32 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Checking zerovec v0.11.5 [INFO] [stderr] Checking zerotrie v0.2.3 [INFO] [stderr] Compiling educe v0.4.23 [INFO] [stderr] Checking tinystr v0.8.2 [INFO] [stderr] Checking icu_locale_core v2.1.1 [INFO] [stderr] Checking potential_utf v0.1.4 [INFO] [stderr] Checking tokio-rustls v0.24.1 [INFO] [stderr] Checking tokio-util v0.6.10 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.114 [INFO] [stderr] Checking icu_collections v2.1.1 [INFO] [stderr] Checking tracing v0.1.44 [INFO] [stderr] Compiling tarpc-plugins v0.12.0 [INFO] [stderr] Checking tokio-util v0.7.2 [INFO] [stderr] Checking pin-project v1.1.11 [INFO] [stderr] Checking ouroboros v0.13.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Checking wasm-bindgen v0.2.114 [INFO] [stderr] Checking icu_provider v2.1.1 [INFO] [stderr] Checking borsh v0.7.2 [INFO] [stderr] Checking scroll v0.10.2 [INFO] [stderr] Checking tokio-stream v0.1.12 [INFO] [stderr] Checking icu_properties v2.1.2 [INFO] [stderr] Checking icu_normalizer v2.1.1 [INFO] [stderr] Checking futures-executor v0.3.32 [INFO] [stderr] Checking h2 v0.3.27 [INFO] [stderr] Checking goblin v0.4.3 [INFO] [stderr] Checking generic-array v0.14.9 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking bv v0.11.1 [INFO] [stderr] Checking chrono v0.4.44 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking futures v0.3.32 [INFO] [stderr] Compiling enum_dispatch v0.3.13 [INFO] [stderr] Checking tokio-serde v0.8.0 [INFO] [stderr] Checking opentelemetry v0.16.0 [INFO] [stderr] Compiling toml v0.5.11 [INFO] [stderr] Checking digest v0.9.0 [INFO] [stderr] Checking block-buffer v0.9.0 [INFO] [stderr] Checking crypto-mac v0.8.0 [INFO] [stderr] Checking curve25519-dalek v3.2.1 [INFO] [stderr] Checking sha2 v0.9.9 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking hmac v0.8.1 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking libsecp256k1-core v0.2.2 [INFO] [stderr] Checking sha3 v0.9.1 [INFO] [stderr] Checking hmac-drbg v0.3.0 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Compiling proc-macro-crate v0.1.5 [INFO] [stderr] Checking crypto-mac v0.11.0 [INFO] [stderr] Checking crypto-mac v0.9.1 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking pbkdf2 v0.9.0 [INFO] [stderr] Checking hmac v0.11.0 [INFO] [stderr] Checking hmac v0.9.0 [INFO] [stderr] Checking ed25519-dalek v1.0.1 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Compiling anchor-syn v0.24.2 [INFO] [stderr] Compiling borsh-derive v0.9.3 [INFO] [stderr] Checking ed25519-dalek-bip32 v0.1.1 [INFO] [stderr] Checking url v2.5.8 [INFO] [stderr] Checking tracing-opentelemetry v0.15.0 [INFO] [stderr] Compiling borsh-derive v0.8.2 [INFO] [stderr] Compiling libsecp256k1-gen-genmult v0.2.1 [INFO] [stderr] Compiling libsecp256k1-gen-ecmult v0.2.1 [INFO] [stderr] Checking tarpc v0.27.2 [INFO] [stderr] Checking borsh v0.9.3 [INFO] [stderr] Compiling libsecp256k1 v0.6.0 [INFO] [stderr] Checking solana_rbpf v0.2.24 [INFO] [stderr] Checking chrono-humanize v0.2.3 [INFO] [stderr] Checking hyper v0.14.29 [INFO] [stderr] Compiling anchor-attribute-error v0.24.2 [INFO] [stderr] Compiling anchor-derive-accounts v0.24.2 [INFO] [stderr] Compiling anchor-attribute-interface v0.24.2 [INFO] [stderr] Compiling anchor-attribute-event v0.24.2 [INFO] [stderr] Compiling anchor-attribute-access-control v0.24.2 [INFO] [stderr] Compiling anchor-attribute-account v0.24.2 [INFO] [stderr] Compiling anchor-attribute-program v0.24.2 [INFO] [stderr] Compiling anchor-attribute-state v0.24.2 [INFO] [stderr] Compiling anchor-attribute-constant v0.24.2 [INFO] [stderr] Checking hyper-rustls v0.24.2 [INFO] [stderr] Checking reqwest v0.11.27 [INFO] [stderr] Checking spl-token v3.3.0 [INFO] [stderr] Checking anchor-lang v0.24.2 [INFO] [stderr] Checking spl-math v0.1.0 [INFO] [stderr] Checking stable-swap-client v1.8.1 [INFO] [stderr] Checking pyth-client v0.5.0 [INFO] [stderr] Checking spl-associated-token-account v1.0.3 [INFO] [stderr] Checking spl-token-swap v2.1.0 [INFO] [stderr] Checking anchor-spl v0.24.2 [INFO] [stderr] Checking vipers v2.0.6 [INFO] [stderr] Checking quarry-mint-wrapper v5.2.0 [INFO] [stderr] Checking quarry-redeemer v5.2.0 [INFO] [stderr] Checking solana-measure v1.9.29 [INFO] [stderr] Checking solana-metrics v1.9.29 [INFO] [stderr] Checking solana-banks-interface v1.9.29 [INFO] [stderr] Checking solana-bucket-map v1.9.29 [INFO] [stderr] Checking zstd v0.9.2+zstd.1.5.1 [INFO] [stderr] Compiling solana-farm-sdk v1.1.3 (/opt/rustwide/workdir) [INFO] [stderr] Checking solana-config-program v1.9.29 [INFO] [stderr] Checking solana-compute-budget-program v1.9.29 [INFO] [stderr] Checking solana-bpf-loader-program v1.9.29 [INFO] [stderr] warning: solana-farm-sdk@1.1.3: Please set MAIN_ROUTER_ID environment variable to the router-main program address [INFO] [stderr] warning: solana-farm-sdk@1.1.3: Please set MAIN_ROUTER_ADMIN environment variable to the router-main program admin [INFO] [stderr] Checking solana-banks-client v1.9.29 [INFO] [stderr] Checking quarry-mine v5.2.0 [INFO] [stderr] Checking solana-send-transaction-service v1.9.29 [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/fund.rs:730:32 [INFO] [stdout] | [INFO] [stdout] 730 | metadata_bump_out[0] = self.metadata_bump as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.metadata_bump` [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 (`u8` -> `u8`) [INFO] [stdout] --> src/fund.rs:731:33 [INFO] [stdout] | [INFO] [stdout] 731 | authority_bump_out[0] = self.authority_bump as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.authority_bump` [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 (`u8` -> `u8`) [INFO] [stdout] --> src/fund.rs:732:34 [INFO] [stdout] | [INFO] [stdout] 732 | fund_token_bump_out[0] = self.fund_token_bump as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.fund_token_bump` [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 (`u8` -> `u8`) [INFO] [stdout] --> src/fund.rs:733:32 [INFO] [stdout] | [INFO] [stdout] 733 | multisig_bump_out[0] = self.multisig_bump as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.multisig_bump` [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] Checking solana-banks-server v1.9.29 [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/instruction/main_router.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | /// ... [] Extra signers, up to Multisig::MAX_SIGNERS [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 153 | /// ... [] Extra signers, up to Multisig::MAX_SIGNERS [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/instruction/main_router.rs:166:9 [INFO] [stdout] | [INFO] [stdout] 166 | /// ... [] Extra signers, up to Multisig::MAX_SIGNERS [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 166 | /// ... [] Extra signers, up to Multisig::MAX_SIGNERS [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/instruction/raydium.rs:64:30 [INFO] [stdout] | [INFO] [stdout] 64 | instruction_out[0] = self.instruction as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.instruction` [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 (`u8` -> `u8`) [INFO] [stdout] --> src/instruction/raydium.rs:96:30 [INFO] [stdout] | [INFO] [stdout] 96 | instruction_out[0] = self.instruction as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.instruction` [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 (`u8` -> `u8`) [INFO] [stdout] --> src/instruction/raydium.rs:126:30 [INFO] [stdout] | [INFO] [stdout] 126 | instruction_out[0] = self.instruction as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.instruction` [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 (`u8` -> `u8`) [INFO] [stdout] --> src/instruction/raydium.rs:157:30 [INFO] [stdout] | [INFO] [stdout] 157 | instruction_out[0] = self.instruction as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.instruction` [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 (`u8` -> `u8`) [INFO] [stdout] --> src/instruction/raydium.rs:187:30 [INFO] [stdout] | [INFO] [stdout] 187 | instruction_out[0] = self.instruction as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.instruction` [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 (`u8` -> `u8`) [INFO] [stdout] --> src/instruction/raydium.rs:214:21 [INFO] [stdout] | [INFO] [stdout] 214 | output[0] = self.instruction as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.instruction` [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 (`f64` -> `f64`) [INFO] [stdout] --> src/program/account.rs:639:9 [INFO] [stdout] | [INFO] [stdout] 639 | usd_amount as f64 / oracle_price.price as f64 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `usd_amount` [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] --> src/program/multisig.rs:79:19 [INFO] [stdout] | [INFO] [stdout] 79 | for idx in 0..admin_signers.len() as usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `admin_signers.len()` [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 call to `clone` can be replaced with `std::slice::from_ref` [INFO] [stdout] --> src/program/pda.rs:454:13 [INFO] [stdout] | [INFO] [stdout] 454 | &[target_account.clone()], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `std::slice::from_ref(target_account)` [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] [stdout] warning: this call to `clone` can be replaced with `std::slice::from_ref` [INFO] [stdout] --> src/program/pda.rs:509:17 [INFO] [stdout] | [INFO] [stdout] 509 | &[target_account.clone()], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `std::slice::from_ref(target_account)` [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] [INFO] [stdout] [INFO] [stderr] Checking solana-program-test v1.9.29 [INFO] [stdout] warning: manual arithmetic check found [INFO] [stdout] --> src/program/protocol/orca.rs:192:26 [INFO] [stdout] | [INFO] [stdout] 192 | token_a_amount = if estimated_coin_amount > 1 { [INFO] [stdout] | __________________________^ [INFO] [stdout] 193 | | estimated_coin_amount - 1 [INFO] [stdout] 194 | | } else { [INFO] [stdout] 195 | | 0 [INFO] [stdout] 196 | | }; [INFO] [stdout] | |_________^ help: replace it with: `estimated_coin_amount.saturating_sub(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_saturating_sub [INFO] [stdout] = note: `#[warn(clippy::implicit_saturating_sub)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u128` -> `u128`) [INFO] [stdout] --> src/program/protocol/orca.rs:289:31 [INFO] [stdout] | [INFO] [stdout] 289 | math::checked_mul(token_b_balance as u128, amount_in_no_fee)?, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `token_b_balance` [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 (`u128` -> `u128`) [INFO] [stdout] --> src/program/protocol/orca.rs:290:31 [INFO] [stdout] | [INFO] [stdout] 290 | math::checked_add(token_a_balance as u128, amount_in_no_fee)?, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `token_a_balance` [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: if let can be simplified with `.unwrap_or_default()` [INFO] [stdout] --> src/program/protocol/raydium.rs:354:27 [INFO] [stdout] | [INFO] [stdout] 354 | token_a_balance = if let Some(res) = token_a_balance.checked_sub(need_take_pnl_coin) { [INFO] [stdout] | ___________________________^ [INFO] [stdout] 355 | | res [INFO] [stdout] 356 | | } else { [INFO] [stdout] 357 | | 0 [INFO] [stdout] 358 | | }; [INFO] [stdout] | |_________^ help: ascribe the type u64 and replace your expression with: `token_a_balance.checked_sub(need_take_pnl_coin).unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::manual_unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: if let can be simplified with `.unwrap_or_default()` [INFO] [stdout] --> src/program/protocol/raydium.rs:360:27 [INFO] [stdout] | [INFO] [stdout] 360 | token_b_balance = if let Some(res) = token_b_balance.checked_sub(need_take_pnl_pc) { [INFO] [stdout] | ___________________________^ [INFO] [stdout] 361 | | res [INFO] [stdout] 362 | | } else { [INFO] [stdout] 363 | | 0 [INFO] [stdout] 364 | | }; [INFO] [stdout] | |_________^ help: ascribe the type u64 and replace your expression with: `token_b_balance.checked_sub(need_take_pnl_pc).unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual arithmetic check found [INFO] [stdout] --> src/program/protocol/raydium.rs:404:29 [INFO] [stdout] | [INFO] [stdout] 404 | coin_token_amount = if estimated_coin_amount > 1 { [INFO] [stdout] | _____________________________^ [INFO] [stdout] 405 | | estimated_coin_amount - 1 [INFO] [stdout] 406 | | } else { [INFO] [stdout] 407 | | 0 [INFO] [stdout] 408 | | }; [INFO] [stdout] | |_________^ help: replace it with: `estimated_coin_amount.saturating_sub(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_saturating_sub [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u16` -> `u16`) [INFO] [stdout] --> src/refdb.rs:893:12 [INFO] [stdout] | [INFO] [stdout] 893 | if (cur_record.counter as u16) < u16::MAX { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `cur_record.counter` [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 (`u8` -> `u8`) [INFO] [stdout] --> src/vault.rs:282:36 [INFO] [stdout] | [INFO] [stdout] 282 | metadata_bump_out[0] = self.metadata_bump as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.metadata_bump` [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 (`u8` -> `u8`) [INFO] [stdout] --> src/vault.rs:283:37 [INFO] [stdout] | [INFO] [stdout] 283 | authority_bump_out[0] = self.authority_bump as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.authority_bump` [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 (`u8` -> `u8`) [INFO] [stdout] --> src/vault.rs:284:39 [INFO] [stdout] | [INFO] [stdout] 284 | vault_token_bump_out[0] = self.vault_token_bump as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.vault_token_bump` [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: struct pattern is not needed for a unit variant [INFO] [stdout] --> src/vault.rs:405:40 [INFO] [stdout] | [INFO] [stdout] 405 | VaultStrategy::DynamicHedge { .. } => Vault::DYNAMIC_HEDGE_LEN, [INFO] [stdout] | ^^^^^^^ help: remove the struct pattern [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_struct_pattern [INFO] [stdout] = note: `#[warn(clippy::unneeded_struct_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct pattern is not needed for a unit variant [INFO] [stdout] --> src/vault.rs:414:40 [INFO] [stdout] | [INFO] [stdout] 414 | VaultStrategy::DynamicHedge { .. } => Err(ProgramError::UnsupportedSysvar), [INFO] [stdout] | ^^^^^^^ help: remove the struct pattern [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_struct_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct pattern is not needed for a unit variant [INFO] [stdout] --> src/vault.rs:435:44 [INFO] [stdout] | [INFO] [stdout] 435 | VaultStrategyType::DynamicHedge { .. } => Err(ProgramError::UnsupportedSysvar), [INFO] [stdout] | ^^^^^^^ help: remove the struct pattern [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_struct_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/fund.rs:730:32 [INFO] [stdout] | [INFO] [stdout] 730 | metadata_bump_out[0] = self.metadata_bump as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.metadata_bump` [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 (`u8` -> `u8`) [INFO] [stdout] --> src/fund.rs:731:33 [INFO] [stdout] | [INFO] [stdout] 731 | authority_bump_out[0] = self.authority_bump as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.authority_bump` [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 (`u8` -> `u8`) [INFO] [stdout] --> src/fund.rs:732:34 [INFO] [stdout] | [INFO] [stdout] 732 | fund_token_bump_out[0] = self.fund_token_bump as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.fund_token_bump` [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 (`u8` -> `u8`) [INFO] [stdout] --> src/fund.rs:733:32 [INFO] [stdout] | [INFO] [stdout] 733 | multisig_bump_out[0] = self.multisig_bump as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.multisig_bump` [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: doc list item without indentation [INFO] [stdout] --> src/instruction/main_router.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | /// ... [] Extra signers, up to Multisig::MAX_SIGNERS [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 153 | /// ... [] Extra signers, up to Multisig::MAX_SIGNERS [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/instruction/main_router.rs:166:9 [INFO] [stdout] | [INFO] [stdout] 166 | /// ... [] Extra signers, up to Multisig::MAX_SIGNERS [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 166 | /// ... [] Extra signers, up to Multisig::MAX_SIGNERS [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/instruction/raydium.rs:64:30 [INFO] [stdout] | [INFO] [stdout] 64 | instruction_out[0] = self.instruction as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.instruction` [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 (`u8` -> `u8`) [INFO] [stdout] --> src/instruction/raydium.rs:96:30 [INFO] [stdout] | [INFO] [stdout] 96 | instruction_out[0] = self.instruction as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.instruction` [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 (`u8` -> `u8`) [INFO] [stdout] --> src/instruction/raydium.rs:126:30 [INFO] [stdout] | [INFO] [stdout] 126 | instruction_out[0] = self.instruction as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.instruction` [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 (`u8` -> `u8`) [INFO] [stdout] --> src/instruction/raydium.rs:157:30 [INFO] [stdout] | [INFO] [stdout] 157 | instruction_out[0] = self.instruction as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.instruction` [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 (`u8` -> `u8`) [INFO] [stdout] --> src/instruction/raydium.rs:187:30 [INFO] [stdout] | [INFO] [stdout] 187 | instruction_out[0] = self.instruction as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.instruction` [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 (`u8` -> `u8`) [INFO] [stdout] --> src/instruction/raydium.rs:214:21 [INFO] [stdout] | [INFO] [stdout] 214 | output[0] = self.instruction as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.instruction` [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 (`f64` -> `f64`) [INFO] [stdout] --> src/program/account.rs:639:9 [INFO] [stdout] | [INFO] [stdout] 639 | usd_amount as f64 / oracle_price.price as f64 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `usd_amount` [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] --> src/program/multisig.rs:79:19 [INFO] [stdout] | [INFO] [stdout] 79 | for idx in 0..admin_signers.len() as usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `admin_signers.len()` [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 call to `clone` can be replaced with `std::slice::from_ref` [INFO] [stdout] --> src/program/pda.rs:454:13 [INFO] [stdout] | [INFO] [stdout] 454 | &[target_account.clone()], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `std::slice::from_ref(target_account)` [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] [stdout] warning: this call to `clone` can be replaced with `std::slice::from_ref` [INFO] [stdout] --> src/program/pda.rs:509:17 [INFO] [stdout] | [INFO] [stdout] 509 | &[target_account.clone()], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `std::slice::from_ref(target_account)` [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] [INFO] [stdout] [INFO] [stdout] warning: manual arithmetic check found [INFO] [stdout] --> src/program/protocol/orca.rs:192:26 [INFO] [stdout] | [INFO] [stdout] 192 | token_a_amount = if estimated_coin_amount > 1 { [INFO] [stdout] | __________________________^ [INFO] [stdout] 193 | | estimated_coin_amount - 1 [INFO] [stdout] 194 | | } else { [INFO] [stdout] 195 | | 0 [INFO] [stdout] 196 | | }; [INFO] [stdout] | |_________^ help: replace it with: `estimated_coin_amount.saturating_sub(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_saturating_sub [INFO] [stdout] = note: `#[warn(clippy::implicit_saturating_sub)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u128` -> `u128`) [INFO] [stdout] --> src/program/protocol/orca.rs:289:31 [INFO] [stdout] | [INFO] [stdout] 289 | math::checked_mul(token_b_balance as u128, amount_in_no_fee)?, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `token_b_balance` [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 (`u128` -> `u128`) [INFO] [stdout] --> src/program/protocol/orca.rs:290:31 [INFO] [stdout] | [INFO] [stdout] 290 | math::checked_add(token_a_balance as u128, amount_in_no_fee)?, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `token_a_balance` [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: if let can be simplified with `.unwrap_or_default()` [INFO] [stdout] --> src/program/protocol/raydium.rs:354:27 [INFO] [stdout] | [INFO] [stdout] 354 | token_a_balance = if let Some(res) = token_a_balance.checked_sub(need_take_pnl_coin) { [INFO] [stdout] | ___________________________^ [INFO] [stdout] 355 | | res [INFO] [stdout] 356 | | } else { [INFO] [stdout] 357 | | 0 [INFO] [stdout] 358 | | }; [INFO] [stdout] | |_________^ help: ascribe the type u64 and replace your expression with: `token_a_balance.checked_sub(need_take_pnl_coin).unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::manual_unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: if let can be simplified with `.unwrap_or_default()` [INFO] [stdout] --> src/program/protocol/raydium.rs:360:27 [INFO] [stdout] | [INFO] [stdout] 360 | token_b_balance = if let Some(res) = token_b_balance.checked_sub(need_take_pnl_pc) { [INFO] [stdout] | ___________________________^ [INFO] [stdout] 361 | | res [INFO] [stdout] 362 | | } else { [INFO] [stdout] 363 | | 0 [INFO] [stdout] 364 | | }; [INFO] [stdout] | |_________^ help: ascribe the type u64 and replace your expression with: `token_b_balance.checked_sub(need_take_pnl_pc).unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual arithmetic check found [INFO] [stdout] --> src/program/protocol/raydium.rs:404:29 [INFO] [stdout] | [INFO] [stdout] 404 | coin_token_amount = if estimated_coin_amount > 1 { [INFO] [stdout] | _____________________________^ [INFO] [stdout] 405 | | estimated_coin_amount - 1 [INFO] [stdout] 406 | | } else { [INFO] [stdout] 407 | | 0 [INFO] [stdout] 408 | | }; [INFO] [stdout] | |_________^ help: replace it with: `estimated_coin_amount.saturating_sub(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_saturating_sub [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u16` -> `u16`) [INFO] [stdout] --> src/refdb.rs:893:12 [INFO] [stdout] | [INFO] [stdout] 893 | if (cur_record.counter as u16) < u16::MAX { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `cur_record.counter` [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 (`u8` -> `u8`) [INFO] [stdout] --> src/vault.rs:282:36 [INFO] [stdout] | [INFO] [stdout] 282 | metadata_bump_out[0] = self.metadata_bump as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.metadata_bump` [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 (`u8` -> `u8`) [INFO] [stdout] --> src/vault.rs:283:37 [INFO] [stdout] | [INFO] [stdout] 283 | authority_bump_out[0] = self.authority_bump as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.authority_bump` [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 (`u8` -> `u8`) [INFO] [stdout] --> src/vault.rs:284:39 [INFO] [stdout] | [INFO] [stdout] 284 | vault_token_bump_out[0] = self.vault_token_bump as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.vault_token_bump` [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: struct pattern is not needed for a unit variant [INFO] [stdout] --> src/vault.rs:405:40 [INFO] [stdout] | [INFO] [stdout] 405 | VaultStrategy::DynamicHedge { .. } => Vault::DYNAMIC_HEDGE_LEN, [INFO] [stdout] | ^^^^^^^ help: remove the struct pattern [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_struct_pattern [INFO] [stdout] = note: `#[warn(clippy::unneeded_struct_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct pattern is not needed for a unit variant [INFO] [stdout] --> src/vault.rs:414:40 [INFO] [stdout] | [INFO] [stdout] 414 | VaultStrategy::DynamicHedge { .. } => Err(ProgramError::UnsupportedSysvar), [INFO] [stdout] | ^^^^^^^ help: remove the struct pattern [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_struct_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct pattern is not needed for a unit variant [INFO] [stdout] --> src/vault.rs:435:44 [INFO] [stdout] | [INFO] [stdout] 435 | VaultStrategyType::DynamicHedge { .. } => Err(ProgramError::UnsupportedSysvar), [INFO] [stdout] | ^^^^^^^ help: remove the struct pattern [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_struct_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 34s [INFO] running `Command { std: "docker" "inspect" "e62a7ce4d71c5f0452e360d15505891d9c9afd2fc3b76fc17a42102a581bff09", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e62a7ce4d71c5f0452e360d15505891d9c9afd2fc3b76fc17a42102a581bff09", kill_on_drop: false }` [INFO] [stdout] e62a7ce4d71c5f0452e360d15505891d9c9afd2fc3b76fc17a42102a581bff09