[INFO] fetching crate waffles-solana-bpf-loader-program 1.16.0-alpha.11... [INFO] checking waffles-solana-bpf-loader-program-1.16.0-alpha.11 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate waffles-solana-bpf-loader-program 1.16.0-alpha.11 into /workspace/builds/worker-7-tc2/source [INFO] validating manifest of crates.io crate waffles-solana-bpf-loader-program 1.16.0-alpha.11 on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate waffles-solana-bpf-loader-program 1.16.0-alpha.11 [INFO] finished tweaking crates.io crate waffles-solana-bpf-loader-program 1.16.0-alpha.11 [INFO] tweaked toml for crates.io crate waffles-solana-bpf-loader-program 1.16.0-alpha.11 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 312 packages to latest compatible versions [INFO] [stderr] Adding aead v0.4.3 (available: v0.5.2) [INFO] [stderr] Adding aes v0.7.5 (available: v0.8.4) [INFO] [stderr] Adding aes-gcm-siv v0.10.3 (available: v0.11.1) [INFO] [stderr] Adding ahash v0.7.8 (available: v0.8.11) [INFO] [stderr] Adding ark-bn254 v0.3.0 (available: v0.4.0) [INFO] [stderr] Adding ark-ec v0.3.0 (available: v0.4.2) [INFO] [stderr] Adding ark-ff v0.3.0 (available: v0.4.2) [INFO] [stderr] Adding ark-ff-asm v0.3.0 (available: v0.4.2) [INFO] [stderr] Adding ark-ff-macros v0.3.0 (available: v0.4.2) [INFO] [stderr] Adding ark-serialize v0.3.0 (available: v0.4.2) [INFO] [stderr] Adding ark-std v0.3.0 (available: v0.4.0) [INFO] [stderr] Adding array-bytes v1.4.1 (available: v1.6.0) [INFO] [stderr] Adding ascii v0.9.3 (available: v1.1.0) [INFO] [stderr] Adding base64 v0.12.3 (available: v0.22.1) [INFO] [stderr] Adding base64 v0.13.1 (available: v0.22.1) [INFO] [stderr] Adding base64 v0.21.7 (available: v0.22.1) [INFO] [stderr] Adding bitflags v1.3.2 (available: v2.6.0) [INFO] [stderr] Adding bitmaps v2.1.0 (available: v3.2.1) [INFO] [stderr] Adding blake3 v1.5.1 (available: v1.5.4) [INFO] [stderr] Adding block-buffer v0.9.0 (available: v0.10.4) [INFO] [stderr] Adding block-padding v0.2.1 (available: v0.3.3) [INFO] [stderr] Adding borsh v0.9.3 (available: v1.5.1) [INFO] [stderr] Adding borsh-derive v0.9.3 (available: v1.5.1) [INFO] [stderr] Adding borsh-derive-internal v0.9.3 (available: v0.10.4) [INFO] [stderr] Adding borsh-schema-derive-internal v0.9.3 (available: v0.10.4) [INFO] [stderr] Adding bs58 v0.4.0 (available: v0.5.1) [INFO] [stderr] Adding cipher v0.3.0 (available: v0.4.4) [INFO] [stderr] Adding combine v3.8.1 (available: v4.6.7) [INFO] [stderr] Adding console_log v0.2.2 (available: v1.0.0) [INFO] [stderr] Adding core-foundation v0.9.4 (available: v0.10.0) [INFO] [stderr] Adding crypto-mac v0.8.0 (available: v0.11.1) [INFO] [stderr] Adding ctr v0.8.0 (available: v0.9.2) [INFO] [stderr] Adding curve25519-dalek v3.2.1 (available: v4.1.3) [INFO] [stderr] Adding digest v0.9.0 (available: v0.10.7) [INFO] [stderr] Adding ed25519 v1.5.3 (available: v2.2.3) [INFO] [stderr] Adding ed25519-dalek v1.0.1 (available: v2.1.1) [INFO] [stderr] Adding ed25519-dalek-bip32 v0.2.0 (available: v0.3.0) [INFO] [stderr] Adding enum-iterator v1.5.0 (available: v2.1.0) [INFO] [stderr] Adding env_logger v0.9.3 (available: v0.11.5) [INFO] [stderr] Adding generic-array v0.14.7 (available: v1.1.0) [INFO] [stderr] Adding gethostname v0.2.3 (available: v0.5.0) [INFO] [stderr] Adding getrandom v0.1.16 (available: v0.2.15) [INFO] [stderr] Adding goblin v0.5.4 (available: v0.8.2) [INFO] [stderr] Adding h2 v0.3.26 (available: v0.4.6) [INFO] [stderr] Adding hash32 v0.2.1 (available: v0.3.1) [INFO] [stderr] Adding hashbrown v0.11.2 (available: v0.14.5) [INFO] [stderr] Adding hashbrown v0.12.3 (available: v0.14.5) [INFO] [stderr] Adding hermit-abi v0.1.19 (available: v0.4.0) [INFO] [stderr] Adding hermit-abi v0.3.9 (available: v0.4.0) [INFO] [stderr] Adding hmac v0.8.1 (available: v0.12.1) [INFO] [stderr] Adding http v0.2.12 (available: v1.1.0) [INFO] [stderr] Adding http-body v0.4.6 (available: v1.0.1) [INFO] [stderr] Adding hyper v0.14.30 (available: v1.4.1) [INFO] [stderr] Adding hyper-rustls v0.24.2 (available: v0.27.3) [INFO] [stderr] Adding idna v0.5.0 (available: v1.0.2) [INFO] [stderr] Adding itertools v0.10.5 (available: v0.13.0) [INFO] [stderr] Adding libloading v0.7.4 (available: v0.8.5) [INFO] [stderr] Adding libsecp256k1 v0.6.0 (available: v0.7.1) [INFO] [stderr] Adding libsecp256k1-core v0.2.2 (available: v0.3.0) [INFO] [stderr] Adding libsecp256k1-gen-ecmult v0.2.1 (available: v0.3.0) [INFO] [stderr] Adding libsecp256k1-gen-genmult v0.2.1 (available: v0.3.0) [INFO] [stderr] Adding memmap2 v0.5.10 (available: v0.9.5) [INFO] [stderr] Adding memoffset v0.8.0 (available: v0.9.1) [INFO] [stderr] Adding num-derive v0.3.3 (available: v0.4.2) [INFO] [stderr] Adding num_enum v0.5.11 (available: v0.7.3) [INFO] [stderr] Adding num_enum_derive v0.5.11 (available: v0.7.3) [INFO] [stderr] Adding pbkdf2 v0.4.0 (available: v0.12.2) [INFO] [stderr] Adding pbkdf2 v0.11.0 (available: v0.12.2) [INFO] [stderr] Adding polyval v0.5.3 (available: v0.6.2) [INFO] [stderr] Adding proc-macro-crate v0.1.5 (available: v3.2.0) [INFO] [stderr] Adding proc-macro-crate v1.3.1 (available: v3.2.0) [INFO] [stderr] Adding rand v0.7.3 (available: v0.8.5) [INFO] [stderr] Adding rand_chacha v0.2.2 (available: v0.3.1) [INFO] [stderr] Adding rand_core v0.5.1 (available: v0.6.4) [INFO] [stderr] Adding rand_hc v0.2.0 (available: v0.3.2) [INFO] [stderr] Adding reqwest v0.11.27 (available: v0.12.7) [INFO] [stderr] Adding rustc-hash v1.1.0 (available: v2.0.0) [INFO] [stderr] Adding rustc_version v0.3.3 (available: v0.4.1) [INFO] [stderr] Adding rustls v0.21.12 (available: v0.23.13) [INFO] [stderr] Adding rustls-pemfile v1.0.4 (available: v2.1.3) [INFO] [stderr] Adding rustls-webpki v0.101.7 (available: v0.102.8) [INFO] [stderr] Adding scroll v0.11.0 (available: v0.12.0) [INFO] [stderr] Adding scroll_derive v0.11.1 (available: v0.12.0) [INFO] [stderr] Adding semver v0.11.0 (available: v1.0.23) [INFO] [stderr] Adding serde_with v2.3.3 (available: v3.9.0) [INFO] [stderr] Adding serde_with_macros v2.3.3 (available: v3.9.0) [INFO] [stderr] Adding sha2 v0.9.9 (available: v0.10.8) [INFO] [stderr] Adding sha3 v0.9.1 (available: v0.10.8) [INFO] [stderr] Adding signature v1.6.4 (available: v2.2.0) [INFO] [stderr] Adding sized-chunks v0.6.5 (available: v0.7.0) [INFO] [stderr] Adding solana_rbpf v0.2.38 (available: v0.2.40) [INFO] [stderr] Adding subtle v2.4.1 (available: v2.6.1) [INFO] [stderr] Adding syn v1.0.109 (available: v2.0.77) [INFO] [stderr] Adding sync_wrapper v0.1.2 (available: v1.0.1) [INFO] [stderr] Adding system-configuration v0.5.1 (available: v0.6.1) [INFO] [stderr] Adding system-configuration-sys v0.5.0 (available: v0.6.0) [INFO] [stderr] Adding tiny-bip39 v0.8.2 (available: v1.0.0) [INFO] [stderr] Adding tokio-rustls v0.24.1 (available: v0.26.0) [INFO] [stderr] Adding toml v0.5.11 (available: v0.8.19) [INFO] [stderr] Adding toml_edit v0.19.15 (available: v0.22.22) [INFO] [stderr] Adding universal-hash v0.4.1 (available: v0.5.1) [INFO] [stderr] Adding waffles-solana-frozen-abi v1.16.0-alpha.10 (available: v1.16.0) [INFO] [stderr] Adding waffles-solana-frozen-abi-macro v1.16.0-alpha.10 (available: v1.16.0) [INFO] [stderr] Adding waffles-solana-logger v1.16.0-alpha.10 (available: v1.16.0) [INFO] [stderr] Adding waffles-solana-measure v1.16.0-alpha.10 (available: v1.16.0) [INFO] [stderr] Adding waffles-solana-metrics v1.16.0-alpha.10 (available: v1.16.0) [INFO] [stderr] Adding waffles-solana-program v1.16.0-alpha.10 (available: v1.16.0) [INFO] [stderr] Adding waffles-solana-program-runtime v1.16.0-alpha.10 (available: v1.16.0) [INFO] [stderr] Adding waffles-solana-sdk v1.16.0-alpha.10 (available: v1.16.0) [INFO] [stderr] Adding waffles-solana-sdk-macro v1.16.0-alpha.10 (available: v1.16.0) [INFO] [stderr] Adding waffles-solana-zk-token-sdk v1.16.0-alpha.10 (available: v1.16.0) [INFO] [stderr] Adding wasi v0.9.0+wasi-snapshot-preview1 (available: v0.13.2+wasi-0.2.1) [INFO] [stderr] Adding wasi v0.11.0+wasi-snapshot-preview1 (available: v0.13.2+wasi-0.2.1) [INFO] [stderr] Adding webpki-roots v0.25.4 (available: v0.26.6) [INFO] [stderr] Adding windows-sys v0.48.0 (available: v0.59.0) [INFO] [stderr] Adding windows-sys v0.52.0 (available: v0.59.0) [INFO] [stderr] Adding windows-targets v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_aarch64_gnullvm v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_aarch64_msvc v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_i686_gnu v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_i686_msvc v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_x86_64_gnu v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_x86_64_gnullvm v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_x86_64_msvc v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding winnow v0.5.40 (available: v0.6.20) [INFO] [stderr] Adding winreg v0.50.0 (available: v0.52.0) [INFO] [stderr] Adding zeroize v1.3.0 (available: v1.8.1) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 066208cb29ce4836c2e5ec337c9dfd09dcbb3bf9b6640bee035352549a74d570 [INFO] running `Command { std: "docker" "start" "-a" "066208cb29ce4836c2e5ec337c9dfd09dcbb3bf9b6640bee035352549a74d570", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "066208cb29ce4836c2e5ec337c9dfd09dcbb3bf9b6640bee035352549a74d570", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "066208cb29ce4836c2e5ec337c9dfd09dcbb3bf9b6640bee035352549a74d570", kill_on_drop: false }` [INFO] [stdout] 066208cb29ce4836c2e5ec337c9dfd09dcbb3bf9b6640bee035352549a74d570 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6e5a8dea4b58038f352d06493ecd545c61f18eb88833370eb879f17c9e96ee2f [INFO] running `Command { std: "docker" "start" "-a" "6e5a8dea4b58038f352d06493ecd545c61f18eb88833370eb879f17c9e96ee2f", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling unicode-ident v1.0.13 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling libc v0.2.159 [INFO] [stderr] Compiling serde v1.0.210 [INFO] [stderr] Compiling autocfg v1.3.0 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking subtle v2.4.1 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling thiserror v1.0.64 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling semver v1.0.23 [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling crunchy v0.2.2 [INFO] [stderr] Checking cpufeatures v0.2.14 [INFO] [stderr] Checking opaque-debug v0.3.1 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Checking itoa v1.0.11 [INFO] [stderr] Compiling crossbeam-utils v0.8.20 [INFO] [stderr] Compiling ucd-trie v0.1.6 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Compiling typenum v1.17.0 [INFO] [stderr] Checking block-padding v0.2.1 [INFO] [stderr] Compiling jobserver v0.1.32 [INFO] [stderr] Checking pin-project-lite v0.2.14 [INFO] [stderr] Compiling cc v1.1.21 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Compiling ahash v0.7.8 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking either v1.13.0 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.93 [INFO] [stderr] Checking bytes v1.7.2 [INFO] [stderr] Compiling digest v0.9.0 [INFO] [stderr] Checking tinyvec v1.8.0 [INFO] [stderr] Compiling libsecp256k1-core v0.2.2 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Checking crossbeam-deque v0.8.5 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling ring v0.17.8 [INFO] [stderr] Checking unicode-normalization v0.1.24 [INFO] [stderr] Checking mio v1.0.2 [INFO] [stderr] Checking socket2 v0.5.7 [INFO] [stderr] Compiling serde_json v1.0.128 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling bumpalo v3.16.0 [INFO] [stderr] Checking ryu v1.0.18 [INFO] [stderr] Compiling feature-probe v0.1.1 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling bv v0.11.1 [INFO] [stderr] Checking tokio v1.40.0 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.93 [INFO] [stderr] Compiling indexmap v2.5.0 [INFO] [stderr] Compiling toml v0.5.11 [INFO] [stderr] Compiling darling_core v0.20.10 [INFO] [stderr] Compiling blake3 v1.5.1 [INFO] [stderr] Compiling libsecp256k1-gen-genmult v0.2.1 [INFO] [stderr] Compiling libsecp256k1-gen-ecmult v0.2.1 [INFO] [stderr] Checking rayon-core v1.12.1 [INFO] [stderr] Compiling waffles-solana-frozen-abi-macro v1.16.0-alpha.10 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling im v15.1.0 [INFO] [stderr] Checking bitmaps v2.1.0 [INFO] [stderr] Compiling serde_derive v1.0.210 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling thiserror-impl v1.0.64 [INFO] [stderr] Compiling zeroize_derive v1.4.2 [INFO] [stderr] Checking keccak v0.1.5 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Compiling ark-ff-asm v0.3.0 [INFO] [stderr] Compiling ark-ff-macros v0.3.0 [INFO] [stderr] Compiling rustversion v1.0.17 [INFO] [stderr] Checking zeroize v1.3.0 [INFO] [stderr] Compiling toml_datetime v0.6.8 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Compiling anyhow v1.0.89 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking arrayref v0.3.9 [INFO] [stderr] Checking untrusted v0.9.0 [INFO] [stderr] Checking regex-syntax v0.8.4 [INFO] [stderr] Compiling winnow v0.5.40 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Compiling pest v2.7.13 [INFO] [stderr] Compiling darling_macro v0.20.10 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Checking sized-chunks v0.6.5 [INFO] [stderr] Compiling semver-parser v0.10.2 [INFO] [stderr] Checking ark-std v0.3.0 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Compiling proc-macro-crate v0.1.5 [INFO] [stderr] Compiling libsecp256k1 v0.6.0 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.93 [INFO] [stderr] Compiling semver v0.11.0 [INFO] [stderr] Compiling rustc_version v0.3.3 [INFO] [stderr] Compiling borsh-derive-internal v0.9.3 [INFO] [stderr] Compiling toml_edit v0.19.15 [INFO] [stderr] Compiling borsh-schema-derive-internal v0.9.3 [INFO] [stderr] Compiling ark-ff v0.3.0 [INFO] [stderr] Checking rand_xoshiro v0.6.0 [INFO] [stderr] Compiling waffles-solana-frozen-abi v1.16.0-alpha.10 [INFO] [stderr] Compiling memoffset v0.8.0 [INFO] [stderr] Checking constant_time_eq v0.3.1 [INFO] [stderr] Checking arrayvec v0.7.6 [INFO] [stderr] Checking signature v1.6.4 [INFO] [stderr] Compiling wasm-bindgen v0.2.93 [INFO] [stderr] Checking regex v1.10.6 [INFO] [stderr] Checking ed25519 v1.5.3 [INFO] [stderr] Compiling borsh-derive v0.9.3 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.93 [INFO] [stderr] Compiling darling v0.20.10 [INFO] [stderr] Compiling bytemuck_derive v1.7.1 [INFO] [stderr] Compiling waffles-solana-program v1.16.0-alpha.10 [INFO] [stderr] Checking hashbrown v0.12.3 [INFO] [stderr] Checking hashbrown v0.11.2 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking memmap2 v0.5.10 [INFO] [stderr] Compiling bs58 v0.4.0 [INFO] [stderr] Checking rustc-hash v1.1.0 [INFO] [stderr] Checking alloc-no-stdlib v2.0.4 [INFO] [stderr] Compiling rustls v0.21.12 [INFO] [stderr] Checking base64 v0.12.3 [INFO] [stderr] Compiling httparse v1.9.4 [INFO] [stderr] Checking humantime v2.1.0 [INFO] [stderr] Compiling proc-macro-crate v1.3.1 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking bytemuck v1.18.0 [INFO] [stderr] Checking env_logger v0.9.3 [INFO] [stderr] Checking tokio-util v0.7.12 [INFO] [stderr] Compiling waffles-solana-sdk-macro v1.16.0-alpha.10 [INFO] [stderr] Checking alloc-stdlib v0.2.2 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking serde_bytes v0.11.15 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking borsh v0.9.3 [INFO] [stderr] Compiling num_enum_derive v0.5.11 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking block-buffer v0.9.0 [INFO] [stderr] Checking crypto-mac v0.8.0 [INFO] [stderr] Checking ark-serialize v0.3.0 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking hmac v0.8.1 [INFO] [stderr] Checking sha2 v0.9.9 [INFO] [stderr] Checking curve25519-dalek v3.2.1 [INFO] [stderr] Checking hmac-drbg v0.3.0 [INFO] [stderr] Checking pbkdf2 v0.4.0 [INFO] [stderr] Checking sha2 v0.10.8 [INFO] [stderr] Checking tiny-bip39 v0.8.2 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking sha3 v0.10.8 [INFO] [stderr] Checking ed25519-dalek v1.0.1 [INFO] [stderr] Compiling serde_with_macros v2.3.3 [INFO] [stderr] Checking sct v0.7.1 [INFO] [stderr] Checking rustls-webpki v0.101.7 [INFO] [stderr] Compiling num-derive v0.3.3 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Compiling waffles-solana-sdk v1.16.0-alpha.10 [INFO] [stderr] Checking array-bytes v1.4.1 [INFO] [stderr] Checking derivation-path v0.2.0 [INFO] [stderr] Checking base64 v0.13.1 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking adler2 v2.0.0 [INFO] [stderr] Checking ed25519-dalek-bip32 v0.2.0 [INFO] [stderr] Checking miniz_oxide v0.8.0 [INFO] [stderr] Checking num_enum v0.5.11 [INFO] [stderr] Checking h2 v0.3.26 [INFO] [stderr] Checking serde_with v2.3.3 [INFO] [stderr] Checking pbkdf2 v0.11.0 [INFO] [stderr] Checking brotli-decompressor v4.0.1 [INFO] [stderr] Checking waffles-solana-logger v1.16.0-alpha.10 [INFO] [stderr] Checking http-body v0.4.6 [INFO] [stderr] Checking uriparse v0.6.4 [INFO] [stderr] Checking futures-channel v0.3.30 [INFO] [stderr] Checking qstring v0.7.2 [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Checking crc32fast v1.4.2 [INFO] [stderr] Checking assert_matches v1.5.0 [INFO] [stderr] Checking tower-service v0.3.3 [INFO] [stderr] Checking idna v0.5.0 [INFO] [stderr] Checking brotli v6.0.0 [INFO] [stderr] Checking flate2 v1.0.34 [INFO] [stderr] Checking tokio-rustls v0.24.1 [INFO] [stderr] Checking cipher v0.3.0 [INFO] [stderr] Compiling scroll_derive v0.11.1 [INFO] [stderr] Checking void v1.0.2 [INFO] [stderr] Compiling winapi v0.3.9 [INFO] [stderr] Checking url v2.5.2 [INFO] [stderr] Checking unreachable v1.0.0 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking universal-hash v0.4.1 [INFO] [stderr] Checking scroll v0.11.0 [INFO] [stderr] Checking encoding_rs v0.8.34 [INFO] [stderr] Checking webpki-roots v0.25.4 [INFO] [stderr] Checking hyper v0.14.30 [INFO] [stderr] Checking ipnet v2.10.0 [INFO] [stderr] Checking plain v0.2.3 [INFO] [stderr] Checking ascii v0.9.3 [INFO] [stderr] Checking goblin v0.5.4 [INFO] [stderr] Checking polyval v0.5.3 [INFO] [stderr] Checking combine v3.8.1 [INFO] [stderr] Checking aes v0.7.5 [INFO] [stderr] Checking ctr v0.8.0 [INFO] [stderr] Checking aead v0.4.3 [INFO] [stderr] Checking inout v0.1.3 [INFO] [stderr] Compiling enum-iterator-derive v1.4.0 [INFO] [stderr] Checking crossbeam-channel v0.5.13 [INFO] [stderr] Checking gethostname v0.2.3 [INFO] [stderr] Compiling waffles-solana-program-runtime v1.16.0-alpha.10 [INFO] [stderr] Checking hash32 v0.2.1 [INFO] [stderr] Checking rustc-demangle v0.1.24 [INFO] [stderr] Checking cipher v0.4.4 [INFO] [stderr] Checking aes-gcm-siv v0.10.3 [INFO] [stderr] Checking sha3 v0.9.1 [INFO] [stderr] Checking merlin v3.0.0 [INFO] [stderr] Checking libloading v0.7.4 [INFO] [stderr] Checking eager v0.1.0 [INFO] [stderr] Checking enum-iterator v1.5.0 [INFO] [stderr] Checking async-compression v0.4.12 [INFO] [stderr] Checking hyper-rustls v0.24.2 [INFO] [stderr] Checking ark-ec v0.3.0 [INFO] [stderr] Checking reqwest v0.11.27 [INFO] [stderr] Checking ark-bn254 v0.3.0 [INFO] [stderr] Checking solana_rbpf v0.2.38 [INFO] [stderr] Checking waffles-solana-measure v1.16.0-alpha.10 [INFO] [stderr] Checking waffles-solana-metrics v1.16.0-alpha.10 [INFO] [stderr] Checking waffles-solana-zk-token-sdk v1.16.0-alpha.10 [INFO] [stderr] Checking waffles-solana-bpf-loader-program v1.16.0-alpha.11 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `solana_bpf_loader_program` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/lib.rs [INFO] [stderr] * src/syscalls/cpi.rs [INFO] [stderr] * src/syscalls/mod.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/syscalls/cpi.rs:1148:10 [INFO] [stderr] | [INFO] [stderr] 1148 | $instruction_data:expr_2021, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/syscalls/cpi.rs:1149:10 [INFO] [stderr] | [INFO] [stderr] 1149 | $transaction_accounts:expr_2021, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/syscalls/cpi.rs:1150:10 [INFO] [stderr] | [INFO] [stderr] 1150 | $program_accounts:expr_2021, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/syscalls/cpi.rs:1151:10 [INFO] [stderr] | [INFO] [stderr] 1151 | $instruction_accounts:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/syscalls/cpi.rs:1464:10 [INFO] [stderr] | [INFO] [stderr] 1464 | ($invoke_context:expr_2021, $index:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/syscalls/cpi.rs:1464:37 [INFO] [stderr] | [INFO] [stderr] 1464 | ($invoke_context:expr_2021, $index:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/syscalls/mod.rs:143:6 [INFO] [stderr] | [INFO] [stderr] 143 | ($result:expr_2021, $is_feature_active:expr_2021, $name:expr_2021, $call:expr_2021 $(,)?) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/syscalls/mod.rs:143:25 [INFO] [stderr] | [INFO] [stderr] 143 | ($result:expr_2021, $is_feature_active:expr_2021, $name:expr_2021, $call:expr_2021 $(,)?) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/syscalls/mod.rs:143:55 [INFO] [stderr] | [INFO] [stderr] 143 | ($result:expr_2021, $is_feature_active:expr_2021, $name:expr_2021, $call:expr_2021 $(,)?) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/syscalls/mod.rs:143:72 [INFO] [stderr] | [INFO] [stderr] 143 | ($result:expr_2021, $is_feature_active:expr_2021, $name:expr_2021, $call:expr_2021 $(,)?) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/syscalls/mod.rs:1834:10 [INFO] [stderr] | [INFO] [stderr] 1834 | ($result:expr_2021, $va:expr_2021, $len:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/syscalls/mod.rs:1834:29 [INFO] [stderr] | [INFO] [stderr] 1834 | ($result:expr_2021, $va:expr_2021, $len:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/syscalls/mod.rs:1834:44 [INFO] [stderr] | [INFO] [stderr] 1834 | ($result:expr_2021, $va:expr_2021, $len:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/syscalls/mod.rs:1849:10 [INFO] [stderr] | [INFO] [stderr] 1849 | $loader_key:expr_2021 $(,)?) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/lib.rs:268:6 [INFO] [stderr] | [INFO] [stderr] 268 | ($invoke_context:expr_2021, $use_jit:expr_2021, $program_id:expr_2021, $loader_key:expr_2021, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/lib.rs:268:33 [INFO] [stderr] | [INFO] [stderr] 268 | ($invoke_context:expr_2021, $use_jit:expr_2021, $program_id:expr_2021, $loader_key:expr_2021, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/lib.rs:268:53 [INFO] [stderr] | [INFO] [stderr] 268 | ($invoke_context:expr_2021, $use_jit:expr_2021, $program_id:expr_2021, $loader_key:expr_2021, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/lib.rs:268:76 [INFO] [stderr] | [INFO] [stderr] 268 | ($invoke_context:expr_2021, $use_jit:expr_2021, $program_id:expr_2021, $loader_key:expr_2021, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/lib.rs:269:6 [INFO] [stderr] | [INFO] [stderr] 269 | $account_size:expr_2021, $slot:expr_2021, $drop:expr_2021, $new_programdata:expr_2021 $(,)?) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/lib.rs:269:31 [INFO] [stderr] | [INFO] [stderr] 269 | $account_size:expr_2021, $slot:expr_2021, $drop:expr_2021, $new_programdata:expr_2021 $(,)?) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/lib.rs:269:48 [INFO] [stderr] | [INFO] [stderr] 269 | $account_size:expr_2021, $slot:expr_2021, $drop:expr_2021, $new_programdata:expr_2021 $(,)?) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/lib.rs:269:65 [INFO] [stderr] | [INFO] [stderr] 269 | $account_size:expr_2021, $slot:expr_2021, $drop:expr_2021, $new_programdata:expr_2021 $(,)?) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 22 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/syscalls/mod.rs:172:14 [INFO] [stdout] | [INFO] [stdout] 172 | .gen::() [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/syscalls/cpi.rs:1148:28 [INFO] [stdout] | [INFO] [stdout] 1148 | $instruction_data:expr, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 1148 | $instruction_data:expr_2021, [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/syscalls/cpi.rs:1149:32 [INFO] [stdout] | [INFO] [stdout] 1149 | $transaction_accounts:expr, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 1149 | $transaction_accounts:expr_2021, [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/syscalls/cpi.rs:1150:28 [INFO] [stdout] | [INFO] [stdout] 1150 | $program_accounts:expr, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 1150 | $program_accounts:expr_2021, [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/syscalls/cpi.rs:1151:32 [INFO] [stdout] | [INFO] [stdout] 1151 | $instruction_accounts:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 1151 | $instruction_accounts:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/syscalls/cpi.rs:1464:26 [INFO] [stdout] | [INFO] [stdout] 1464 | ($invoke_context:expr, $index:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 1464 | ($invoke_context:expr_2021, $index:expr) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/syscalls/cpi.rs:1464:39 [INFO] [stdout] | [INFO] [stdout] 1464 | ($invoke_context:expr, $index:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 1464 | ($invoke_context:expr, $index:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/syscalls/mod.rs:143:14 [INFO] [stdout] | [INFO] [stdout] 143 | ($result:expr, $is_feature_active:expr, $name:expr, $call:expr $(,)?) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 143 | ($result:expr_2021, $is_feature_active:expr, $name:expr, $call:expr $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/syscalls/mod.rs:143:39 [INFO] [stdout] | [INFO] [stdout] 143 | ($result:expr, $is_feature_active:expr, $name:expr, $call:expr $(,)?) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 143 | ($result:expr, $is_feature_active:expr_2021, $name:expr, $call:expr $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/syscalls/mod.rs:143:51 [INFO] [stdout] | [INFO] [stdout] 143 | ($result:expr, $is_feature_active:expr, $name:expr, $call:expr $(,)?) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 143 | ($result:expr, $is_feature_active:expr, $name:expr_2021, $call:expr $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/syscalls/mod.rs:143:63 [INFO] [stdout] | [INFO] [stdout] 143 | ($result:expr, $is_feature_active:expr, $name:expr, $call:expr $(,)?) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 143 | ($result:expr, $is_feature_active:expr, $name:expr, $call:expr_2021 $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/syscalls/mod.rs:1834:18 [INFO] [stdout] | [INFO] [stdout] 1834 | ($result:expr, $va:expr, $len:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 1834 | ($result:expr_2021, $va:expr, $len:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/syscalls/mod.rs:1834:28 [INFO] [stdout] | [INFO] [stdout] 1834 | ($result:expr, $va:expr, $len:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 1834 | ($result:expr, $va:expr_2021, $len:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/syscalls/mod.rs:1834:39 [INFO] [stdout] | [INFO] [stdout] 1834 | ($result:expr, $va:expr, $len:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 1834 | ($result:expr, $va:expr, $len:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/syscalls/mod.rs:1849:22 [INFO] [stdout] | [INFO] [stdout] 1849 | $loader_key:expr $(,)?) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 1849 | $loader_key:expr_2021 $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/lib.rs:268:22 [INFO] [stdout] | [INFO] [stdout] 268 | ($invoke_context:expr, $use_jit:expr, $program_id:expr, $loader_key:expr, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 268 | ($invoke_context:expr_2021, $use_jit:expr, $program_id:expr, $loader_key:expr, [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/lib.rs:268:37 [INFO] [stdout] | [INFO] [stdout] 268 | ($invoke_context:expr, $use_jit:expr, $program_id:expr, $loader_key:expr, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 268 | ($invoke_context:expr, $use_jit:expr_2021, $program_id:expr, $loader_key:expr, [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/lib.rs:268:55 [INFO] [stdout] | [INFO] [stdout] 268 | ($invoke_context:expr, $use_jit:expr, $program_id:expr, $loader_key:expr, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 268 | ($invoke_context:expr, $use_jit:expr, $program_id:expr_2021, $loader_key:expr, [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/lib.rs:268:73 [INFO] [stdout] | [INFO] [stdout] 268 | ($invoke_context:expr, $use_jit:expr, $program_id:expr, $loader_key:expr, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 268 | ($invoke_context:expr, $use_jit:expr, $program_id:expr, $loader_key:expr_2021, [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/lib.rs:269:20 [INFO] [stdout] | [INFO] [stdout] 269 | $account_size:expr, $slot:expr, $drop:expr, $new_programdata:expr $(,)?) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 269 | $account_size:expr_2021, $slot:expr, $drop:expr, $new_programdata:expr $(,)?) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/lib.rs:269:32 [INFO] [stdout] | [INFO] [stdout] 269 | $account_size:expr, $slot:expr, $drop:expr, $new_programdata:expr $(,)?) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 269 | $account_size:expr, $slot:expr_2021, $drop:expr, $new_programdata:expr $(,)?) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/lib.rs:269:44 [INFO] [stdout] | [INFO] [stdout] 269 | $account_size:expr, $slot:expr, $drop:expr, $new_programdata:expr $(,)?) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 269 | $account_size:expr, $slot:expr, $drop:expr_2021, $new_programdata:expr $(,)?) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/lib.rs:269:67 [INFO] [stdout] | [INFO] [stdout] 269 | $account_size:expr, $slot:expr, $drop:expr, $new_programdata:expr $(,)?) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 269 | $account_size:expr, $slot:expr, $drop:expr, $new_programdata:expr_2021 $(,)?) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:872:28 [INFO] [stdout] | [INFO] [stdout] 872 | let num_accounts = *(input.add(offset) as *const u64) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/serialization.rs:864:5 [INFO] [stdout] | [INFO] [stdout] 864 | / pub unsafe fn deserialize_unaligned<'a>( [INFO] [stdout] 865 | | input: *mut u8, [INFO] [stdout] 866 | | ) -> (&'a Pubkey, Vec>, &'a [u8]) { [INFO] [stdout] | |_____________________________________________________^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:872:30 [INFO] [stdout] | [INFO] [stdout] 872 | let num_accounts = *(input.add(offset) as *const u64) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:879:28 [INFO] [stdout] | [INFO] [stdout] 879 | let dup_info = *(input.add(offset) as *const u8); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:879:30 [INFO] [stdout] | [INFO] [stdout] 879 | let dup_info = *(input.add(offset) as *const u8); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:883:33 [INFO] [stdout] | [INFO] [stdout] 883 | let is_signer = *(input.add(offset) as *const u8) != 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:883:35 [INFO] [stdout] | [INFO] [stdout] 883 | let is_signer = *(input.add(offset) as *const u8) != 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:887:35 [INFO] [stdout] | [INFO] [stdout] 887 | let is_writable = *(input.add(offset) as *const u8) != 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:887:37 [INFO] [stdout] | [INFO] [stdout] 887 | let is_writable = *(input.add(offset) as *const u8) != 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:890:37 [INFO] [stdout] | [INFO] [stdout] 890 | let key: &Pubkey = &*(input.add(offset) as *const Pubkey); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:890:39 [INFO] [stdout] | [INFO] [stdout] 890 | let key: &Pubkey = &*(input.add(offset) as *const Pubkey); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:894:58 [INFO] [stdout] | [INFO] [stdout] 894 | let lamports = Rc::new(RefCell::new(&mut *(input.add(offset) as *mut u64))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:894:60 [INFO] [stdout] | [INFO] [stdout] 894 | let lamports = Rc::new(RefCell::new(&mut *(input.add(offset) as *mut u64))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:898:32 [INFO] [stdout] | [INFO] [stdout] 898 | let data_len = *(input.add(offset) as *const u64) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:898:34 [INFO] [stdout] | [INFO] [stdout] 898 | let data_len = *(input.add(offset) as *const u64) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:902:21 [INFO] [stdout] | [INFO] [stdout] 902 | from_raw_parts_mut(input.add(offset), data_len) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:902:40 [INFO] [stdout] | [INFO] [stdout] 902 | from_raw_parts_mut(input.add(offset), data_len) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:906:39 [INFO] [stdout] | [INFO] [stdout] 906 | let owner: &Pubkey = &*(input.add(offset) as *const Pubkey); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:906:41 [INFO] [stdout] | [INFO] [stdout] 906 | let owner: &Pubkey = &*(input.add(offset) as *const Pubkey); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:910:34 [INFO] [stdout] | [INFO] [stdout] 910 | let executable = *(input.add(offset) as *const u8) != 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:910:36 [INFO] [stdout] | [INFO] [stdout] 910 | let executable = *(input.add(offset) as *const u8) != 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:914:34 [INFO] [stdout] | [INFO] [stdout] 914 | let rent_epoch = *(input.add(offset) as *const u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:914:36 [INFO] [stdout] | [INFO] [stdout] 914 | let rent_epoch = *(input.add(offset) as *const u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:936:36 [INFO] [stdout] | [INFO] [stdout] 936 | let instruction_data_len = *(input.add(offset) as *const u64) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:936:38 [INFO] [stdout] | [INFO] [stdout] 936 | let instruction_data_len = *(input.add(offset) as *const u64) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:939:34 [INFO] [stdout] | [INFO] [stdout] 939 | let instruction_data = { from_raw_parts(input.add(offset), instruction_data_len) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:939:49 [INFO] [stdout] | [INFO] [stdout] 939 | let instruction_data = { from_raw_parts(input.add(offset), instruction_data_len) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:944:36 [INFO] [stdout] | [INFO] [stdout] 944 | let program_id: &Pubkey = &*(input.add(offset) as *const Pubkey); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:944:38 [INFO] [stdout] | [INFO] [stdout] 944 | let program_id: &Pubkey = &*(input.add(offset) as *const Pubkey); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/serialization.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | Account(IndexOfAccount, BorrowedAccount<'a>), [INFO] [stdout] | ------- ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 28 | Account((), BorrowedAccount<'a>), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:218:12 [INFO] [stdout] | [INFO] [stdout] 218 | if let Some(loaded_program) = tx_executor_cache.get(program.get_key()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:226:9 [INFO] [stdout] | [INFO] [stdout] 226 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 218 ~ match tx_executor_cache.get(program.get_key()) { Some(loaded_program) => { [INFO] [stdout] 219 | if loaded_program.is_tombstone() { [INFO] [stdout] ... [INFO] [stdout] 225 | return Ok((loaded_program, None)); [INFO] [stdout] 226 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:539:16 [INFO] [stdout] | [INFO] [stdout] 539 | if let UpgradeableLoaderState::Buffer { authority_address } = buffer.get_state()? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:555:13 [INFO] [stdout] | [INFO] [stdout] 555 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 539 ~ match buffer.get_state()? { UpgradeableLoaderState::Buffer { authority_address } => { [INFO] [stdout] 540 | if authority_address.is_none() { [INFO] [stdout] ... [INFO] [stdout] 554 | } [INFO] [stdout] 555 ~ } _ => { [INFO] [stdout] 556 | ic_logger_msg!(log_collector, "Invalid Buffer account"); [INFO] [stdout] 557 | return Err(InstructionError::InvalidAccountData); [INFO] [stdout] 558 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:606:16 [INFO] [stdout] | [INFO] [stdout] 606 | if let UpgradeableLoaderState::Buffer { authority_address } = buffer.get_state()? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:615:13 [INFO] [stdout] | [INFO] [stdout] 615 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 606 ~ match buffer.get_state()? { UpgradeableLoaderState::Buffer { authority_address } => { [INFO] [stdout] 607 | if authority_address != authority_key { [INFO] [stdout] ... [INFO] [stdout] 614 | } [INFO] [stdout] 615 ~ } _ => { [INFO] [stdout] 616 | ic_logger_msg!(log_collector, "Invalid Buffer account"); [INFO] [stdout] 617 | return Err(InstructionError::InvalidArgument); [INFO] [stdout] 618 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:779:16 [INFO] [stdout] | [INFO] [stdout] 779 | if let UpgradeableLoaderState::Program { [INFO] [stdout] | ________________^ [INFO] [stdout] 780 | | programdata_address, [INFO] [stdout] 781 | | } = program.get_state()? [INFO] [stdout] | |_________________-------____________^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:787:13 [INFO] [stdout] | [INFO] [stdout] 787 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 779 ~ match program.get_state()? [INFO] [stdout] 780 ~ { UpgradeableLoaderState::Program { [INFO] [stdout] 781 + programdata_address, [INFO] [stdout] 782 ~ } => { [INFO] [stdout] 783 | if programdata_address != programdata_key { [INFO] [stdout] ... [INFO] [stdout] 786 | } [INFO] [stdout] 787 ~ } _ => { [INFO] [stdout] 788 | ic_logger_msg!(log_collector, "Invalid Program account"); [INFO] [stdout] 789 | return Err(InstructionError::InvalidAccountData); [INFO] [stdout] 790 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:798:16 [INFO] [stdout] | [INFO] [stdout] 798 | if let UpgradeableLoaderState::Buffer { authority_address } = buffer.get_state()? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:807:13 [INFO] [stdout] | [INFO] [stdout] 807 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 798 ~ match buffer.get_state()? { UpgradeableLoaderState::Buffer { authority_address } => { [INFO] [stdout] 799 | if authority_address != authority_key { [INFO] [stdout] ... [INFO] [stdout] 806 | } [INFO] [stdout] 807 ~ } _ => { [INFO] [stdout] 808 | ic_logger_msg!(log_collector, "Invalid Buffer account"); [INFO] [stdout] 809 | return Err(InstructionError::InvalidArgument); [INFO] [stdout] 810 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:844:38 [INFO] [stdout] | [INFO] [stdout] 844 | let deployment_slot = if let UpgradeableLoaderState::ProgramData { [INFO] [stdout] | ______________________________________^ [INFO] [stdout] 845 | | slot, [INFO] [stdout] 846 | | upgrade_authority_address, [INFO] [stdout] 847 | | } = programdata.get_state()? [INFO] [stdout] | |_________________-----------____________^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:870:13 [INFO] [stdout] | [INFO] [stdout] 870 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 844 ~ let deployment_slot = match programdata.get_state()? [INFO] [stdout] 845 ~ { UpgradeableLoaderState::ProgramData { [INFO] [stdout] 846 + slot, [INFO] [stdout] 847 + upgrade_authority_address, [INFO] [stdout] 848 ~ } => { [INFO] [stdout] 849 | if invoke_context [INFO] [stdout] ... [INFO] [stdout] 869 | slot [INFO] [stdout] 870 ~ } _ => { [INFO] [stdout] 871 | ic_logger_msg!(log_collector, "Invalid ProgramData account"); [INFO] [stdout] 872 | return Err(InstructionError::InvalidAccountData); [INFO] [stdout] 873 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1280:16 [INFO] [stdout] | [INFO] [stdout] 1280 | if let UpgradeableLoaderState::ProgramData { [INFO] [stdout] | ________________^ [INFO] [stdout] 1281 | | slot: _, [INFO] [stdout] 1282 | | upgrade_authority_address, [INFO] [stdout] 1283 | | } = programdata_account.get_state()? [INFO] [stdout] | |_________________-------------------____________^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1292:13 [INFO] [stdout] | [INFO] [stdout] 1292 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1280 ~ match programdata_account.get_state()? [INFO] [stdout] 1281 ~ { UpgradeableLoaderState::ProgramData { [INFO] [stdout] 1282 + slot: _, [INFO] [stdout] 1283 + upgrade_authority_address, [INFO] [stdout] 1284 ~ } => { [INFO] [stdout] 1285 | if upgrade_authority_address.is_none() { [INFO] [stdout] ... [INFO] [stdout] 1291 | } [INFO] [stdout] 1292 ~ } _ => { [INFO] [stdout] 1293 | ic_logger_msg!(log_collector, "ProgramData state is invalid"); [INFO] [stdout] 1294 | return Err(InstructionError::InvalidAccountData); [INFO] [stdout] 1295 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 59 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `solana_bpf_loader_program` [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/syscalls/mod.rs:172:14 [INFO] [stdout] | [INFO] [stdout] 172 | .gen::() [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/lib.rs [INFO] [stderr] * src/syscalls/mod.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/syscalls/mod.rs:143:6 [INFO] [stderr] | [INFO] [stderr] 143 | ($result:expr_2021, $is_feature_active:expr_2021, $name:expr_2021, $call:expr_2021 $(,)?) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/syscalls/mod.rs:143:25 [INFO] [stderr] | [INFO] [stderr] 143 | ($result:expr_2021, $is_feature_active:expr_2021, $name:expr_2021, $call:expr_2021 $(,)?) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/syscalls/mod.rs:143:55 [INFO] [stderr] | [INFO] [stderr] 143 | ($result:expr_2021, $is_feature_active:expr_2021, $name:expr_2021, $call:expr_2021 $(,)?) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/syscalls/mod.rs:143:72 [INFO] [stderr] | [INFO] [stderr] 143 | ($result:expr_2021, $is_feature_active:expr_2021, $name:expr_2021, $call:expr_2021 $(,)?) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/lib.rs:268:6 [INFO] [stderr] | [INFO] [stderr] 268 | ($invoke_context:expr_2021, $use_jit:expr_2021, $program_id:expr_2021, $loader_key:expr_2021, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/lib.rs:268:33 [INFO] [stderr] | [INFO] [stderr] 268 | ($invoke_context:expr_2021, $use_jit:expr_2021, $program_id:expr_2021, $loader_key:expr_2021, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/lib.rs:268:53 [INFO] [stderr] | [INFO] [stderr] 268 | ($invoke_context:expr_2021, $use_jit:expr_2021, $program_id:expr_2021, $loader_key:expr_2021, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/lib.rs:268:76 [INFO] [stderr] | [INFO] [stderr] 268 | ($invoke_context:expr_2021, $use_jit:expr_2021, $program_id:expr_2021, $loader_key:expr_2021, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/lib.rs:269:6 [INFO] [stderr] | [INFO] [stderr] 269 | $account_size:expr_2021, $slot:expr_2021, $drop:expr_2021, $new_programdata:expr_2021 $(,)?) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/lib.rs:269:31 [INFO] [stderr] | [INFO] [stderr] 269 | $account_size:expr_2021, $slot:expr_2021, $drop:expr_2021, $new_programdata:expr_2021 $(,)?) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/lib.rs:269:48 [INFO] [stderr] | [INFO] [stderr] 269 | $account_size:expr_2021, $slot:expr_2021, $drop:expr_2021, $new_programdata:expr_2021 $(,)?) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/lib.rs:269:65 [INFO] [stderr] | [INFO] [stderr] 269 | $account_size:expr_2021, $slot:expr_2021, $drop:expr_2021, $new_programdata:expr_2021 $(,)?) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 12 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/syscalls/mod.rs:143:14 [INFO] [stdout] | [INFO] [stdout] 143 | ($result:expr, $is_feature_active:expr, $name:expr, $call:expr $(,)?) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 143 | ($result:expr_2021, $is_feature_active:expr, $name:expr, $call:expr $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/syscalls/mod.rs:143:39 [INFO] [stdout] | [INFO] [stdout] 143 | ($result:expr, $is_feature_active:expr, $name:expr, $call:expr $(,)?) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 143 | ($result:expr, $is_feature_active:expr_2021, $name:expr, $call:expr $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/syscalls/mod.rs:143:51 [INFO] [stdout] | [INFO] [stdout] 143 | ($result:expr, $is_feature_active:expr, $name:expr, $call:expr $(,)?) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 143 | ($result:expr, $is_feature_active:expr, $name:expr_2021, $call:expr $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/syscalls/mod.rs:143:63 [INFO] [stdout] | [INFO] [stdout] 143 | ($result:expr, $is_feature_active:expr, $name:expr, $call:expr $(,)?) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 143 | ($result:expr, $is_feature_active:expr, $name:expr, $call:expr_2021 $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/lib.rs:268:22 [INFO] [stdout] | [INFO] [stdout] 268 | ($invoke_context:expr, $use_jit:expr, $program_id:expr, $loader_key:expr, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 268 | ($invoke_context:expr_2021, $use_jit:expr, $program_id:expr, $loader_key:expr, [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/lib.rs:268:37 [INFO] [stdout] | [INFO] [stdout] 268 | ($invoke_context:expr, $use_jit:expr, $program_id:expr, $loader_key:expr, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 268 | ($invoke_context:expr, $use_jit:expr_2021, $program_id:expr, $loader_key:expr, [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/lib.rs:268:55 [INFO] [stdout] | [INFO] [stdout] 268 | ($invoke_context:expr, $use_jit:expr, $program_id:expr, $loader_key:expr, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 268 | ($invoke_context:expr, $use_jit:expr, $program_id:expr_2021, $loader_key:expr, [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/lib.rs:268:73 [INFO] [stdout] | [INFO] [stdout] 268 | ($invoke_context:expr, $use_jit:expr, $program_id:expr, $loader_key:expr, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 268 | ($invoke_context:expr, $use_jit:expr, $program_id:expr, $loader_key:expr_2021, [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/lib.rs:269:20 [INFO] [stdout] | [INFO] [stdout] 269 | $account_size:expr, $slot:expr, $drop:expr, $new_programdata:expr $(,)?) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 269 | $account_size:expr_2021, $slot:expr, $drop:expr, $new_programdata:expr $(,)?) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/lib.rs:269:32 [INFO] [stdout] | [INFO] [stdout] 269 | $account_size:expr, $slot:expr, $drop:expr, $new_programdata:expr $(,)?) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 269 | $account_size:expr, $slot:expr_2021, $drop:expr, $new_programdata:expr $(,)?) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/lib.rs:269:44 [INFO] [stdout] | [INFO] [stdout] 269 | $account_size:expr, $slot:expr, $drop:expr, $new_programdata:expr $(,)?) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 269 | $account_size:expr, $slot:expr, $drop:expr_2021, $new_programdata:expr $(,)?) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/lib.rs:269:67 [INFO] [stdout] | [INFO] [stdout] 269 | $account_size:expr, $slot:expr, $drop:expr, $new_programdata:expr $(,)?) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 269 | $account_size:expr, $slot:expr, $drop:expr, $new_programdata:expr_2021 $(,)?) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/serialization.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | Account(IndexOfAccount, BorrowedAccount<'a>), [INFO] [stdout] | ------- ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 28 | Account((), BorrowedAccount<'a>), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:218:12 [INFO] [stdout] | [INFO] [stdout] 218 | if let Some(loaded_program) = tx_executor_cache.get(program.get_key()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:226:9 [INFO] [stdout] | [INFO] [stdout] 226 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 218 ~ match tx_executor_cache.get(program.get_key()) { Some(loaded_program) => { [INFO] [stdout] 219 | if loaded_program.is_tombstone() { [INFO] [stdout] ... [INFO] [stdout] 225 | return Ok((loaded_program, None)); [INFO] [stdout] 226 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:539:16 [INFO] [stdout] | [INFO] [stdout] 539 | if let UpgradeableLoaderState::Buffer { authority_address } = buffer.get_state()? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:555:13 [INFO] [stdout] | [INFO] [stdout] 555 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 539 ~ match buffer.get_state()? { UpgradeableLoaderState::Buffer { authority_address } => { [INFO] [stdout] 540 | if authority_address.is_none() { [INFO] [stdout] ... [INFO] [stdout] 554 | } [INFO] [stdout] 555 ~ } _ => { [INFO] [stdout] 556 | ic_logger_msg!(log_collector, "Invalid Buffer account"); [INFO] [stdout] 557 | return Err(InstructionError::InvalidAccountData); [INFO] [stdout] 558 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:606:16 [INFO] [stdout] | [INFO] [stdout] 606 | if let UpgradeableLoaderState::Buffer { authority_address } = buffer.get_state()? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:615:13 [INFO] [stdout] | [INFO] [stdout] 615 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 606 ~ match buffer.get_state()? { UpgradeableLoaderState::Buffer { authority_address } => { [INFO] [stdout] 607 | if authority_address != authority_key { [INFO] [stdout] ... [INFO] [stdout] 614 | } [INFO] [stdout] 615 ~ } _ => { [INFO] [stdout] 616 | ic_logger_msg!(log_collector, "Invalid Buffer account"); [INFO] [stdout] 617 | return Err(InstructionError::InvalidArgument); [INFO] [stdout] 618 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:779:16 [INFO] [stdout] | [INFO] [stdout] 779 | if let UpgradeableLoaderState::Program { [INFO] [stdout] | ________________^ [INFO] [stdout] 780 | | programdata_address, [INFO] [stdout] 781 | | } = program.get_state()? [INFO] [stdout] | |_________________-------____________^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:787:13 [INFO] [stdout] | [INFO] [stdout] 787 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 779 ~ match program.get_state()? [INFO] [stdout] 780 ~ { UpgradeableLoaderState::Program { [INFO] [stdout] 781 + programdata_address, [INFO] [stdout] 782 ~ } => { [INFO] [stdout] 783 | if programdata_address != programdata_key { [INFO] [stdout] ... [INFO] [stdout] 786 | } [INFO] [stdout] 787 ~ } _ => { [INFO] [stdout] 788 | ic_logger_msg!(log_collector, "Invalid Program account"); [INFO] [stdout] 789 | return Err(InstructionError::InvalidAccountData); [INFO] [stdout] 790 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:798:16 [INFO] [stdout] | [INFO] [stdout] 798 | if let UpgradeableLoaderState::Buffer { authority_address } = buffer.get_state()? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:807:13 [INFO] [stdout] | [INFO] [stdout] 807 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 798 ~ match buffer.get_state()? { UpgradeableLoaderState::Buffer { authority_address } => { [INFO] [stdout] 799 | if authority_address != authority_key { [INFO] [stdout] ... [INFO] [stdout] 806 | } [INFO] [stdout] 807 ~ } _ => { [INFO] [stdout] 808 | ic_logger_msg!(log_collector, "Invalid Buffer account"); [INFO] [stdout] 809 | return Err(InstructionError::InvalidArgument); [INFO] [stdout] 810 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:844:38 [INFO] [stdout] | [INFO] [stdout] 844 | let deployment_slot = if let UpgradeableLoaderState::ProgramData { [INFO] [stdout] | ______________________________________^ [INFO] [stdout] 845 | | slot, [INFO] [stdout] 846 | | upgrade_authority_address, [INFO] [stdout] 847 | | } = programdata.get_state()? [INFO] [stdout] | |_________________-----------____________^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:870:13 [INFO] [stdout] | [INFO] [stdout] 870 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 844 ~ let deployment_slot = match programdata.get_state()? [INFO] [stdout] 845 ~ { UpgradeableLoaderState::ProgramData { [INFO] [stdout] 846 + slot, [INFO] [stdout] 847 + upgrade_authority_address, [INFO] [stdout] 848 ~ } => { [INFO] [stdout] 849 | if invoke_context [INFO] [stdout] ... [INFO] [stdout] 869 | slot [INFO] [stdout] 870 ~ } _ => { [INFO] [stdout] 871 | ic_logger_msg!(log_collector, "Invalid ProgramData account"); [INFO] [stdout] 872 | return Err(InstructionError::InvalidAccountData); [INFO] [stdout] 873 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:1280:16 [INFO] [stdout] | [INFO] [stdout] 1280 | if let UpgradeableLoaderState::ProgramData { [INFO] [stdout] | ________________^ [INFO] [stdout] 1281 | | slot: _, [INFO] [stdout] 1282 | | upgrade_authority_address, [INFO] [stdout] 1283 | | } = programdata_account.get_state()? [INFO] [stdout] | |_________________-------------------____________^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:1292:13 [INFO] [stdout] | [INFO] [stdout] 1292 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1280 ~ match programdata_account.get_state()? [INFO] [stdout] 1281 ~ { UpgradeableLoaderState::ProgramData { [INFO] [stdout] 1282 + slot: _, [INFO] [stdout] 1283 + upgrade_authority_address, [INFO] [stdout] 1284 ~ } => { [INFO] [stdout] 1285 | if upgrade_authority_address.is_none() { [INFO] [stdout] ... [INFO] [stdout] 1291 | } [INFO] [stdout] 1292 ~ } _ => { [INFO] [stdout] 1293 | ic_logger_msg!(log_collector, "ProgramData state is invalid"); [INFO] [stdout] 1294 | return Err(InstructionError::InvalidAccountData); [INFO] [stdout] 1295 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating benches/serialization.rs from 2021 edition to 2024 [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 01s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking waffles-solana-bpf-loader-program v1.16.0-alpha.11 (/tmp/fixit) [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/syscalls/mod.rs:172:14 [INFO] [stdout] | [INFO] [stdout] 172 | .gen::() [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 172 | .r#gen::() [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/syscalls/mod.rs:172:14 [INFO] [stdout] | [INFO] [stdout] 172 | .gen::() [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 172 | .r#gen::() [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:872:28 [INFO] [stdout] | [INFO] [stdout] 872 | let num_accounts = *(input.add(offset) as *const u64) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/serialization.rs:864:5 [INFO] [stdout] | [INFO] [stdout] 864 | / pub unsafe fn deserialize_unaligned<'a>( [INFO] [stdout] 865 | | input: *mut u8, [INFO] [stdout] 866 | | ) -> (&'a Pubkey, Vec>, &'a [u8]) { [INFO] [stdout] | |_____________________________________________________^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:872:30 [INFO] [stdout] | [INFO] [stdout] 872 | let num_accounts = *(input.add(offset) as *const u64) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:879:28 [INFO] [stdout] | [INFO] [stdout] 879 | let dup_info = *(input.add(offset) as *const u8); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `waffles-solana-bpf-loader-program` (lib) due to 2 previous errors [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:879:30 [INFO] [stdout] | [INFO] [stdout] 879 | let dup_info = *(input.add(offset) as *const u8); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:883:33 [INFO] [stdout] | [INFO] [stdout] 883 | let is_signer = *(input.add(offset) as *const u8) != 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:883:35 [INFO] [stdout] | [INFO] [stdout] 883 | let is_signer = *(input.add(offset) as *const u8) != 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:887:35 [INFO] [stdout] | [INFO] [stdout] 887 | let is_writable = *(input.add(offset) as *const u8) != 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:887:37 [INFO] [stdout] | [INFO] [stdout] 887 | let is_writable = *(input.add(offset) as *const u8) != 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:890:37 [INFO] [stdout] | [INFO] [stdout] 890 | let key: &Pubkey = &*(input.add(offset) as *const Pubkey); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:890:39 [INFO] [stdout] | [INFO] [stdout] 890 | let key: &Pubkey = &*(input.add(offset) as *const Pubkey); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:894:58 [INFO] [stdout] | [INFO] [stdout] 894 | let lamports = Rc::new(RefCell::new(&mut *(input.add(offset) as *mut u64))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:894:60 [INFO] [stdout] | [INFO] [stdout] 894 | let lamports = Rc::new(RefCell::new(&mut *(input.add(offset) as *mut u64))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:898:32 [INFO] [stdout] | [INFO] [stdout] 898 | let data_len = *(input.add(offset) as *const u64) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:898:34 [INFO] [stdout] | [INFO] [stdout] 898 | let data_len = *(input.add(offset) as *const u64) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:902:21 [INFO] [stdout] | [INFO] [stdout] 902 | from_raw_parts_mut(input.add(offset), data_len) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:902:40 [INFO] [stdout] | [INFO] [stdout] 902 | from_raw_parts_mut(input.add(offset), data_len) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:906:39 [INFO] [stdout] | [INFO] [stdout] 906 | let owner: &Pubkey = &*(input.add(offset) as *const Pubkey); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:906:41 [INFO] [stdout] | [INFO] [stdout] 906 | let owner: &Pubkey = &*(input.add(offset) as *const Pubkey); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:910:34 [INFO] [stdout] | [INFO] [stdout] 910 | let executable = *(input.add(offset) as *const u8) != 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:910:36 [INFO] [stdout] | [INFO] [stdout] 910 | let executable = *(input.add(offset) as *const u8) != 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:914:34 [INFO] [stdout] | [INFO] [stdout] 914 | let rent_epoch = *(input.add(offset) as *const u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:914:36 [INFO] [stdout] | [INFO] [stdout] 914 | let rent_epoch = *(input.add(offset) as *const u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:936:36 [INFO] [stdout] | [INFO] [stdout] 936 | let instruction_data_len = *(input.add(offset) as *const u64) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:936:38 [INFO] [stdout] | [INFO] [stdout] 936 | let instruction_data_len = *(input.add(offset) as *const u64) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:939:34 [INFO] [stdout] | [INFO] [stdout] 939 | let instruction_data = { from_raw_parts(input.add(offset), instruction_data_len) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:939:49 [INFO] [stdout] | [INFO] [stdout] 939 | let instruction_data = { from_raw_parts(input.add(offset), instruction_data_len) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:944:36 [INFO] [stdout] | [INFO] [stdout] 944 | let program_id: &Pubkey = &*(input.add(offset) as *const Pubkey); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/serialization.rs:944:38 [INFO] [stdout] | [INFO] [stdout] 944 | let program_id: &Pubkey = &*(input.add(offset) as *const Pubkey); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 28 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `waffles-solana-bpf-loader-program` (lib test) due to 2 previous errors; 28 warnings emitted [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "6e5a8dea4b58038f352d06493ecd545c61f18eb88833370eb879f17c9e96ee2f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6e5a8dea4b58038f352d06493ecd545c61f18eb88833370eb879f17c9e96ee2f", kill_on_drop: false }` [INFO] [stdout] 6e5a8dea4b58038f352d06493ecd545c61f18eb88833370eb879f17c9e96ee2f