[INFO] fetching crate locutus-stdlib 0.0.3... [INFO] checking locutus-stdlib-0.0.3 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate locutus-stdlib 0.0.3 into /workspace/builds/worker-6-tc2/source [INFO] validating manifest of crates.io crate locutus-stdlib 0.0.3 on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate locutus-stdlib 0.0.3 [INFO] finished tweaking crates.io crate locutus-stdlib 0.0.3 [INFO] tweaked toml for crates.io crate locutus-stdlib 0.0.3 written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 282 packages to latest compatible versions [INFO] [stderr] Adding ahash v0.7.8 (available: v0.8.11) [INFO] [stderr] Adding base64 v0.13.1 (available: v0.22.1) [INFO] [stderr] Adding bitflags v1.3.2 (available: v2.6.0) [INFO] [stderr] Adding bs58 v0.4.0 (available: v0.5.1) [INFO] [stderr] Adding bytecheck v0.6.12 (available: v0.8.0) [INFO] [stderr] Adding bytecheck_derive v0.6.12 (available: v0.8.0) [INFO] [stderr] Adding cranelift-bforest v0.86.1 (available: v0.112.1) [INFO] [stderr] Adding cranelift-codegen v0.86.1 (available: v0.112.1) [INFO] [stderr] Adding cranelift-codegen-meta v0.86.1 (available: v0.112.1) [INFO] [stderr] Adding cranelift-codegen-shared v0.86.1 (available: v0.112.1) [INFO] [stderr] Adding cranelift-entity v0.86.1 (available: v0.112.1) [INFO] [stderr] Adding cranelift-frontend v0.86.1 (available: v0.112.1) [INFO] [stderr] Adding cranelift-isle v0.86.1 (available: v0.112.1) [INFO] [stderr] Adding enum-iterator v0.7.0 (available: v2.1.0) [INFO] [stderr] Adding enum-iterator-derive v0.7.0 (available: v1.4.0) [INFO] [stderr] Adding fallible-iterator v0.2.0 (available: v0.3.0) [INFO] [stderr] Adding generic-array v0.14.7 (available: v1.1.0) [INFO] [stderr] Adding gimli v0.26.2 (available: v0.31.0) [INFO] [stderr] Adding hashbrown v0.12.3 (available: v0.14.5) [INFO] [stderr] Adding heck v0.3.3 (available: v0.5.0) [INFO] [stderr] Adding hermit-abi v0.3.9 (available: v0.4.0) [INFO] [stderr] Adding http v0.2.12 (available: v1.1.0) [INFO] [stderr] Adding idna v0.5.0 (available: v1.0.2) [INFO] [stderr] Adding indexmap v1.9.3 (available: v2.5.0) [INFO] [stderr] Adding linux-raw-sys v0.4.14 (available: v0.6.5) [INFO] [stderr] Adding matchers v0.1.0 (available: v0.2.0) [INFO] [stderr] Adding memmap2 v0.5.10 (available: v0.9.5) [INFO] [stderr] Adding memoffset v0.6.5 (available: v0.9.1) [INFO] [stderr] Adding more-asserts v0.2.2 (available: v0.3.1) [INFO] [stderr] Adding nu-ansi-term v0.46.0 (available: v0.50.1) [INFO] [stderr] Adding ptr_meta v0.1.4 (available: v0.3.0) [INFO] [stderr] Adding ptr_meta_derive v0.1.4 (available: v0.3.0) [INFO] [stderr] Adding pulldown-cmark v0.8.0 (available: v0.12.1) [INFO] [stderr] Adding radium v0.7.0 (available: v1.1.0) [INFO] [stderr] Adding regalloc2 v0.3.2 (available: v0.10.2) [INFO] [stderr] Adding regex-automata v0.1.10 (available: v0.4.7) [INFO] [stderr] Adding regex-syntax v0.6.29 (available: v0.8.4) [INFO] [stderr] Adding rend v0.4.2 (available: v0.5.1) [INFO] [stderr] Adding rkyv v0.7.45 (available: v0.8.8) [INFO] [stderr] Adding rkyv_derive v0.7.45 (available: v0.8.8) [INFO] [stderr] Adding rustc_version v0.2.3 (available: v0.4.1) [INFO] [stderr] Adding semver v0.9.0 (available: v1.0.23) [INFO] [stderr] Adding semver-parser v0.7.0 (available: v0.10.2) [INFO] [stderr] Adding serde-wasm-bindgen v0.4.5 (available: v0.6.5) [INFO] [stderr] Adding serde_with v2.3.3 (available: v3.9.0) [INFO] [stderr] Adding serde_with_macros v2.3.3 (available: v3.9.0) [INFO] [stderr] Adding sha1 v0.6.1 (available: v0.10.6) [INFO] [stderr] Adding standback v0.2.17 (available: v0.4.4) [INFO] [stderr] Adding syn v1.0.109 (available: v2.0.77) [INFO] [stderr] Adding time v0.2.27 (available: v0.3.36) [INFO] [stderr] Adding time-macros v0.1.1 (available: v0.2.18) [INFO] [stderr] Adding tokio-tungstenite v0.18.0 (available: v0.24.0) [INFO] [stderr] Adding tungstenite v0.18.0 (available: v0.24.0) [INFO] [stderr] Adding unicode-width v0.1.14 (available: v0.2.0) [INFO] [stderr] Adding wasi v0.11.0+wasi-snapshot-preview1 (available: v0.13.2+wasi-0.2.1) [INFO] [stderr] Adding wasmer v3.1.1 (available: v3.3.0) [INFO] [stderr] Adding wasmer-compiler v3.1.1 (available: v3.3.0) [INFO] [stderr] Adding wasmer-compiler-cranelift v3.1.1 (available: v3.3.0) [INFO] [stderr] Adding wasmer-derive v3.1.1 (available: v3.3.0) [INFO] [stderr] Adding wasmer-types v3.1.1 (available: v3.3.0) [INFO] [stderr] Adding wasmer-vm v3.1.1 (available: v3.3.0) [INFO] [stderr] Adding wasmparser v0.83.0 (available: v0.217.0) [INFO] [stderr] Adding windows-core v0.52.0 (available: v0.58.0) [INFO] [stderr] Adding windows-sys v0.33.0 (available: v0.59.0) [INFO] [stderr] Adding windows-sys v0.52.0 (available: v0.59.0) [INFO] [stderr] Adding windows_aarch64_msvc v0.33.0 (available: v0.52.6) [INFO] [stderr] Adding windows_i686_gnu v0.33.0 (available: v0.52.6) [INFO] [stderr] Adding windows_i686_msvc v0.33.0 (available: v0.52.6) [INFO] [stderr] Adding windows_x86_64_gnu v0.33.0 (available: v0.52.6) [INFO] [stderr] Adding windows_x86_64_msvc v0.33.0 (available: v0.52.6) [INFO] [stderr] Adding wyz v0.5.1 (available: v0.6.1) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1d4efee4534205a4006f970afef9a2122cdd2f1f8124e119476274225c5d1e1b [INFO] running `Command { std: "docker" "start" "-a" "1d4efee4534205a4006f970afef9a2122cdd2f1f8124e119476274225c5d1e1b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1d4efee4534205a4006f970afef9a2122cdd2f1f8124e119476274225c5d1e1b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1d4efee4534205a4006f970afef9a2122cdd2f1f8124e119476274225c5d1e1b", kill_on_drop: false }` [INFO] [stdout] 1d4efee4534205a4006f970afef9a2122cdd2f1f8124e119476274225c5d1e1b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f6bfcf5439ae8884daced2e171ed3f9f79b289e80ba9b406f1b845ded0b3240c [INFO] running `Command { std: "docker" "start" "-a" "f6bfcf5439ae8884daced2e171ed3f9f79b289e80ba9b406f1b845ded0b3240c", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Fixed Cargo.toml (7 fixes) [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling pulldown-cmark v0.8.0 [INFO] [stderr] Compiling unicase v2.7.0 [INFO] [stderr] Compiling ahash v0.7.8 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling target-lexicon v0.12.16 [INFO] [stderr] Compiling cranelift-isle v0.86.1 [INFO] [stderr] Compiling rkyv v0.7.45 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling cranelift-codegen-shared v0.86.1 [INFO] [stderr] Compiling unicode-normalization v0.1.24 [INFO] [stderr] Compiling anyhow v1.0.89 [INFO] [stderr] Compiling darling_core v0.20.10 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking serde v1.0.210 [INFO] [stderr] Compiling cranelift-codegen-meta v0.86.1 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Compiling corosensei v0.1.4 [INFO] [stderr] Checking leb128 v0.2.5 [INFO] [stderr] Checking gimli v0.31.0 [INFO] [stderr] Compiling id-arena v2.2.1 [INFO] [stderr] Checking seahash v4.1.0 [INFO] [stderr] Checking miniz_oxide v0.8.0 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Checking object v0.36.4 [INFO] [stderr] Compiling standback v0.2.17 [INFO] [stderr] Checking stable_deref_trait v1.2.0 [INFO] [stderr] Checking hashbrown v0.12.3 [INFO] [stderr] Checking slice-group-by v0.3.1 [INFO] [stderr] Checking more-asserts v0.2.2 [INFO] [stderr] Checking cranelift-entity v0.86.1 [INFO] [stderr] Compiling proc-macro-hack v0.5.20+deprecated [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Compiling wasmer-wit-bindgen-gen-rust-wasm v0.1.1 [INFO] [stderr] Checking fallible-iterator v0.2.0 [INFO] [stderr] Compiling heck v0.3.3 [INFO] [stderr] Checking cranelift-bforest v0.86.1 [INFO] [stderr] Checking regalloc2 v0.3.2 [INFO] [stderr] Checking region v3.0.2 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Checking unicode-xid v0.2.6 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Checking wasm-encoder v0.217.0 [INFO] [stderr] Checking memmap2 v0.5.10 [INFO] [stderr] Checking wasmparser v0.83.0 [INFO] [stderr] Checking bumpalo v3.16.0 [INFO] [stderr] Checking gimli v0.26.2 [INFO] [stderr] Checking wasmer-wit-parser v0.1.1 [INFO] [stderr] Checking unicode-width v0.1.14 [INFO] [stderr] Compiling wasmer-compiler-cranelift v3.1.1 [INFO] [stderr] Checking either v1.13.0 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking wast v217.0.0 [INFO] [stderr] Compiling rustix v0.38.37 [INFO] [stderr] Checking futures-channel v0.3.30 [INFO] [stderr] Checking wasmer-wit-bindgen-gen-core v0.1.1 [INFO] [stderr] Checking wasmer-vfs v3.1.1 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling time v0.2.27 [INFO] [stderr] Checking linux-raw-sys v0.4.14 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking wasmer-wit-bindgen-gen-rust v0.1.1 [INFO] [stderr] Checking rmp v0.8.14 [INFO] [stderr] Checking addr2line v0.24.1 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Compiling async-trait v0.1.83 [INFO] [stderr] Compiling semver v1.0.23 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking wasmer-vnet v3.1.1 [INFO] [stderr] Checking filetime v0.2.25 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Compiling cranelift-codegen v0.86.1 [INFO] [stderr] Checking serde_json v1.0.128 [INFO] [stderr] Checking wasmer-wasi-local-networking v3.1.1 [INFO] [stderr] Compiling darling_macro v0.20.10 [INFO] [stderr] Checking tracing-subscriber v0.3.18 [INFO] [stderr] Checking blake2 v0.10.6 [INFO] [stderr] Checking serde_bytes v0.11.15 [INFO] [stderr] Compiling darling v0.20.10 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Compiling enumset_derive v0.10.0 [INFO] [stderr] Compiling serde_with_macros v2.3.3 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking rmp-serde v1.3.0 [INFO] [stderr] Checking arrayvec v0.7.6 [INFO] [stderr] Checking rmpv v1.3.0 [INFO] [stderr] Checking wasmer-vbus v3.1.1 [INFO] [stderr] Compiling derive_arbitrary v1.3.2 [INFO] [stderr] Checking generational-arena v0.2.9 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking bs58 v0.4.0 [INFO] [stderr] Checking backtrace v0.3.74 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking enumset v1.1.5 [INFO] [stderr] Checking xattr v1.3.1 [INFO] [stderr] Checking serde_with v2.3.3 [INFO] [stderr] Checking tar v0.4.42 [INFO] [stderr] Checking arbitrary v1.3.2 [INFO] [stderr] Compiling ptr_meta_derive v0.1.4 [INFO] [stderr] Compiling enum-iterator-derive v0.7.0 [INFO] [stderr] Compiling rkyv_derive v0.7.45 [INFO] [stderr] Compiling time-macros-impl v0.1.2 [INFO] [stderr] Compiling wasmer-wit-bindgen-rust-impl v0.1.1 [INFO] [stderr] Compiling wasmer-derive v3.1.1 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Compiling locutus-macros v0.0.3 [INFO] [stderr] Checking ptr_meta v0.1.4 [INFO] [stderr] Checking enum-iterator v0.7.0 [INFO] [stderr] Checking futures-executor v0.3.30 [INFO] [stderr] Checking futures v0.3.30 [INFO] [stderr] Checking time-macros v0.1.1 [INFO] [stderr] Checking wasmer-wit-bindgen-rust v0.1.1 [INFO] [stderr] Checking locutus-stdlib v0.0.3 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Checking wat v1.217.0 [INFO] [stderr] Checking wasmer-types v3.1.1 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `locutus_stdlib` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/contract_interface.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/contract_interface.rs:1642:21 [INFO] [stderr] | [INFO] [stderr] 1642 | ($value:ty: $kind:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: elided lifetime has a name [INFO] [stderr] --> src/contract_interface.rs:898:32 [INFO] [stderr] | [INFO] [stderr] 897 | impl<'a> From<&'a [u8]> for ContractCode<'a> { [INFO] [stderr] | -- lifetime `'a` declared here [INFO] [stderr] 898 | fn from(data: &'a [u8]) -> ContractCode { [INFO] [stderr] | ^^^^^^^^^^^^ this elided lifetime gets resolved as `'a` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error; 1 warning emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/contract_interface.rs:1702:17 [INFO] [stdout] | [INFO] [stdout] 1702 | let mut gen = arbitrary::Unstructured::new(&*RND_BYTES); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/contract_interface.rs:1703:37 [INFO] [stdout] | [INFO] [stdout] 1703 | let expected: ContractKey = gen.arbitrary()?; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/contract_interface.rs:1717:17 [INFO] [stdout] | [INFO] [stdout] 1717 | let mut gen = arbitrary::Unstructured::new(&*RND_BYTES); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/contract_interface.rs:1718:34 [INFO] [stdout] | [INFO] [stdout] 1718 | let expected: Contract = gen.arbitrary()?; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe attribute used without unsafe [INFO] [stdout] --> src/buf.rs:305:3 [INFO] [stdout] | [INFO] [stdout] 305 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123757 [INFO] [stdout] = note: `--force-warn unsafe-attr-outside-unsafe` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 305 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/contract_interface.rs:898:32 [INFO] [stdout] | [INFO] [stdout] 897 | impl<'a> From<&'a [u8]> for ContractCode<'a> { [INFO] [stdout] | -- lifetime `'a` declared here [INFO] [stdout] 898 | fn from(data: &'a [u8]) -> ContractCode { [INFO] [stdout] | ^^^^^^^^^^^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/contract_interface.rs:1642:27 [INFO] [stdout] | [INFO] [stdout] 1642 | ($value:ty: $kind:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 1642 | ($value:ty: $kind:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/buf.rs:41:34 [INFO] [stdout] | [INFO] [stdout] 41 | let read_ptr = Box::leak(Box::from_raw(self.last_read as *mut 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/buf.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | pub unsafe fn update_buffer(&mut self, data: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/buf.rs:42:35 [INFO] [stdout] | [INFO] [stdout] 42 | let write_ptr = Box::leak(Box::from_raw(self.last_write as *mut 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[E0133]: call to unsafe function `std::vec::Vec::::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/buf.rs:45:20 [INFO] [stdout] | [INFO] [stdout] 45 | let prev = Vec::from_raw_parts(self.start as *mut u8, *write_ptr as usize, self.capacity()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::read` is unsafe and requires unsafe block [INFO] [stdout] --> src/buf.rs:258:17 [INFO] [stdout] | [INFO] [stdout] 258 | let t = std::ptr::read(bytes.as_ptr() as *const T); [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/buf.rs:255:5 [INFO] [stdout] | [INFO] [stdout] 255 | pub unsafe fn read(&mut self) -> T { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/component_interface.rs:426:36 [INFO] [stdout] | [INFO] [stdout] 426 | let result = Box::leak(Box::from_raw(crate::buf::compute_ptr( [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 427 | | ptr as *mut Self, [INFO] [stdout] 428 | | mem, [INFO] [stdout] 429 | | ))); [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/component_interface.rs:425:9 [INFO] [stdout] | [INFO] [stdout] 425 | pub unsafe fn from_raw(ptr: i64, mem: &WasmLinearMem) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/component_interface.rs:458:30 [INFO] [stdout] | [INFO] [stdout] 458 | let serialized = std::slice::from_raw_parts(ptr as *const u8, self.size as _); [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/component_interface.rs:453:9 [INFO] [stdout] | [INFO] [stdout] 453 | / pub unsafe fn unwrap( [INFO] [stdout] 454 | | self, [INFO] [stdout] 455 | | mem: WasmLinearMem, [INFO] [stdout] 456 | | ) -> Result, ComponentError> { [INFO] [stdout] | |______________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/contract_interface.rs:1504:38 [INFO] [stdout] | [INFO] [stdout] 1504 | let serialized = std::slice::from_raw_parts(ptr as *const u8, self.size as _); [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/contract_interface.rs:1495:9 [INFO] [stdout] | [INFO] [stdout] 1495 | / pub unsafe fn unwrap_validate_state_res( [INFO] [stdout] 1496 | | self, [INFO] [stdout] 1497 | | mem: WasmLinearMem, [INFO] [stdout] 1498 | | ) -> Result { [INFO] [stdout] | |__________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/contract_interface.rs:1524:38 [INFO] [stdout] | [INFO] [stdout] 1524 | let serialized = std::slice::from_raw_parts(ptr as *const u8, self.size as _); [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/contract_interface.rs:1515:9 [INFO] [stdout] | [INFO] [stdout] 1515 | / pub unsafe fn unwrap_validate_delta_res( [INFO] [stdout] 1516 | | self, [INFO] [stdout] 1517 | | mem: WasmLinearMem, [INFO] [stdout] 1518 | | ) -> Result { [INFO] [stdout] | |________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/contract_interface.rs:1543:38 [INFO] [stdout] | [INFO] [stdout] 1543 | let serialized = std::slice::from_raw_parts(ptr as *const u8, self.size as _); [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/contract_interface.rs:1535:9 [INFO] [stdout] | [INFO] [stdout] 1535 | / pub unsafe fn unwrap_update_state( [INFO] [stdout] 1536 | | self, [INFO] [stdout] 1537 | | mem: WasmLinearMem, [INFO] [stdout] 1538 | | ) -> Result, ContractError> { [INFO] [stdout] | |_______________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/contract_interface.rs:1565:38 [INFO] [stdout] | [INFO] [stdout] 1565 | let serialized = std::slice::from_raw_parts(ptr as *const u8, self.size as _); [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/contract_interface.rs:1557:9 [INFO] [stdout] | [INFO] [stdout] 1557 | / pub unsafe fn unwrap_summarize_state( [INFO] [stdout] 1558 | | self, [INFO] [stdout] 1559 | | mem: WasmLinearMem, [INFO] [stdout] 1560 | | ) -> Result, ContractError> { [INFO] [stdout] | |_________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/contract_interface.rs:1587:38 [INFO] [stdout] | [INFO] [stdout] 1587 | let serialized = std::slice::from_raw_parts(ptr as *const u8, self.size as _); [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/contract_interface.rs:1579:9 [INFO] [stdout] | [INFO] [stdout] 1579 | / pub unsafe fn unwrap_get_state_delta( [INFO] [stdout] 1580 | | self, [INFO] [stdout] 1581 | | mem: WasmLinearMem, [INFO] [stdout] 1582 | | ) -> Result, ContractError> { [INFO] [stdout] | |_______________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/contract_interface.rs:1615:36 [INFO] [stdout] | [INFO] [stdout] 1615 | let result = Box::leak(Box::from_raw(crate::buf::compute_ptr( [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 1616 | | ptr as *mut Self, [INFO] [stdout] 1617 | | mem, [INFO] [stdout] 1618 | | ))); [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/contract_interface.rs:1614:9 [INFO] [stdout] | [INFO] [stdout] 1614 | pub unsafe fn from_raw(ptr: i64, mem: &WasmLinearMem) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/contract_interface.rs:1322:36 [INFO] [stdout] | [INFO] [stdout] 1322 | let mut contract_data = if let Ok(md) = contract_file.metadata() { [INFO] [stdout] | ^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/contract_interface.rs:1324:9 [INFO] [stdout] | [INFO] [stdout] 1324 | } else { [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1322 ~ let mut contract_data = match contract_file.metadata() { Ok(md) => { [INFO] [stdout] 1323 | Vec::with_capacity(md.len() as usize) [INFO] [stdout] 1324 ~ } _ => { [INFO] [stdout] 1325 | Vec::new() [INFO] [stdout] 1326 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/versioning.rs:30:36 [INFO] [stdout] | [INFO] [stdout] 30 | let mut contract_data = if let Ok(md) = contract_file.metadata() { [INFO] [stdout] | ^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/versioning.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 30 ~ let mut contract_data = match contract_file.metadata() { Ok(md) => { [INFO] [stdout] 31 | Vec::with_capacity(md.len() as usize) [INFO] [stdout] 32 ~ } _ => { [INFO] [stdout] 33 | Vec::new() [INFO] [stdout] 34 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] Checking wasmer-vm v3.1.1 [INFO] [stderr] Checking wasmer-compiler v3.1.1 [INFO] [stderr] Checking cranelift-frontend v0.86.1 [INFO] [stderr] Checking wasmer v3.1.1 [INFO] [stderr] Checking wasmer-wasi-types v3.1.1 [INFO] [stderr] Checking wasmer-wasi v3.1.1 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `locutus_stdlib` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/contract_interface.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/contract_interface.rs:1642:21 [INFO] [stderr] | [INFO] [stderr] 1642 | ($value:ty: $kind:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: elided lifetime has a name [INFO] [stderr] --> src/contract_interface.rs:898:32 [INFO] [stderr] | [INFO] [stderr] 897 | impl<'a> From<&'a [u8]> for ContractCode<'a> { [INFO] [stderr] | -- lifetime `'a` declared here [INFO] [stderr] 898 | fn from(data: &'a [u8]) -> ContractCode { [INFO] [stderr] | ^^^^^^^^^^^^ this elided lifetime gets resolved as `'a` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error; 1 warning emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/contract_interface.rs:1702:17 [INFO] [stdout] | [INFO] [stdout] 1702 | let mut gen = arbitrary::Unstructured::new(&*RND_BYTES); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/contract_interface.rs:1703:37 [INFO] [stdout] | [INFO] [stdout] 1703 | let expected: ContractKey = gen.arbitrary()?; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/contract_interface.rs:1717:17 [INFO] [stdout] | [INFO] [stdout] 1717 | let mut gen = arbitrary::Unstructured::new(&*RND_BYTES); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/contract_interface.rs:1718:34 [INFO] [stdout] | [INFO] [stdout] 1718 | let expected: Contract = gen.arbitrary()?; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe attribute used without unsafe [INFO] [stdout] --> src/buf.rs:305:3 [INFO] [stdout] | [INFO] [stdout] 305 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123757 [INFO] [stdout] = note: `--force-warn unsafe-attr-outside-unsafe` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 305 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/contract_interface.rs:898:32 [INFO] [stdout] | [INFO] [stdout] 897 | impl<'a> From<&'a [u8]> for ContractCode<'a> { [INFO] [stdout] | -- lifetime `'a` declared here [INFO] [stdout] 898 | fn from(data: &'a [u8]) -> ContractCode { [INFO] [stdout] | ^^^^^^^^^^^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/contract_interface.rs:1642:27 [INFO] [stdout] | [INFO] [stdout] 1642 | ($value:ty: $kind:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 1642 | ($value:ty: $kind:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/buf.rs:41:34 [INFO] [stdout] | [INFO] [stdout] 41 | let read_ptr = Box::leak(Box::from_raw(self.last_read as *mut 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/buf.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | pub unsafe fn update_buffer(&mut self, data: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/buf.rs:42:35 [INFO] [stdout] | [INFO] [stdout] 42 | let write_ptr = Box::leak(Box::from_raw(self.last_write as *mut 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[E0133]: call to unsafe function `std::vec::Vec::::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/buf.rs:45:20 [INFO] [stdout] | [INFO] [stdout] 45 | let prev = Vec::from_raw_parts(self.start as *mut u8, *write_ptr as usize, self.capacity()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::read` is unsafe and requires unsafe block [INFO] [stdout] --> src/buf.rs:258:17 [INFO] [stdout] | [INFO] [stdout] 258 | let t = std::ptr::read(bytes.as_ptr() as *const T); [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/buf.rs:255:5 [INFO] [stdout] | [INFO] [stdout] 255 | pub unsafe fn read(&mut self) -> T { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/component_interface.rs:426:36 [INFO] [stdout] | [INFO] [stdout] 426 | let result = Box::leak(Box::from_raw(crate::buf::compute_ptr( [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 427 | | ptr as *mut Self, [INFO] [stdout] 428 | | mem, [INFO] [stdout] 429 | | ))); [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/component_interface.rs:425:9 [INFO] [stdout] | [INFO] [stdout] 425 | pub unsafe fn from_raw(ptr: i64, mem: &WasmLinearMem) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/component_interface.rs:458:30 [INFO] [stdout] | [INFO] [stdout] 458 | let serialized = std::slice::from_raw_parts(ptr as *const u8, self.size as _); [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/component_interface.rs:453:9 [INFO] [stdout] | [INFO] [stdout] 453 | / pub unsafe fn unwrap( [INFO] [stdout] 454 | | self, [INFO] [stdout] 455 | | mem: WasmLinearMem, [INFO] [stdout] 456 | | ) -> Result, ComponentError> { [INFO] [stdout] | |______________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/contract_interface.rs:1504:38 [INFO] [stdout] | [INFO] [stdout] 1504 | let serialized = std::slice::from_raw_parts(ptr as *const u8, self.size as _); [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/contract_interface.rs:1495:9 [INFO] [stdout] | [INFO] [stdout] 1495 | / pub unsafe fn unwrap_validate_state_res( [INFO] [stdout] 1496 | | self, [INFO] [stdout] 1497 | | mem: WasmLinearMem, [INFO] [stdout] 1498 | | ) -> Result { [INFO] [stdout] | |__________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/contract_interface.rs:1524:38 [INFO] [stdout] | [INFO] [stdout] 1524 | let serialized = std::slice::from_raw_parts(ptr as *const u8, self.size as _); [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/contract_interface.rs:1515:9 [INFO] [stdout] | [INFO] [stdout] 1515 | / pub unsafe fn unwrap_validate_delta_res( [INFO] [stdout] 1516 | | self, [INFO] [stdout] 1517 | | mem: WasmLinearMem, [INFO] [stdout] 1518 | | ) -> Result { [INFO] [stdout] | |________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/contract_interface.rs:1543:38 [INFO] [stdout] | [INFO] [stdout] 1543 | let serialized = std::slice::from_raw_parts(ptr as *const u8, self.size as _); [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/contract_interface.rs:1535:9 [INFO] [stdout] | [INFO] [stdout] 1535 | / pub unsafe fn unwrap_update_state( [INFO] [stdout] 1536 | | self, [INFO] [stdout] 1537 | | mem: WasmLinearMem, [INFO] [stdout] 1538 | | ) -> Result, ContractError> { [INFO] [stdout] | |_______________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/contract_interface.rs:1565:38 [INFO] [stdout] | [INFO] [stdout] 1565 | let serialized = std::slice::from_raw_parts(ptr as *const u8, self.size as _); [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/contract_interface.rs:1557:9 [INFO] [stdout] | [INFO] [stdout] 1557 | / pub unsafe fn unwrap_summarize_state( [INFO] [stdout] 1558 | | self, [INFO] [stdout] 1559 | | mem: WasmLinearMem, [INFO] [stdout] 1560 | | ) -> Result, ContractError> { [INFO] [stdout] | |_________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/contract_interface.rs:1587:38 [INFO] [stdout] | [INFO] [stdout] 1587 | let serialized = std::slice::from_raw_parts(ptr as *const u8, self.size as _); [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/contract_interface.rs:1579:9 [INFO] [stdout] | [INFO] [stdout] 1579 | / pub unsafe fn unwrap_get_state_delta( [INFO] [stdout] 1580 | | self, [INFO] [stdout] 1581 | | mem: WasmLinearMem, [INFO] [stdout] 1582 | | ) -> Result, ContractError> { [INFO] [stdout] | |_______________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/contract_interface.rs:1615:36 [INFO] [stdout] | [INFO] [stdout] 1615 | let result = Box::leak(Box::from_raw(crate::buf::compute_ptr( [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 1616 | | ptr as *mut Self, [INFO] [stdout] 1617 | | mem, [INFO] [stdout] 1618 | | ))); [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/contract_interface.rs:1614:9 [INFO] [stdout] | [INFO] [stdout] 1614 | pub unsafe fn from_raw(ptr: i64, mem: &WasmLinearMem) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/contract_interface.rs:1322:36 [INFO] [stdout] | [INFO] [stdout] 1322 | let mut contract_data = if let Ok(md) = contract_file.metadata() { [INFO] [stdout] | ^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/contract_interface.rs:1324:9 [INFO] [stdout] | [INFO] [stdout] 1324 | } else { [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1322 ~ let mut contract_data = match contract_file.metadata() { Ok(md) => { [INFO] [stdout] 1323 | Vec::with_capacity(md.len() as usize) [INFO] [stdout] 1324 ~ } _ => { [INFO] [stdout] 1325 | Vec::new() [INFO] [stdout] 1326 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/versioning.rs:30:36 [INFO] [stdout] | [INFO] [stdout] 30 | let mut contract_data = if let Ok(md) = contract_file.metadata() { [INFO] [stdout] | ^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/versioning.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 30 ~ let mut contract_data = match contract_file.metadata() { Ok(md) => { [INFO] [stdout] 31 | Vec::with_capacity(md.len() as usize) [INFO] [stdout] 32 ~ } _ => { [INFO] [stdout] 33 | Vec::new() [INFO] [stdout] 34 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 23.43s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking locutus-stdlib v0.0.3 (/tmp/fixit) [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/contract_interface.rs:1702:17 [INFO] [stdout] | [INFO] [stdout] 1702 | let mut gen = arbitrary::Unstructured::new(&*RND_BYTES); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1702 | let mut r#gen = arbitrary::Unstructured::new(&*RND_BYTES); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/contract_interface.rs:1702:17 [INFO] [stdout] | [INFO] [stdout] 1702 | let mut gen = arbitrary::Unstructured::new(&*RND_BYTES); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1702 | let mut r#gen = arbitrary::Unstructured::new(&*RND_BYTES); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/contract_interface.rs:1703:37 [INFO] [stdout] | [INFO] [stdout] 1703 | let expected: ContractKey = gen.arbitrary()?; [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/contract_interface.rs:1703:37 [INFO] [stdout] | [INFO] [stdout] 1703 | let expected: ContractKey = gen.arbitrary()?; [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/contract_interface.rs:1717:17 [INFO] [stdout] | [INFO] [stdout] 1717 | let mut gen = arbitrary::Unstructured::new(&*RND_BYTES); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1717 | let mut r#gen = arbitrary::Unstructured::new(&*RND_BYTES); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/contract_interface.rs:1718:34 [INFO] [stdout] | [INFO] [stdout] 1718 | let expected: Contract = gen.arbitrary()?; [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/contract_interface.rs:1717:17 [INFO] [stdout] | [INFO] [stdout] 1717 | let mut gen = arbitrary::Unstructured::new(&*RND_BYTES); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 1717 | let mut r#gen = arbitrary::Unstructured::new(&*RND_BYTES); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/contract_interface.rs:1718:34 [INFO] [stdout] | [INFO] [stdout] 1718 | let expected: Contract = gen.arbitrary()?; [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unsafe attribute used without unsafe [INFO] [stdout] --> src/buf.rs:305:3 [INFO] [stdout] | [INFO] [stdout] 305 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 305 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unsafe attribute used without unsafe [INFO] [stdout] --> src/buf.rs:305:3 [INFO] [stdout] | [INFO] [stdout] 305 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 305 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/contract_interface.rs:898:32 [INFO] [stdout] | [INFO] [stdout] 897 | impl<'a> From<&'a [u8]> for ContractCode<'a> { [INFO] [stdout] | -- lifetime `'a` declared here [INFO] [stdout] 898 | fn from(data: &'a [u8]) -> ContractCode { [INFO] [stdout] | ^^^^^^^^^^^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/contract_interface.rs:898:32 [INFO] [stdout] | [INFO] [stdout] 897 | impl<'a> From<&'a [u8]> for ContractCode<'a> { [INFO] [stdout] | -- lifetime `'a` declared here [INFO] [stdout] 898 | fn from(data: &'a [u8]) -> ContractCode { [INFO] [stdout] | ^^^^^^^^^^^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/buf.rs:41:34 [INFO] [stdout] | [INFO] [stdout] 41 | let read_ptr = Box::leak(Box::from_raw(self.last_read as *mut 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/buf.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | pub unsafe fn update_buffer(&mut self, data: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/buf.rs:42:35 [INFO] [stdout] | [INFO] [stdout] 42 | let write_ptr = Box::leak(Box::from_raw(self.last_write as *mut 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[E0133]: call to unsafe function `std::vec::Vec::::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/buf.rs:45:20 [INFO] [stdout] | [INFO] [stdout] 45 | let prev = Vec::from_raw_parts(self.start as *mut u8, *write_ptr as usize, self.capacity()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::read` is unsafe and requires unsafe block [INFO] [stdout] --> src/buf.rs:258:17 [INFO] [stdout] | [INFO] [stdout] 258 | let t = std::ptr::read(bytes.as_ptr() as *const T); [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/buf.rs:255:5 [INFO] [stdout] | [INFO] [stdout] 255 | pub unsafe fn read(&mut self) -> T { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/buf.rs:41:34 [INFO] [stdout] | [INFO] [stdout] 41 | let read_ptr = Box::leak(Box::from_raw(self.last_read as *mut 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/buf.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | pub unsafe fn update_buffer(&mut self, data: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/buf.rs:42:35 [INFO] [stdout] | [INFO] [stdout] 42 | let write_ptr = Box::leak(Box::from_raw(self.last_write as *mut 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[E0133]: call to unsafe function `std::vec::Vec::::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/buf.rs:45:20 [INFO] [stdout] | [INFO] [stdout] 45 | let prev = Vec::from_raw_parts(self.start as *mut u8, *write_ptr as usize, self.capacity()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::read` is unsafe and requires unsafe block [INFO] [stdout] --> src/buf.rs:258:17 [INFO] [stdout] | [INFO] [stdout] 258 | let t = std::ptr::read(bytes.as_ptr() as *const T); [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/buf.rs:255:5 [INFO] [stdout] | [INFO] [stdout] 255 | pub unsafe fn read(&mut self) -> T { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/component_interface.rs:426:36 [INFO] [stdout] | [INFO] [stdout] 426 | let result = Box::leak(Box::from_raw(crate::buf::compute_ptr( [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 427 | | ptr as *mut Self, [INFO] [stdout] 428 | | mem, [INFO] [stdout] 429 | | ))); [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/component_interface.rs:425:9 [INFO] [stdout] | [INFO] [stdout] 425 | pub unsafe fn from_raw(ptr: i64, mem: &WasmLinearMem) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/component_interface.rs:458:30 [INFO] [stdout] | [INFO] [stdout] 458 | let serialized = std::slice::from_raw_parts(ptr as *const u8, self.size as _); [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/component_interface.rs:453:9 [INFO] [stdout] | [INFO] [stdout] 453 | / pub unsafe fn unwrap( [INFO] [stdout] 454 | | self, [INFO] [stdout] 455 | | mem: WasmLinearMem, [INFO] [stdout] 456 | | ) -> Result, ComponentError> { [INFO] [stdout] | |______________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/component_interface.rs:426:36 [INFO] [stdout] | [INFO] [stdout] 426 | let result = Box::leak(Box::from_raw(crate::buf::compute_ptr( [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 427 | | ptr as *mut Self, [INFO] [stdout] 428 | | mem, [INFO] [stdout] 429 | | ))); [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/component_interface.rs:425:9 [INFO] [stdout] | [INFO] [stdout] 425 | pub unsafe fn from_raw(ptr: i64, mem: &WasmLinearMem) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/component_interface.rs:458:30 [INFO] [stdout] | [INFO] [stdout] 458 | let serialized = std::slice::from_raw_parts(ptr as *const u8, self.size as _); [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/component_interface.rs:453:9 [INFO] [stdout] | [INFO] [stdout] 453 | / pub unsafe fn unwrap( [INFO] [stdout] 454 | | self, [INFO] [stdout] 455 | | mem: WasmLinearMem, [INFO] [stdout] 456 | | ) -> Result, ComponentError> { [INFO] [stdout] | |______________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/contract_interface.rs:1504:38 [INFO] [stdout] | [INFO] [stdout] 1504 | let serialized = std::slice::from_raw_parts(ptr as *const u8, self.size as _); [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/contract_interface.rs:1495:9 [INFO] [stdout] | [INFO] [stdout] 1495 | / pub unsafe fn unwrap_validate_state_res( [INFO] [stdout] 1496 | | self, [INFO] [stdout] 1497 | | mem: WasmLinearMem, [INFO] [stdout] 1498 | | ) -> Result { [INFO] [stdout] | |__________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/contract_interface.rs:1524:38 [INFO] [stdout] | [INFO] [stdout] 1524 | let serialized = std::slice::from_raw_parts(ptr as *const u8, self.size as _); [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/contract_interface.rs:1515:9 [INFO] [stdout] | [INFO] [stdout] 1515 | / pub unsafe fn unwrap_validate_delta_res( [INFO] [stdout] 1516 | | self, [INFO] [stdout] 1517 | | mem: WasmLinearMem, [INFO] [stdout] 1518 | | ) -> Result { [INFO] [stdout] | |________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/contract_interface.rs:1543:38 [INFO] [stdout] | [INFO] [stdout] 1543 | let serialized = std::slice::from_raw_parts(ptr as *const u8, self.size as _); [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/contract_interface.rs:1535:9 [INFO] [stdout] | [INFO] [stdout] 1535 | / pub unsafe fn unwrap_update_state( [INFO] [stdout] 1536 | | self, [INFO] [stdout] 1537 | | mem: WasmLinearMem, [INFO] [stdout] 1538 | | ) -> Result, ContractError> { [INFO] [stdout] | |_______________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/contract_interface.rs:1565:38 [INFO] [stdout] | [INFO] [stdout] 1565 | let serialized = std::slice::from_raw_parts(ptr as *const u8, self.size as _); [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/contract_interface.rs:1557:9 [INFO] [stdout] | [INFO] [stdout] 1557 | / pub unsafe fn unwrap_summarize_state( [INFO] [stdout] 1558 | | self, [INFO] [stdout] 1559 | | mem: WasmLinearMem, [INFO] [stdout] 1560 | | ) -> Result, ContractError> { [INFO] [stdout] | |_________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/contract_interface.rs:1587:38 [INFO] [stdout] | [INFO] [stdout] 1587 | let serialized = std::slice::from_raw_parts(ptr as *const u8, self.size as _); [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/contract_interface.rs:1579:9 [INFO] [stdout] | [INFO] [stdout] 1579 | / pub unsafe fn unwrap_get_state_delta( [INFO] [stdout] 1580 | | self, [INFO] [stdout] 1581 | | mem: WasmLinearMem, [INFO] [stdout] 1582 | | ) -> Result, ContractError> { [INFO] [stdout] | |_______________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/contract_interface.rs:1615:36 [INFO] [stdout] | [INFO] [stdout] 1615 | let result = Box::leak(Box::from_raw(crate::buf::compute_ptr( [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 1616 | | ptr as *mut Self, [INFO] [stdout] 1617 | | mem, [INFO] [stdout] 1618 | | ))); [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/contract_interface.rs:1614:9 [INFO] [stdout] | [INFO] [stdout] 1614 | pub unsafe fn from_raw(ptr: i64, mem: &WasmLinearMem) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 5 previous errors; 13 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `locutus-stdlib` (lib) due to 6 previous errors; 13 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/contract_interface.rs:1504:38 [INFO] [stdout] | [INFO] [stdout] 1504 | let serialized = std::slice::from_raw_parts(ptr as *const u8, self.size as _); [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/contract_interface.rs:1495:9 [INFO] [stdout] | [INFO] [stdout] 1495 | / pub unsafe fn unwrap_validate_state_res( [INFO] [stdout] 1496 | | self, [INFO] [stdout] 1497 | | mem: WasmLinearMem, [INFO] [stdout] 1498 | | ) -> Result { [INFO] [stdout] | |__________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/contract_interface.rs:1524:38 [INFO] [stdout] | [INFO] [stdout] 1524 | let serialized = std::slice::from_raw_parts(ptr as *const u8, self.size as _); [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/contract_interface.rs:1515:9 [INFO] [stdout] | [INFO] [stdout] 1515 | / pub unsafe fn unwrap_validate_delta_res( [INFO] [stdout] 1516 | | self, [INFO] [stdout] 1517 | | mem: WasmLinearMem, [INFO] [stdout] 1518 | | ) -> Result { [INFO] [stdout] | |________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/contract_interface.rs:1543:38 [INFO] [stdout] | [INFO] [stdout] 1543 | let serialized = std::slice::from_raw_parts(ptr as *const u8, self.size as _); [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/contract_interface.rs:1535:9 [INFO] [stdout] | [INFO] [stdout] 1535 | / pub unsafe fn unwrap_update_state( [INFO] [stdout] 1536 | | self, [INFO] [stdout] 1537 | | mem: WasmLinearMem, [INFO] [stdout] 1538 | | ) -> Result, ContractError> { [INFO] [stdout] | |_______________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/contract_interface.rs:1565:38 [INFO] [stdout] | [INFO] [stdout] 1565 | let serialized = std::slice::from_raw_parts(ptr as *const u8, self.size as _); [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/contract_interface.rs:1557:9 [INFO] [stdout] | [INFO] [stdout] 1557 | / pub unsafe fn unwrap_summarize_state( [INFO] [stdout] 1558 | | self, [INFO] [stdout] 1559 | | mem: WasmLinearMem, [INFO] [stdout] 1560 | | ) -> Result, ContractError> { [INFO] [stdout] | |_________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/contract_interface.rs:1587:38 [INFO] [stdout] | [INFO] [stdout] 1587 | let serialized = std::slice::from_raw_parts(ptr as *const u8, self.size as _); [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/contract_interface.rs:1579:9 [INFO] [stdout] | [INFO] [stdout] 1579 | / pub unsafe fn unwrap_get_state_delta( [INFO] [stdout] 1580 | | self, [INFO] [stdout] 1581 | | mem: WasmLinearMem, [INFO] [stdout] 1582 | | ) -> Result, ContractError> { [INFO] [stdout] | |_______________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/contract_interface.rs:1615:36 [INFO] [stdout] | [INFO] [stdout] 1615 | let result = Box::leak(Box::from_raw(crate::buf::compute_ptr( [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 1616 | | ptr as *mut Self, [INFO] [stdout] 1617 | | mem, [INFO] [stdout] 1618 | | ))); [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/contract_interface.rs:1614:9 [INFO] [stdout] | [INFO] [stdout] 1614 | pub unsafe fn from_raw(ptr: i64, mem: &WasmLinearMem) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 5 previous errors; 13 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `locutus-stdlib` (lib test) due to 6 previous errors; 13 warnings emitted [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "f6bfcf5439ae8884daced2e171ed3f9f79b289e80ba9b406f1b845ded0b3240c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f6bfcf5439ae8884daced2e171ed3f9f79b289e80ba9b406f1b845ded0b3240c", kill_on_drop: false }` [INFO] [stdout] f6bfcf5439ae8884daced2e171ed3f9f79b289e80ba9b406f1b845ded0b3240c