[INFO] fetching crate safecoin-program 1.14.17... [INFO] checking safecoin-program-1.14.17 against master#35936c4839dd272646394779d151e060d0f6b3ac for pr-122960-1 [INFO] extracting crate safecoin-program 1.14.17 into /workspace/builds/worker-4-tc1/source [INFO] validating manifest of crates.io crate safecoin-program 1.14.17 on toolchain 35936c4839dd272646394779d151e060d0f6b3ac [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+35936c4839dd272646394779d151e060d0f6b3ac" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate safecoin-program 1.14.17 [INFO] finished tweaking crates.io crate safecoin-program 1.14.17 [INFO] tweaked toml for crates.io crate safecoin-program 1.14.17 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+35936c4839dd272646394779d151e060d0f6b3ac" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+35936c4839dd272646394779d151e060d0f6b3ac" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded safecoin-sdk-macro v1.14.17 [INFO] [stderr] Downloaded safecoin-frozen-abi v1.14.17 [INFO] [stderr] Downloaded safecoin-frozen-abi-macro v1.14.17 [INFO] [stderr] Downloaded safecoin-logger v1.14.17 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+35936c4839dd272646394779d151e060d0f6b3ac" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 57e7793f900a62505c25b80a66477a788908cd710f9cc415094d86983f465742 [INFO] running `Command { std: "docker" "start" "-a" "57e7793f900a62505c25b80a66477a788908cd710f9cc415094d86983f465742", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "57e7793f900a62505c25b80a66477a788908cd710f9cc415094d86983f465742", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "57e7793f900a62505c25b80a66477a788908cd710f9cc415094d86983f465742", kill_on_drop: false }` [INFO] [stdout] 57e7793f900a62505c25b80a66477a788908cd710f9cc415094d86983f465742 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+35936c4839dd272646394779d151e060d0f6b3ac" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4d3e35c89843a88e7d97099ca992cc887e77776487f4bb29e78dcb0279759622 [INFO] running `Command { std: "docker" "start" "-a" "4d3e35c89843a88e7d97099ca992cc887e77776487f4bb29e78dcb0279759622", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.79 [INFO] [stderr] Checking subtle v2.5.0 [INFO] [stderr] Compiling libc v0.2.153 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Checking getrandom v0.2.12 [INFO] [stderr] Compiling ahash v0.7.8 [INFO] [stderr] Compiling serde v1.0.197 [INFO] [stderr] Compiling log v0.4.21 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Compiling safecoin-frozen-abi-macro v1.14.17 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking rand_xoshiro v0.6.0 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Compiling safecoin-frozen-abi v1.14.17 [INFO] [stderr] Compiling digest v0.9.0 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking jobserver v0.1.28 [INFO] [stderr] Compiling libsecp256k1-core v0.2.2 [INFO] [stderr] Checking cc v1.0.90 [INFO] [stderr] Checking hashbrown v0.11.2 [INFO] [stderr] Checking hashbrown v0.12.3 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Compiling quote v1.0.35 [INFO] [stderr] Checking base64 v0.13.1 [INFO] [stderr] Compiling syn v2.0.55 [INFO] [stderr] Compiling libsecp256k1-gen-ecmult v0.2.1 [INFO] [stderr] Compiling libsecp256k1-gen-genmult v0.2.1 [INFO] [stderr] Checking safecoin-logger v1.14.17 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Compiling libsecp256k1 v0.6.0 [INFO] [stderr] Compiling blake3 v1.5.1 [INFO] [stderr] Compiling safecoin-program v1.14.17 (/opt/rustwide/workdir) [INFO] [stderr] Compiling toml v0.5.11 [INFO] [stderr] Compiling proc-macro-crate v0.1.5 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.92 [INFO] [stderr] Compiling serde_derive v1.0.197 [INFO] [stderr] Compiling zeroize_derive v1.4.2 [INFO] [stderr] Compiling thiserror-impl v1.0.58 [INFO] [stderr] Compiling bytemuck_derive v1.6.0 [INFO] [stderr] Compiling borsh-schema-derive-internal v0.9.3 [INFO] [stderr] Compiling borsh-derive-internal v0.9.3 [INFO] [stderr] Checking zeroize v1.3.0 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.92 [INFO] [stderr] Compiling borsh-derive v0.9.3 [INFO] [stderr] Compiling num-derive v0.3.3 [INFO] [stderr] Compiling safecoin-sdk-macro v1.14.17 [INFO] [stderr] Checking thiserror v1.0.58 [INFO] [stderr] Checking bytemuck v1.15.0 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.92 [INFO] [stderr] Checking borsh v0.9.3 [INFO] [stderr] Checking wasm-bindgen v0.2.92 [INFO] [stderr] Checking serde_json v1.0.115 [INFO] [stderr] Checking im v15.1.0 [INFO] [stderr] Checking serde_bytes v0.11.14 [INFO] [stderr] Checking bv v0.11.1 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking crypto-mac v0.8.0 [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 pbkdf2 v0.4.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 sha2 v0.10.8 [INFO] [stderr] Checking sha3 v0.10.8 [INFO] [stderr] Checking tiny-bip39 v0.8.2 [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/blake3.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | std::{convert::TryFrom, fmt, mem, str::FromStr}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/35936c4839dd272646394779d151e060d0f6b3ac/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Vec` is imported redundantly [INFO] [stdout] --> src/entrypoint.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | alloc::vec::Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/35936c4839dd272646394779d151e060d0f6b3ac/library/std/src/prelude/mod.rs:125:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `Vec` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Vec` is imported redundantly [INFO] [stdout] --> src/entrypoint_deprecated.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | alloc::vec::Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/35936c4839dd272646394779d151e060d0f6b3ac/library/std/src/prelude/mod.rs:125:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `Vec` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/hash.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | std::{convert::TryFrom, fmt, mem, str::FromStr}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/35936c4839dd272646394779d151e060d0f6b3ac/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/keccak.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | std::{convert::TryFrom, fmt, mem, str::FromStr}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/35936c4839dd272646394779d151e060d0f6b3ac/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/message/legacy.rs:25:11 [INFO] [stdout] | [INFO] [stdout] 25 | std::{convert::TryFrom, str::FromStr}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/35936c4839dd272646394779d151e060d0f6b3ac/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/message/sanitized.rs:18:24 [INFO] [stdout] | [INFO] [stdout] 18 | std::{borrow::Cow, convert::TryFrom}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/35936c4839dd272646394779d151e060d0f6b3ac/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/program_error.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | std::convert::TryFrom, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/35936c4839dd272646394779d151e060d0f6b3ac/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/pubkey.rs:10:31 [INFO] [stdout] | [INFO] [stdout] 10 | convert::{Infallible, TryFrom}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] --> /rustc/35936c4839dd272646394779d151e060d0f6b3ac/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/secp256k1_recover.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | core::convert::TryFrom, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/35936c4839dd272646394779d151e060d0f6b3ac/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/short_vec.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | std::{convert::TryFrom, fmt, marker::PhantomData}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/35936c4839dd272646394779d151e060d0f6b3ac/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `FromIterator` is imported redundantly [INFO] [stdout] --> src/slot_hashes.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | iter::FromIterator, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/35936c4839dd272646394779d151e060d0f6b3ac/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `FromIterator` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `FromIterator` is imported redundantly [INFO] [stdout] --> src/sysvar/recent_blockhashes.rs:7:51 [INFO] [stdout] | [INFO] [stdout] 7 | std::{cmp::Ordering, collections::BinaryHeap, iter::FromIterator, ops::Deref}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/35936c4839dd272646394779d151e060d0f6b3ac/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `FromIterator` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/blake3.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | std::{convert::TryFrom, fmt, mem, str::FromStr}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/35936c4839dd272646394779d151e060d0f6b3ac/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `HashMap` is imported redundantly [INFO] [stdout] --> src/borsh.rs:119:15 [INFO] [stdout] | [INFO] [stdout] 117 | super::*, [INFO] [stdout] | -------- the item `HashMap` is already imported here [INFO] [stdout] 118 | borsh::{maybestd::io::ErrorKind, BorshSchema, BorshSerialize}, [INFO] [stdout] 119 | std::{collections::HashMap, mem::size_of}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Vec` is imported redundantly [INFO] [stdout] --> src/entrypoint.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | alloc::vec::Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/35936c4839dd272646394779d151e060d0f6b3ac/library/std/src/prelude/mod.rs:125:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `Vec` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Vec` is imported redundantly [INFO] [stdout] --> src/entrypoint_deprecated.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | alloc::vec::Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/35936c4839dd272646394779d151e060d0f6b3ac/library/std/src/prelude/mod.rs:125:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `Vec` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Slot` is imported redundantly [INFO] [stdout] --> src/feature.rs:62:20 [INFO] [stdout] | [INFO] [stdout] 62 | use {super::*, solana_program::clock::Slot}; [INFO] [stdout] | -------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | the item `Slot` is already imported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/hash.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | std::{convert::TryFrom, fmt, mem, str::FromStr}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/35936c4839dd272646394779d151e060d0f6b3ac/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/keccak.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | std::{convert::TryFrom, fmt, mem, str::FromStr}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/35936c4839dd272646394779d151e060d0f6b3ac/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/message/legacy.rs:25:11 [INFO] [stdout] | [INFO] [stdout] 25 | std::{convert::TryFrom, str::FromStr}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/35936c4839dd272646394779d151e060d0f6b3ac/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/message/sanitized.rs:18:24 [INFO] [stdout] | [INFO] [stdout] 18 | std::{borrow::Cow, convert::TryFrom}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/35936c4839dd272646394779d151e060d0f6b3ac/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `v0` is imported redundantly [INFO] [stdout] --> src/message/sanitized.rs:342:20 [INFO] [stdout] | [INFO] [stdout] 342 | use {super::*, crate::message::v0, std::collections::HashSet}; [INFO] [stdout] | -------- ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | the item `v0` is already imported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `MessageAddressTableLookup` is imported redundantly [INFO] [stdout] --> src/message/versions/mod.rs:297:13 [INFO] [stdout] | [INFO] [stdout] 294 | super::*, [INFO] [stdout] | -------- the item `MessageAddressTableLookup` is already imported here [INFO] [stdout] ... [INFO] [stdout] 297 | message::v0::MessageAddressTableLookup, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Pubkey` is imported redundantly [INFO] [stdout] --> src/nonce/state/mod.rs:118:48 [INFO] [stdout] | [INFO] [stdout] 117 | super::*, [INFO] [stdout] | -------- the item `Pubkey` is already imported here [INFO] [stdout] 118 | crate::{fee_calculator::FeeCalculator, pubkey::Pubkey}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/program_error.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | std::convert::TryFrom, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/35936c4839dd272646394779d151e060d0f6b3ac/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/pubkey.rs:10:31 [INFO] [stdout] | [INFO] [stdout] 10 | convert::{Infallible, TryFrom}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] --> /rustc/35936c4839dd272646394779d151e060d0f6b3ac/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/secp256k1_recover.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | core::convert::TryFrom, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/35936c4839dd272646394779d151e060d0f6b3ac/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/short_vec.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | std::{convert::TryFrom, fmt, marker::PhantomData}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/35936c4839dd272646394779d151e060d0f6b3ac/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `FromIterator` is imported redundantly [INFO] [stdout] --> src/slot_hashes.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | iter::FromIterator, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/35936c4839dd272646394779d151e060d0f6b3ac/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `FromIterator` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Instruction` is imported redundantly [INFO] [stdout] --> src/system_instruction.rs:974:30 [INFO] [stdout] | [INFO] [stdout] 973 | super::*, [INFO] [stdout] | -------- the item `Instruction` is already imported here [INFO] [stdout] 974 | crate::instruction::{Instruction, InstructionError}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `InstructionError` is imported redundantly [INFO] [stdout] --> src/system_instruction.rs:974:43 [INFO] [stdout] | [INFO] [stdout] 973 | super::*, [INFO] [stdout] | -------- the item `InstructionError` is already imported here [INFO] [stdout] 974 | crate::instruction::{Instruction, InstructionError}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `AccountMeta` is imported redundantly [INFO] [stdout] --> src/sysvar/instructions.rs:240:13 [INFO] [stdout] | [INFO] [stdout] 238 | super::*, [INFO] [stdout] | -------- the item `AccountMeta` is already imported here [INFO] [stdout] 239 | crate::{ [INFO] [stdout] 240 | instruction::AccountMeta, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Pubkey` is imported redundantly [INFO] [stdout] --> src/sysvar/instructions.rs:242:13 [INFO] [stdout] | [INFO] [stdout] 238 | super::*, [INFO] [stdout] | -------- the item `Pubkey` is already imported here [INFO] [stdout] ... [INFO] [stdout] 242 | pubkey::Pubkey, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/sysvar/instructions.rs:244:9 [INFO] [stdout] | [INFO] [stdout] 244 | std::convert::TryFrom, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/35936c4839dd272646394779d151e060d0f6b3ac/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `FromIterator` is imported redundantly [INFO] [stdout] --> src/sysvar/recent_blockhashes.rs:7:51 [INFO] [stdout] | [INFO] [stdout] 7 | std::{cmp::Ordering, collections::BinaryHeap, iter::FromIterator, ops::Deref}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/35936c4839dd272646394779d151e060d0f6b3ac/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `FromIterator` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `ProgramError` is imported redundantly [INFO] [stdout] --> src/sysvar/mod.rs:157:31 [INFO] [stdout] | [INFO] [stdout] 156 | super::*, [INFO] [stdout] | -------- the item `ProgramError` is already imported here [INFO] [stdout] 157 | crate::{clock::Epoch, program_error::ProgramError, pubkey::Pubkey}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Pubkey` is imported redundantly [INFO] [stdout] --> src/sysvar/mod.rs:157:60 [INFO] [stdout] | [INFO] [stdout] 156 | super::*, [INFO] [stdout] | -------- the item `Pubkey` is already imported here [INFO] [stdout] 157 | crate::{clock::Epoch, program_error::ProgramError, pubkey::Pubkey}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `unchecked_div_by_const` is imported redundantly [INFO] [stdout] --> src/lib.rs:866:9 [INFO] [stdout] | [INFO] [stdout] 820 | / macro_rules! unchecked_div_by_const { [INFO] [stdout] 821 | | ($num:expr, $den:expr) => {{ [INFO] [stdout] 822 | | // Ensure the denominator is compile-time constant [INFO] [stdout] 823 | | let _ = [(); ($den - $den) as usize]; [INFO] [stdout] ... | [INFO] [stdout] 833 | | }}; [INFO] [stdout] 834 | | } [INFO] [stdout] | |_- the item `unchecked_div_by_const` is already defined here [INFO] [stdout] ... [INFO] [stdout] 866 | use super::unchecked_div_by_const; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/message/compiled_keys.rs:43:17 [INFO] [stdout] | [INFO] [stdout] 43 | let mut meta = key_meta_map.entry(ix.program_id).or_default(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/message/compiled_keys.rs:52:17 [INFO] [stdout] | [INFO] [stdout] 52 | let mut meta = key_meta_map.entry(*payer).or_default(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/message/compiled_keys.rs:43:17 [INFO] [stdout] | [INFO] [stdout] 43 | let mut meta = key_meta_map.entry(ix.program_id).or_default(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/message/compiled_keys.rs:52:17 [INFO] [stdout] | [INFO] [stdout] 52 | let mut meta = key_meta_map.entry(*payer).or_default(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: assigning to `&T` is undefined behavior, consider using an `UnsafeCell` [INFO] [stdout] --> src/account_info.rs:187:13 [INFO] [stdout] | [INFO] [stdout] 187 | / std::ptr::write_volatile( [INFO] [stdout] 188 | | self.owner as *const Pubkey as *mut [u8; 32], [INFO] [stdout] 189 | | new_owner.to_bytes(), [INFO] [stdout] 190 | | ); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = note: for more information, visit [INFO] [stdout] = note: `#[deny(invalid_reference_casting)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 15 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `safecoin-program` (lib) due to 2 previous errors; 15 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/borsh.rs:125:16 [INFO] [stdout] | [INFO] [stdout] 122 | #[derive(PartialEq, Eq, Clone, Debug, BorshSerialize, BorshDeserialize, BorshSchema)] [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 125 | Number(u32), [INFO] [stdout] | ^^^ [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] 125 | Number(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: assigning to `&T` is undefined behavior, consider using an `UnsafeCell` [INFO] [stdout] --> src/account_info.rs:187:13 [INFO] [stdout] | [INFO] [stdout] 187 | / std::ptr::write_volatile( [INFO] [stdout] 188 | | self.owner as *const Pubkey as *mut [u8; 32], [INFO] [stdout] 189 | | new_owner.to_bytes(), [INFO] [stdout] 190 | | ); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = note: for more information, visit [INFO] [stdout] = note: `#[deny(invalid_reference_casting)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 29 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `safecoin-program` (lib test) due to 2 previous errors; 29 warnings emitted [INFO] running `Command { std: "docker" "inspect" "4d3e35c89843a88e7d97099ca992cc887e77776487f4bb29e78dcb0279759622", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4d3e35c89843a88e7d97099ca992cc887e77776487f4bb29e78dcb0279759622", kill_on_drop: false }` [INFO] [stdout] 4d3e35c89843a88e7d97099ca992cc887e77776487f4bb29e78dcb0279759622 [INFO] checking safecoin-program-1.14.17 against try#9ae1860851f3fbc1435a1698e572252c0076f413 for pr-122960-1 [INFO] extracting crate safecoin-program 1.14.17 into /workspace/builds/worker-4-tc2/source [INFO] validating manifest of crates.io crate safecoin-program 1.14.17 on toolchain 9ae1860851f3fbc1435a1698e572252c0076f413 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9ae1860851f3fbc1435a1698e572252c0076f413" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate safecoin-program 1.14.17 [INFO] finished tweaking crates.io crate safecoin-program 1.14.17 [INFO] tweaked toml for crates.io crate safecoin-program 1.14.17 written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9ae1860851f3fbc1435a1698e572252c0076f413" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9ae1860851f3fbc1435a1698e572252c0076f413" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+9ae1860851f3fbc1435a1698e572252c0076f413" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] fba835c5cfa7ef69054bd15190f09c09245808628271b35afe0ca12b5f77d33b [INFO] running `Command { std: "docker" "start" "-a" "fba835c5cfa7ef69054bd15190f09c09245808628271b35afe0ca12b5f77d33b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "fba835c5cfa7ef69054bd15190f09c09245808628271b35afe0ca12b5f77d33b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fba835c5cfa7ef69054bd15190f09c09245808628271b35afe0ca12b5f77d33b", kill_on_drop: false }` [INFO] [stdout] fba835c5cfa7ef69054bd15190f09c09245808628271b35afe0ca12b5f77d33b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+9ae1860851f3fbc1435a1698e572252c0076f413" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d0d69563811d2599f43be9a6b359380ffaf4a08e57766ecdc72ff06e325abe6f [INFO] running `Command { std: "docker" "start" "-a" "d0d69563811d2599f43be9a6b359380ffaf4a08e57766ecdc72ff06e325abe6f", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Compiling proc-macro2 v1.0.79 [INFO] [stderr] Checking subtle v2.5.0 [INFO] [stderr] Compiling libc v0.2.153 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Checking getrandom v0.2.12 [INFO] [stderr] Compiling ahash v0.7.8 [INFO] [stderr] Compiling serde v1.0.197 [INFO] [stderr] Compiling log v0.4.21 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Compiling safecoin-frozen-abi-macro v1.14.17 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking rand_xoshiro v0.6.0 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Compiling safecoin-frozen-abi v1.14.17 [INFO] [stderr] Compiling digest v0.9.0 [INFO] [stderr] Compiling quote v1.0.35 [INFO] [stderr] Compiling libsecp256k1-core v0.2.2 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking jobserver v0.1.28 [INFO] [stderr] Compiling syn v2.0.55 [INFO] [stderr] Checking cc v1.0.90 [INFO] [stderr] Checking hashbrown v0.11.2 [INFO] [stderr] Checking hashbrown v0.12.3 [INFO] [stderr] Checking base64 v0.13.1 [INFO] [stderr] Compiling libsecp256k1-gen-genmult v0.2.1 [INFO] [stderr] Compiling libsecp256k1-gen-ecmult v0.2.1 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking safecoin-logger v1.14.17 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Compiling libsecp256k1 v0.6.0 [INFO] [stderr] Compiling blake3 v1.5.1 [INFO] [stderr] Compiling safecoin-program v1.14.17 (/tmp/fixit) [INFO] [stderr] Migrating build.rs from 2021 edition to 2024 [INFO] [stderr] Compiling toml v0.5.11 [INFO] [stderr] Compiling proc-macro-crate v0.1.5 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.92 [INFO] [stderr] Compiling borsh-derive-internal v0.9.3 [INFO] [stderr] Compiling borsh-schema-derive-internal v0.9.3 [INFO] [stderr] Compiling serde_derive v1.0.197 [INFO] [stderr] Compiling thiserror-impl v1.0.58 [INFO] [stderr] Compiling zeroize_derive v1.4.2 [INFO] [stderr] Compiling bytemuck_derive v1.6.0 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.92 [INFO] [stderr] Compiling borsh-derive v0.9.3 [INFO] [stderr] Checking zeroize v1.3.0 [INFO] [stderr] Compiling safecoin-sdk-macro v1.14.17 [INFO] [stderr] Compiling num-derive v0.3.3 [INFO] [stderr] Checking borsh v0.9.3 [INFO] [stderr] Checking thiserror v1.0.58 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.92 [INFO] [stderr] Checking bytemuck v1.15.0 [INFO] [stderr] Checking wasm-bindgen v0.2.92 [INFO] [stderr] Checking bv v0.11.1 [INFO] [stderr] Checking im v15.1.0 [INFO] [stderr] Checking serde_bytes v0.11.14 [INFO] [stderr] Checking serde_json v1.0.115 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking crypto-mac v0.8.0 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking block-buffer v0.9.0 [INFO] [stderr] Checking sha2 v0.9.9 [INFO] [stderr] Checking hmac v0.8.1 [INFO] [stderr] Checking pbkdf2 v0.4.0 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking curve25519-dalek v3.2.1 [INFO] [stderr] Checking hmac-drbg v0.3.0 [INFO] [stderr] Checking sha2 v0.10.8 [INFO] [stderr] Checking sha3 v0.10.8 [INFO] [stderr] Checking tiny-bip39 v0.8.2 [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/blake3.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | std::{convert::TryFrom, fmt, mem, str::FromStr}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/9ae1860851f3fbc1435a1698e572252c0076f413/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `HashMap` is imported redundantly [INFO] [stdout] --> src/borsh.rs:119:15 [INFO] [stdout] | [INFO] [stdout] 117 | super::*, [INFO] [stdout] | -------- the item `HashMap` is already imported here [INFO] [stdout] 118 | borsh::{maybestd::io::ErrorKind, BorshSchema, BorshSerialize}, [INFO] [stdout] 119 | std::{collections::HashMap, mem::size_of}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Vec` is imported redundantly [INFO] [stdout] --> src/entrypoint.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | alloc::vec::Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/9ae1860851f3fbc1435a1698e572252c0076f413/library/std/src/prelude/mod.rs:125:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `Vec` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Vec` is imported redundantly [INFO] [stdout] --> src/entrypoint_deprecated.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | alloc::vec::Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/9ae1860851f3fbc1435a1698e572252c0076f413/library/std/src/prelude/mod.rs:125:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `Vec` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Slot` is imported redundantly [INFO] [stdout] --> src/feature.rs:62:20 [INFO] [stdout] | [INFO] [stdout] 62 | use {super::*, solana_program::clock::Slot}; [INFO] [stdout] | -------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | the item `Slot` is already imported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/hash.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | std::{convert::TryFrom, fmt, mem, str::FromStr}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/9ae1860851f3fbc1435a1698e572252c0076f413/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/keccak.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | std::{convert::TryFrom, fmt, mem, str::FromStr}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/9ae1860851f3fbc1435a1698e572252c0076f413/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/message/legacy.rs:25:11 [INFO] [stdout] | [INFO] [stdout] 25 | std::{convert::TryFrom, str::FromStr}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/9ae1860851f3fbc1435a1698e572252c0076f413/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/message/sanitized.rs:18:24 [INFO] [stdout] | [INFO] [stdout] 18 | std::{borrow::Cow, convert::TryFrom}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/9ae1860851f3fbc1435a1698e572252c0076f413/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `v0` is imported redundantly [INFO] [stdout] --> src/message/sanitized.rs:342:20 [INFO] [stdout] | [INFO] [stdout] 342 | use {super::*, crate::message::v0, std::collections::HashSet}; [INFO] [stdout] | -------- ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | the item `v0` is already imported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `MessageAddressTableLookup` is imported redundantly [INFO] [stdout] --> src/message/versions/mod.rs:297:13 [INFO] [stdout] | [INFO] [stdout] 294 | super::*, [INFO] [stdout] | -------- the item `MessageAddressTableLookup` is already imported here [INFO] [stdout] ... [INFO] [stdout] 297 | message::v0::MessageAddressTableLookup, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Pubkey` is imported redundantly [INFO] [stdout] --> src/nonce/state/mod.rs:118:48 [INFO] [stdout] | [INFO] [stdout] 117 | super::*, [INFO] [stdout] | -------- the item `Pubkey` is already imported here [INFO] [stdout] 118 | crate::{fee_calculator::FeeCalculator, pubkey::Pubkey}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/program_error.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | std::convert::TryFrom, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/9ae1860851f3fbc1435a1698e572252c0076f413/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/pubkey.rs:10:31 [INFO] [stdout] | [INFO] [stdout] 10 | convert::{Infallible, TryFrom}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] --> /rustc/9ae1860851f3fbc1435a1698e572252c0076f413/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/secp256k1_recover.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | core::convert::TryFrom, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/9ae1860851f3fbc1435a1698e572252c0076f413/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/short_vec.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | std::{convert::TryFrom, fmt, marker::PhantomData}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/9ae1860851f3fbc1435a1698e572252c0076f413/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `FromIterator` is imported redundantly [INFO] [stdout] --> src/slot_hashes.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | iter::FromIterator, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/9ae1860851f3fbc1435a1698e572252c0076f413/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `FromIterator` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Instruction` is imported redundantly [INFO] [stdout] --> src/system_instruction.rs:974:30 [INFO] [stdout] | [INFO] [stdout] 973 | super::*, [INFO] [stdout] | -------- the item `Instruction` is already imported here [INFO] [stdout] 974 | crate::instruction::{Instruction, InstructionError}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `InstructionError` is imported redundantly [INFO] [stdout] --> src/system_instruction.rs:974:43 [INFO] [stdout] | [INFO] [stdout] 973 | super::*, [INFO] [stdout] | -------- the item `InstructionError` is already imported here [INFO] [stdout] 974 | crate::instruction::{Instruction, InstructionError}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `AccountMeta` is imported redundantly [INFO] [stdout] --> src/sysvar/instructions.rs:240:13 [INFO] [stdout] | [INFO] [stdout] 238 | super::*, [INFO] [stdout] | -------- the item `AccountMeta` is already imported here [INFO] [stdout] 239 | crate::{ [INFO] [stdout] 240 | instruction::AccountMeta, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Pubkey` is imported redundantly [INFO] [stdout] --> src/sysvar/instructions.rs:242:13 [INFO] [stdout] | [INFO] [stdout] 238 | super::*, [INFO] [stdout] | -------- the item `Pubkey` is already imported here [INFO] [stdout] ... [INFO] [stdout] 242 | pubkey::Pubkey, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/sysvar/instructions.rs:244:9 [INFO] [stdout] | [INFO] [stdout] 244 | std::convert::TryFrom, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/9ae1860851f3fbc1435a1698e572252c0076f413/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `FromIterator` is imported redundantly [INFO] [stdout] --> src/sysvar/recent_blockhashes.rs:7:51 [INFO] [stdout] | [INFO] [stdout] 7 | std::{cmp::Ordering, collections::BinaryHeap, iter::FromIterator, ops::Deref}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/9ae1860851f3fbc1435a1698e572252c0076f413/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `FromIterator` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `ProgramError` is imported redundantly [INFO] [stdout] --> src/sysvar/mod.rs:157:31 [INFO] [stdout] | [INFO] [stdout] 156 | super::*, [INFO] [stdout] | -------- the item `ProgramError` is already imported here [INFO] [stdout] 157 | crate::{clock::Epoch, program_error::ProgramError, pubkey::Pubkey}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Pubkey` is imported redundantly [INFO] [stdout] --> src/sysvar/mod.rs:157:60 [INFO] [stdout] | [INFO] [stdout] 156 | super::*, [INFO] [stdout] | -------- the item `Pubkey` is already imported here [INFO] [stdout] 157 | crate::{clock::Epoch, program_error::ProgramError, pubkey::Pubkey}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `unchecked_div_by_const` is imported redundantly [INFO] [stdout] --> src/lib.rs:866:9 [INFO] [stdout] | [INFO] [stdout] 820 | / macro_rules! unchecked_div_by_const { [INFO] [stdout] 821 | | ($num:expr, $den:expr) => {{ [INFO] [stdout] 822 | | // Ensure the denominator is compile-time constant [INFO] [stdout] 823 | | let _ = [(); ($den - $den) as usize]; [INFO] [stdout] ... | [INFO] [stdout] 833 | | }}; [INFO] [stdout] 834 | | } [INFO] [stdout] | |_- the item `unchecked_div_by_const` is already defined here [INFO] [stdout] ... [INFO] [stdout] 866 | use super::unchecked_div_by_const; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to unsafe function `std::ptr::const_ptr::::offset` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/account_info.rs:85:37 [INFO] [stdout] | [INFO] [stdout] 85 | let original_data_len_ptr = key_ptr.offset(-4) as *const u32; [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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/account_info.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | pub unsafe fn original_data_len(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] = help: to override `--force-warn rust-2024-compatibility` add `#[allow(unsafe_op_in_unsafe_fn)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/account_info.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | *original_data_len_ptr 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:240:23 [INFO] [stdout] | [INFO] [stdout] 240 | let mut pos = *pos_ptr; [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/entrypoint.rs:237:5 [INFO] [stdout] | [INFO] [stdout] 237 | unsafe fn alloc(&self, layout: Layout) -> *mut u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:250:9 [INFO] [stdout] | [INFO] [stdout] 250 | *pos_ptr = pos; [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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:280:24 [INFO] [stdout] | [INFO] [stdout] 280 | 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/entrypoint.rs:274:1 [INFO] [stdout] | [INFO] [stdout] 274 | pub unsafe fn deserialize<'a>(input: *mut u8) -> (&'a Pubkey, Vec>, &'a [u8]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:280:26 [INFO] [stdout] | [INFO] [stdout] 280 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:287:24 [INFO] [stdout] | [INFO] [stdout] 287 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:287:26 [INFO] [stdout] | [INFO] [stdout] 287 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:291:29 [INFO] [stdout] | [INFO] [stdout] 291 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:291:31 [INFO] [stdout] | [INFO] [stdout] 291 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:295:31 [INFO] [stdout] | [INFO] [stdout] 295 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:295:33 [INFO] [stdout] | [INFO] [stdout] 295 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:299:30 [INFO] [stdout] | [INFO] [stdout] 299 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:299:32 [INFO] [stdout] | [INFO] [stdout] 299 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:308:33 [INFO] [stdout] | [INFO] [stdout] 308 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:308:35 [INFO] [stdout] | [INFO] [stdout] 308 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:311:35 [INFO] [stdout] | [INFO] [stdout] 311 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:311:37 [INFO] [stdout] | [INFO] [stdout] 311 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:315:54 [INFO] [stdout] | [INFO] [stdout] 315 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:315:56 [INFO] [stdout] | [INFO] [stdout] 315 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:319:28 [INFO] [stdout] | [INFO] [stdout] 319 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:319:30 [INFO] [stdout] | [INFO] [stdout] 319 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:324:13 [INFO] [stdout] | [INFO] [stdout] 324 | *(input.add(original_data_len_offset) as *mut u32) = data_len as u32; [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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:324:15 [INFO] [stdout] | [INFO] [stdout] 324 | *(input.add(original_data_len_offset) as *mut u32) = data_len as u32; [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: call to unsafe function `std::slice::from_raw_parts_mut` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:327:17 [INFO] [stdout] | [INFO] [stdout] 327 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:327:36 [INFO] [stdout] | [INFO] [stdout] 327 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:333:30 [INFO] [stdout] | [INFO] [stdout] 333 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:333:32 [INFO] [stdout] | [INFO] [stdout] 333 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:357:32 [INFO] [stdout] | [INFO] [stdout] 357 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:357:34 [INFO] [stdout] | [INFO] [stdout] 357 | 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: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:360:30 [INFO] [stdout] | [INFO] [stdout] 360 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:360:45 [INFO] [stdout] | [INFO] [stdout] 360 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:365:32 [INFO] [stdout] | [INFO] [stdout] 365 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:365:34 [INFO] [stdout] | [INFO] [stdout] 365 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:70:24 [INFO] [stdout] | [INFO] [stdout] 70 | 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/entrypoint_deprecated.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | pub unsafe fn deserialize<'a>(input: *mut u8) -> (&'a Pubkey, Vec>, &'a [u8]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:70:26 [INFO] [stdout] | [INFO] [stdout] 70 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:77:24 [INFO] [stdout] | [INFO] [stdout] 77 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:77:26 [INFO] [stdout] | [INFO] [stdout] 77 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:81:29 [INFO] [stdout] | [INFO] [stdout] 81 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:81:31 [INFO] [stdout] | [INFO] [stdout] 81 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:85:31 [INFO] [stdout] | [INFO] [stdout] 85 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:85:33 [INFO] [stdout] | [INFO] [stdout] 85 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:88:33 [INFO] [stdout] | [INFO] [stdout] 88 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:88:35 [INFO] [stdout] | [INFO] [stdout] 88 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:92:54 [INFO] [stdout] | [INFO] [stdout] 92 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:92:56 [INFO] [stdout] | [INFO] [stdout] 92 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:96:28 [INFO] [stdout] | [INFO] [stdout] 96 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:96:30 [INFO] [stdout] | [INFO] [stdout] 96 | 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: call to unsafe function `std::slice::from_raw_parts_mut` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:100:17 [INFO] [stdout] | [INFO] [stdout] 100 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:100:36 [INFO] [stdout] | [INFO] [stdout] 100 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:104:35 [INFO] [stdout] | [INFO] [stdout] 104 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:104:37 [INFO] [stdout] | [INFO] [stdout] 104 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:108:30 [INFO] [stdout] | [INFO] [stdout] 108 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:108:32 [INFO] [stdout] | [INFO] [stdout] 108 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:112:30 [INFO] [stdout] | [INFO] [stdout] 112 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:112:32 [INFO] [stdout] | [INFO] [stdout] 112 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:134:32 [INFO] [stdout] | [INFO] [stdout] 134 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:134:34 [INFO] [stdout] | [INFO] [stdout] 134 | 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: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:137:30 [INFO] [stdout] | [INFO] [stdout] 137 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:137:45 [INFO] [stdout] | [INFO] [stdout] 137 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:142:32 [INFO] [stdout] | [INFO] [stdout] 142 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:142:34 [INFO] [stdout] | [INFO] [stdout] 142 | 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: variable does not need to be mutable [INFO] [stdout] --> src/message/compiled_keys.rs:43:17 [INFO] [stdout] | [INFO] [stdout] 43 | let mut meta = key_meta_map.entry(ix.program_id).or_default(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/message/compiled_keys.rs:52:17 [INFO] [stdout] | [INFO] [stdout] 52 | let mut meta = key_meta_map.entry(*payer).or_default(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to unsafe function `std::intrinsics::copy_nonoverlapping` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/program_stubs.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | std::ptr::copy_nonoverlapping(src, dst, n 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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/program_stubs.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | unsafe fn sol_memcpy(&self, dst: *mut u8, src: *const u8, n: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to unsafe function `std::intrinsics::copy` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/program_stubs.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 64 | std::ptr::copy(src, dst, n 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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/program_stubs.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | unsafe fn sol_memmove(&self, dst: *mut u8, src: *const u8, n: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/program_stubs.rs:70:21 [INFO] [stdout] | [INFO] [stdout] 70 | let a = *s1.add(i); [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/program_stubs.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | unsafe fn sol_memcmp(&self, s1: *const u8, s2: *const u8, n: usize, result: *mut i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/program_stubs.rs:70:22 [INFO] [stdout] | [INFO] [stdout] 70 | let a = *s1.add(i); [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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/program_stubs.rs:71:21 [INFO] [stdout] | [INFO] [stdout] 71 | let b = *s2.add(i); [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: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/program_stubs.rs:71:22 [INFO] [stdout] | [INFO] [stdout] 71 | let b = *s2.add(i); [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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/program_stubs.rs:73:17 [INFO] [stdout] | [INFO] [stdout] 73 | *result = a as i32 - b as i32; [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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/program_stubs.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | *result = 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: call to unsafe function `std::slice::from_raw_parts_mut` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/program_stubs.rs:82:17 [INFO] [stdout] | [INFO] [stdout] 82 | let s = std::slice::from_raw_parts_mut(s, n); [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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/program_stubs.rs:81:5 [INFO] [stdout] | [INFO] [stdout] 81 | unsafe fn sol_memset(&self, s: *mut u8, c: u8, n: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/borsh.rs:125:16 [INFO] [stdout] | [INFO] [stdout] 122 | #[derive(PartialEq, Eq, Clone, Debug, BorshSerialize, BorshDeserialize, BorshSchema)] [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 125 | Number(u32), [INFO] [stdout] | ^^^ [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] 125 | Number(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: assigning to `&T` is undefined behavior, consider using an `UnsafeCell` [INFO] [stdout] --> src/account_info.rs:187:13 [INFO] [stdout] | [INFO] [stdout] 187 | / std::ptr::write_volatile( [INFO] [stdout] 188 | | self.owner as *const Pubkey as *mut [u8; 32], [INFO] [stdout] 189 | | new_owner.to_bytes(), [INFO] [stdout] 190 | | ); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = note: for more information, visit [INFO] [stdout] = note: `#[deny(invalid_reference_casting)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 100 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `safecoin-program` (lib test) due to 2 previous errors; 100 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/blake3.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | std::{convert::TryFrom, fmt, mem, str::FromStr}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/9ae1860851f3fbc1435a1698e572252c0076f413/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Vec` is imported redundantly [INFO] [stdout] --> src/entrypoint.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | alloc::vec::Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/9ae1860851f3fbc1435a1698e572252c0076f413/library/std/src/prelude/mod.rs:125:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `Vec` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Vec` is imported redundantly [INFO] [stdout] --> src/entrypoint_deprecated.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | alloc::vec::Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/9ae1860851f3fbc1435a1698e572252c0076f413/library/std/src/prelude/mod.rs:125:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `Vec` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/hash.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | std::{convert::TryFrom, fmt, mem, str::FromStr}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/9ae1860851f3fbc1435a1698e572252c0076f413/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/keccak.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | std::{convert::TryFrom, fmt, mem, str::FromStr}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/9ae1860851f3fbc1435a1698e572252c0076f413/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/message/legacy.rs:25:11 [INFO] [stdout] | [INFO] [stdout] 25 | std::{convert::TryFrom, str::FromStr}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/9ae1860851f3fbc1435a1698e572252c0076f413/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/message/sanitized.rs:18:24 [INFO] [stdout] | [INFO] [stdout] 18 | std::{borrow::Cow, convert::TryFrom}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/9ae1860851f3fbc1435a1698e572252c0076f413/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/program_error.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | std::convert::TryFrom, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/9ae1860851f3fbc1435a1698e572252c0076f413/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/pubkey.rs:10:31 [INFO] [stdout] | [INFO] [stdout] 10 | convert::{Infallible, TryFrom}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] --> /rustc/9ae1860851f3fbc1435a1698e572252c0076f413/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/secp256k1_recover.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | core::convert::TryFrom, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/9ae1860851f3fbc1435a1698e572252c0076f413/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TryFrom` is imported redundantly [INFO] [stdout] --> src/short_vec.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | std::{convert::TryFrom, fmt, marker::PhantomData}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/9ae1860851f3fbc1435a1698e572252c0076f413/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryFrom` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `FromIterator` is imported redundantly [INFO] [stdout] --> src/slot_hashes.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | iter::FromIterator, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/9ae1860851f3fbc1435a1698e572252c0076f413/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `FromIterator` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `FromIterator` is imported redundantly [INFO] [stdout] --> src/sysvar/recent_blockhashes.rs:7:51 [INFO] [stdout] | [INFO] [stdout] 7 | std::{cmp::Ordering, collections::BinaryHeap, iter::FromIterator, ops::Deref}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/9ae1860851f3fbc1435a1698e572252c0076f413/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `FromIterator` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to unsafe function `std::ptr::const_ptr::::offset` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/account_info.rs:85:37 [INFO] [stdout] | [INFO] [stdout] 85 | let original_data_len_ptr = key_ptr.offset(-4) as *const u32; [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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/account_info.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | pub unsafe fn original_data_len(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] = help: to override `--force-warn rust-2024-compatibility` add `#[allow(unsafe_op_in_unsafe_fn)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/account_info.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | *original_data_len_ptr 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:240:23 [INFO] [stdout] | [INFO] [stdout] 240 | let mut pos = *pos_ptr; [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/entrypoint.rs:237:5 [INFO] [stdout] | [INFO] [stdout] 237 | unsafe fn alloc(&self, layout: Layout) -> *mut u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:250:9 [INFO] [stdout] | [INFO] [stdout] 250 | *pos_ptr = pos; [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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:280:24 [INFO] [stdout] | [INFO] [stdout] 280 | 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/entrypoint.rs:274:1 [INFO] [stdout] | [INFO] [stdout] 274 | pub unsafe fn deserialize<'a>(input: *mut u8) -> (&'a Pubkey, Vec>, &'a [u8]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:280:26 [INFO] [stdout] | [INFO] [stdout] 280 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:287:24 [INFO] [stdout] | [INFO] [stdout] 287 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:287:26 [INFO] [stdout] | [INFO] [stdout] 287 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:291:29 [INFO] [stdout] | [INFO] [stdout] 291 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:291:31 [INFO] [stdout] | [INFO] [stdout] 291 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:295:31 [INFO] [stdout] | [INFO] [stdout] 295 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:295:33 [INFO] [stdout] | [INFO] [stdout] 295 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:299:30 [INFO] [stdout] | [INFO] [stdout] 299 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:299:32 [INFO] [stdout] | [INFO] [stdout] 299 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:308:33 [INFO] [stdout] | [INFO] [stdout] 308 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:308:35 [INFO] [stdout] | [INFO] [stdout] 308 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:311:35 [INFO] [stdout] | [INFO] [stdout] 311 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:311:37 [INFO] [stdout] | [INFO] [stdout] 311 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:315:54 [INFO] [stdout] | [INFO] [stdout] 315 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:315:56 [INFO] [stdout] | [INFO] [stdout] 315 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:319:28 [INFO] [stdout] | [INFO] [stdout] 319 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:319:30 [INFO] [stdout] | [INFO] [stdout] 319 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:324:13 [INFO] [stdout] | [INFO] [stdout] 324 | *(input.add(original_data_len_offset) as *mut u32) = data_len as u32; [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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:324:15 [INFO] [stdout] | [INFO] [stdout] 324 | *(input.add(original_data_len_offset) as *mut u32) = data_len as u32; [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: call to unsafe function `std::slice::from_raw_parts_mut` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:327:17 [INFO] [stdout] | [INFO] [stdout] 327 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:327:36 [INFO] [stdout] | [INFO] [stdout] 327 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:333:30 [INFO] [stdout] | [INFO] [stdout] 333 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:333:32 [INFO] [stdout] | [INFO] [stdout] 333 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:357:32 [INFO] [stdout] | [INFO] [stdout] 357 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:357:34 [INFO] [stdout] | [INFO] [stdout] 357 | 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: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:360:30 [INFO] [stdout] | [INFO] [stdout] 360 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:360:45 [INFO] [stdout] | [INFO] [stdout] 360 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:365:32 [INFO] [stdout] | [INFO] [stdout] 365 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint.rs:365:34 [INFO] [stdout] | [INFO] [stdout] 365 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:70:24 [INFO] [stdout] | [INFO] [stdout] 70 | 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/entrypoint_deprecated.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | pub unsafe fn deserialize<'a>(input: *mut u8) -> (&'a Pubkey, Vec>, &'a [u8]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:70:26 [INFO] [stdout] | [INFO] [stdout] 70 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:77:24 [INFO] [stdout] | [INFO] [stdout] 77 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:77:26 [INFO] [stdout] | [INFO] [stdout] 77 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:81:29 [INFO] [stdout] | [INFO] [stdout] 81 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:81:31 [INFO] [stdout] | [INFO] [stdout] 81 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:85:31 [INFO] [stdout] | [INFO] [stdout] 85 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:85:33 [INFO] [stdout] | [INFO] [stdout] 85 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:88:33 [INFO] [stdout] | [INFO] [stdout] 88 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:88:35 [INFO] [stdout] | [INFO] [stdout] 88 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:92:54 [INFO] [stdout] | [INFO] [stdout] 92 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:92:56 [INFO] [stdout] | [INFO] [stdout] 92 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:96:28 [INFO] [stdout] | [INFO] [stdout] 96 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:96:30 [INFO] [stdout] | [INFO] [stdout] 96 | 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: call to unsafe function `std::slice::from_raw_parts_mut` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:100:17 [INFO] [stdout] | [INFO] [stdout] 100 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:100:36 [INFO] [stdout] | [INFO] [stdout] 100 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:104:35 [INFO] [stdout] | [INFO] [stdout] 104 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:104:37 [INFO] [stdout] | [INFO] [stdout] 104 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:108:30 [INFO] [stdout] | [INFO] [stdout] 108 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:108:32 [INFO] [stdout] | [INFO] [stdout] 108 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:112:30 [INFO] [stdout] | [INFO] [stdout] 112 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:112:32 [INFO] [stdout] | [INFO] [stdout] 112 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:134:32 [INFO] [stdout] | [INFO] [stdout] 134 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:134:34 [INFO] [stdout] | [INFO] [stdout] 134 | 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: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:137:30 [INFO] [stdout] | [INFO] [stdout] 137 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:137:45 [INFO] [stdout] | [INFO] [stdout] 137 | 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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:142:32 [INFO] [stdout] | [INFO] [stdout] 142 | 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: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/entrypoint_deprecated.rs:142:34 [INFO] [stdout] | [INFO] [stdout] 142 | 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: variable does not need to be mutable [INFO] [stdout] --> src/message/compiled_keys.rs:43:17 [INFO] [stdout] | [INFO] [stdout] 43 | let mut meta = key_meta_map.entry(ix.program_id).or_default(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/message/compiled_keys.rs:52:17 [INFO] [stdout] | [INFO] [stdout] 52 | let mut meta = key_meta_map.entry(*payer).or_default(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to unsafe function `std::intrinsics::copy_nonoverlapping` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/program_stubs.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | std::ptr::copy_nonoverlapping(src, dst, n 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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/program_stubs.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | unsafe fn sol_memcpy(&self, dst: *mut u8, src: *const u8, n: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to unsafe function `std::intrinsics::copy` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/program_stubs.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 64 | std::ptr::copy(src, dst, n 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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/program_stubs.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | unsafe fn sol_memmove(&self, dst: *mut u8, src: *const u8, n: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `safecoin-program` (lib) due to 2 previous errors; 86 warnings emitted [INFO] [stdout] warning: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/program_stubs.rs:70:21 [INFO] [stdout] | [INFO] [stdout] 70 | let a = *s1.add(i); [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/program_stubs.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | unsafe fn sol_memcmp(&self, s1: *const u8, s2: *const u8, n: usize, result: *mut i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/program_stubs.rs:70:22 [INFO] [stdout] | [INFO] [stdout] 70 | let a = *s1.add(i); [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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/program_stubs.rs:71:21 [INFO] [stdout] | [INFO] [stdout] 71 | let b = *s2.add(i); [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: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/program_stubs.rs:71:22 [INFO] [stdout] | [INFO] [stdout] 71 | let b = *s2.add(i); [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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/program_stubs.rs:73:17 [INFO] [stdout] | [INFO] [stdout] 73 | *result = a as i32 - b as i32; [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: dereference of raw pointer is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/program_stubs.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | *result = 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: call to unsafe function `std::slice::from_raw_parts_mut` is unsafe and requires unsafe block (error E0133) [INFO] [stdout] --> src/program_stubs.rs:82:17 [INFO] [stdout] | [INFO] [stdout] 82 | let s = std::slice::from_raw_parts_mut(s, n); [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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/program_stubs.rs:81:5 [INFO] [stdout] | [INFO] [stdout] 81 | unsafe fn sol_memset(&self, s: *mut u8, c: u8, n: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: assigning to `&T` is undefined behavior, consider using an `UnsafeCell` [INFO] [stdout] --> src/account_info.rs:187:13 [INFO] [stdout] | [INFO] [stdout] 187 | / std::ptr::write_volatile( [INFO] [stdout] 188 | | self.owner as *const Pubkey as *mut [u8; 32], [INFO] [stdout] 189 | | new_owner.to_bytes(), [INFO] [stdout] 190 | | ); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = note: for more information, visit [INFO] [stdout] = note: `#[deny(invalid_reference_casting)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 86 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: failed to migrate to next edition [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo fix --edition --allow-no-vcs --allow-dirty --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "d0d69563811d2599f43be9a6b359380ffaf4a08e57766ecdc72ff06e325abe6f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d0d69563811d2599f43be9a6b359380ffaf4a08e57766ecdc72ff06e325abe6f", kill_on_drop: false }` [INFO] [stdout] d0d69563811d2599f43be9a6b359380ffaf4a08e57766ecdc72ff06e325abe6f