[INFO] fetching crate starlark 0.12.0... [INFO] checking starlark-0.12.0 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate starlark 0.12.0 into /workspace/builds/worker-2-tc2/source [INFO] validating manifest of crates.io crate starlark 0.12.0 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 starlark 0.12.0 [INFO] finished tweaking crates.io crate starlark 0.12.0 [INFO] tweaked toml for crates.io crate starlark 0.12.0 written to /workspace/builds/worker-2-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 161 packages to latest compatible versions [INFO] [stderr] Adding annotate-snippets v0.9.2 (available: v0.11.4) [INFO] [stderr] Adding bit-set v0.5.3 (available: v0.8.0) [INFO] [stderr] Adding bit-vec v0.6.3 (available: v0.8.0) [INFO] [stderr] Adding bitflags v1.3.2 (available: v2.6.0) [INFO] [stderr] Adding clipboard-win v4.5.0 (available: v5.4.0) [INFO] [stderr] Adding convert_case v0.4.0 (available: v0.6.0) [INFO] [stderr] Adding ctor v0.1.26 (available: v0.2.8) [INFO] [stderr] Adding derive_more v0.99.18 (available: v1.0.0) [INFO] [stderr] Adding endian-type v0.1.2 (available: v0.2.0) [INFO] [stderr] Adding erased-serde v0.3.31 (available: v0.4.5) [INFO] [stderr] Adding error-code v2.3.1 (available: v3.3.1) [INFO] [stderr] Adding fd-lock v3.0.13 (available: v4.0.2) [INFO] [stderr] Adding fixedbitset v0.4.2 (available: v0.5.7) [INFO] [stderr] Adding idna v0.5.0 (available: v1.0.2) [INFO] [stderr] Adding itertools v0.10.5 (available: v0.13.0) [INFO] [stderr] Adding lalrpop v0.19.12 (available: v0.21.0) [INFO] [stderr] Adding lalrpop-util v0.19.12 (available: v0.21.0) [INFO] [stderr] Adding linux-raw-sys v0.4.14 (available: v0.6.5) [INFO] [stderr] Adding logos v0.12.1 (available: v0.14.2) [INFO] [stderr] Adding logos-derive v0.12.1 (available: v0.14.2) [INFO] [stderr] Adding lsp-types v0.94.1 (available: v0.97.0) [INFO] [stderr] Adding memoffset v0.6.5 (available: v0.9.1) [INFO] [stderr] Adding nix v0.26.4 (available: v0.29.0) [INFO] [stderr] Adding phf_shared v0.10.0 (available: v0.11.2) [INFO] [stderr] Adding regex-syntax v0.6.29 (available: v0.8.4) [INFO] [stderr] Adding rustyline v11.0.0 (available: v14.0.0) [INFO] [stderr] Adding schemafy v0.5.2 (available: v0.6.0) [INFO] [stderr] Adding schemafy_core v0.5.2 (available: v0.6.0) [INFO] [stderr] Adding schemafy_lib v0.5.2 (available: v0.6.0) [INFO] [stderr] Adding siphasher v0.3.11 (available: v1.0.1) [INFO] [stderr] Adding str-buf v1.0.6 (available: v3.0.3) [INFO] [stderr] Adding strsim v0.10.0 (available: v0.11.1) [INFO] [stderr] Adding syn v1.0.109 (available: v2.0.77) [INFO] [stderr] Adding term v0.7.0 (available: v1.0.0) [INFO] [stderr] Adding textwrap v0.11.0 (available: v0.16.1) [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 windows-sys v0.48.0 (available: v0.59.0) [INFO] [stderr] Adding windows-sys v0.52.0 (available: v0.59.0) [INFO] [stderr] Adding windows-targets v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_aarch64_gnullvm v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_aarch64_msvc v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_i686_gnu v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_i686_msvc v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_x86_64_gnu v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_x86_64_gnullvm v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_x86_64_msvc v0.48.5 (available: v0.52.6) [INFO] 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-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 0bf02a6b31f869f50a5219c022d23d1075c522564030ccc3d06f27a5b9deed8f [INFO] running `Command { std: "docker" "start" "-a" "0bf02a6b31f869f50a5219c022d23d1075c522564030ccc3d06f27a5b9deed8f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0bf02a6b31f869f50a5219c022d23d1075c522564030ccc3d06f27a5b9deed8f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0bf02a6b31f869f50a5219c022d23d1075c522564030ccc3d06f27a5b9deed8f", kill_on_drop: false }` [INFO] [stdout] 0bf02a6b31f869f50a5219c022d23d1075c522564030ccc3d06f27a5b9deed8f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] f7ac90b86520e6050869336e3a53be678feb4665a3bbd8fb4c9a3270fe888694 [INFO] running `Command { std: "docker" "start" "-a" "f7ac90b86520e6050869336e3a53be678feb4665a3bbd8fb4c9a3270fe888694", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Compiling libc v0.2.159 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Checking serde v1.0.210 [INFO] [stderr] Compiling crunchy v0.2.2 [INFO] [stderr] Compiling tiny-keccak v2.0.2 [INFO] [stderr] Compiling regex-syntax v0.6.29 [INFO] [stderr] Compiling siphasher v0.3.11 [INFO] [stderr] Compiling phf_shared v0.10.0 [INFO] [stderr] Compiling dupe_derive v0.9.0 [INFO] [stderr] Compiling dirs-sys-next v0.1.2 [INFO] [stderr] Compiling dirs-next v2.0.0 [INFO] [stderr] Compiling term v0.7.0 [INFO] [stderr] Compiling parking_lot v0.12.3 [INFO] [stderr] Compiling regex-automata v0.4.7 [INFO] [stderr] Compiling fixedbitset v0.4.2 [INFO] [stderr] Compiling either v1.13.0 [INFO] [stderr] Compiling bit-vec v0.6.3 [INFO] [stderr] Compiling precomputed-hash v0.1.1 [INFO] [stderr] Compiling new_debug_unreachable v1.0.6 [INFO] [stderr] Compiling string_cache v0.8.7 [INFO] [stderr] Compiling ena v0.14.3 [INFO] [stderr] Compiling bit-set v0.5.3 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Checking ahash v0.8.11 [INFO] [stderr] Compiling petgraph v0.6.5 [INFO] [stderr] Compiling ascii-canvas v3.0.0 [INFO] [stderr] Compiling is-terminal v0.4.13 [INFO] [stderr] Compiling serde_repr v0.1.19 [INFO] [stderr] Compiling allocative v0.3.3 [INFO] [stderr] Compiling unicode-xid v0.2.6 [INFO] [stderr] Compiling diff v0.1.13 [INFO] [stderr] Checking serde_json v1.0.128 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Compiling allocative_derive v0.3.3 [INFO] [stderr] Checking bumpalo v3.16.0 [INFO] [stderr] Compiling starlark_map v0.12.0 [INFO] [stderr] Compiling beef v0.5.2 [INFO] [stderr] Compiling regex v1.10.6 [INFO] [stderr] Checking nibble_vec v0.1.0 [INFO] [stderr] Checking url v2.5.2 [INFO] [stderr] Compiling lalrpop-util v0.19.12 [INFO] [stderr] Compiling Inflector v0.11.4 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking dupe v0.9.0 [INFO] [stderr] Checking fxhash v0.2.1 [INFO] [stderr] Compiling lalrpop v0.19.12 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Checking endian-type v0.1.2 [INFO] [stderr] Checking radix_trie v0.2.1 [INFO] [stderr] Compiling derive_more v0.99.18 [INFO] [stderr] Compiling schemafy_core v0.5.2 [INFO] [stderr] Checking lsp-types v0.94.1 [INFO] [stderr] Compiling schemafy_lib v0.5.2 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking fd-lock v3.0.13 [INFO] [stderr] Checking annotate-snippets v0.9.2 [INFO] [stderr] Checking nix v0.26.4 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking utf8parse v0.2.2 [INFO] [stderr] Checking unicode-segmentation v1.12.0 [INFO] [stderr] Compiling starlark v0.12.0 (/tmp/fixit) [INFO] [stderr] Migrating build.rs from 2021 edition to 2024 [INFO] [stderr] Checking indenter v0.3.3 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Compiling ctor v0.1.26 [INFO] [stderr] Compiling logos-derive v0.12.1 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Compiling schemafy v0.5.2 [INFO] [stderr] Checking rustyline v11.0.0 [INFO] [stderr] Checking debugserver-types v0.5.0 [INFO] [stderr] Checking display_container v0.9.0 [INFO] [stderr] Compiling starlark_derive v0.12.0 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking erased-serde v0.3.31 [INFO] [stderr] Checking inventory v0.3.15 [INFO] [stderr] Checking maplit v1.0.2 [INFO] [stderr] Checking logos v0.12.1 [INFO] [stderr] Checking cmp_any v0.8.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling starlark_syntax v0.12.0 [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `starlark` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/cast.rs [INFO] [stderr] * src/hint.rs [INFO] [stderr] * src/lib.rs [INFO] [stderr] * src/values/frozen_ref.rs [INFO] [stderr] * src/values/layout/const_frozen_string.rs [INFO] [stderr] * src/values/layout/const_type_id.rs [INFO] [stderr] * src/values/starlark_type_id.rs [INFO] [stderr] * src/values/types/dict/refs.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/cast.rs:40:24 [INFO] [stderr] | [INFO] [stderr] 40 | ($from:ty, $to:ty, $e:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/values/layout/const_frozen_string.rs:21:6 [INFO] [stderr] | [INFO] [stderr] 21 | ($s: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: unexpected `cfg` condition name: `rust_nightly` [INFO] [stderr] --> src/lib.rs:396:13 [INFO] [stderr] | [INFO] [stderr] 396 | #![cfg_attr(rust_nightly, feature(const_type_id))] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `fmt_debug`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, and `windows` [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stderr] --> src/lib.rs:397:13 [INFO] [stderr] | [INFO] [stderr] 397 | #![cfg_attr(rust_nightly, feature(core_intrinsics))] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stderr] --> src/lib.rs:398:13 [INFO] [stderr] | [INFO] [stderr] 398 | #![cfg_attr(rust_nightly, feature(cfg_sanitize))] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stderr] --> src/lib.rs:399:13 [INFO] [stderr] | [INFO] [stderr] 399 | #![cfg_attr(rust_nightly, feature(const_type_name))] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: the feature `core_intrinsics` is internal to the compiler or standard library [INFO] [stderr] --> src/lib.rs:397:35 [INFO] [stderr] | [INFO] [stderr] 397 | #![cfg_attr(rust_nightly, feature(core_intrinsics))] [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: using it is strongly discouraged [INFO] [stderr] = note: `#[warn(internal_features)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stderr] --> src/hint.rs:18:7 [INFO] [stderr] | [INFO] [stderr] 18 | #[cfg(rust_nightly)] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stderr] --> src/hint.rs:20:7 [INFO] [stderr] | [INFO] [stderr] 20 | #[cfg(rust_nightly)] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stderr] --> src/hint.rs:23:11 [INFO] [stderr] | [INFO] [stderr] 23 | #[cfg(not(rust_nightly))] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stderr] --> src/hint.rs:29:11 [INFO] [stderr] | [INFO] [stderr] 29 | #[cfg(not(rust_nightly))] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: elided lifetime has a name [INFO] [stderr] --> src/values/frozen_ref.rs:65:55 [INFO] [stderr] | [INFO] [stderr] 64 | impl<'f, T: 'f + ?Sized> FrozenRef<'f, T> { [INFO] [stderr] | -- lifetime `'f` declared here [INFO] [stderr] 65 | pub(crate) const fn new(value: &'f T) -> FrozenRef { [INFO] [stderr] | ^ this elided lifetime gets resolved as `'f` [INFO] [stderr] | [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/eval/runtime/evaluator.rs:352:18 [INFO] [stdout] | [INFO] [stdout] 352 | .gen(self.heap(), HeapProfileFormat::Summary), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/eval/runtime/evaluator.rs:355:18 [INFO] [stdout] | [INFO] [stdout] 355 | .gen(self.heap(), HeapProfileFormat::FlameGraph), [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] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/eval/runtime/evaluator.rs:359:57 [INFO] [stdout] | [INFO] [stdout] 359 | ProfileMode::Statement => self.stmt_profile.gen(), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/eval/runtime/evaluator.rs:363:63 [INFO] [stdout] | [INFO] [stdout] 363 | ProfileMode::TimeFlame => self.time_flame_profile.gen(), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/values/layout/const_type_id.rs:32:11 [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/eval/runtime/evaluator.rs:364:62 [INFO] [stdout] | [INFO] [stdout] 364 | ProfileMode::Typecheck => self.typecheck_profile.gen(), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stderr] 32 | #[cfg(rust_nightly)] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stderr] --> src/values/layout/const_type_id.rs:34:15 [INFO] [stderr] | [INFO] [stderr] 34 | #[cfg(not(rust_nightly))] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stderr] --> src/values/layout/const_type_id.rs:64:19 [INFO] [stderr] | [INFO] [stderr] 64 | #[cfg(rust_nightly)] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stderr] --> src/values/layout/const_type_id.rs:66:23 [INFO] [stderr] | [INFO] [stderr] 66 | #[cfg(not(rust_nightly))] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stderr] --> src/values/layout/const_type_id.rs:73:15 [INFO] [stderr] | [INFO] [stderr] 73 | #[cfg(rust_nightly)] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stderr] --> src/values/layout/const_type_id.rs:75:19 [INFO] [stderr] | [INFO] [stderr] 75 | #[cfg(not(rust_nightly))] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stderr] --> src/values/starlark_type_id.rs:45:15 [INFO] [stderr] | [INFO] [stderr] 45 | #[cfg(rust_nightly)] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: elided lifetime has a name [INFO] [stderr] --> src/values/types/dict/refs.rs:73:55 [INFO] [stderr] | [INFO] [stderr] 70 | impl<'v> DictMut<'v> { [INFO] [stderr] | -- lifetime `'v` declared here [INFO] [stderr] ... [INFO] [stderr] 73 | pub fn from_value(x: Value<'v>) -> anyhow::Result { [INFO] [stderr] | ^^^^^^^ this elided lifetime gets resolved as `'v` [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors; 18 warnings 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/eval/runtime/profile/bc.rs:286:50 [INFO] [stdout] | [INFO] [stdout] 286 | let csv = eval.gen_bc_profile().unwrap().gen().unwrap(); [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/eval/runtime/profile/bc.rs:305:56 [INFO] [stdout] | [INFO] [stdout] 305 | let csv = eval.gen_bc_pairs_profile().unwrap().gen().unwrap(); [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/eval/runtime/profile/data.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn gen(&self) -> anyhow::Result { [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/eval/runtime/profile/data.rs:95:30 [INFO] [stdout] | [INFO] [stdout] 95 | fs::write(path, self.gen()?).with_context(|| { [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/eval/runtime/profile/heap.rs:87:19 [INFO] [stdout] | [INFO] [stdout] 87 | pub(crate) fn gen( [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/eval/runtime/profile/stmt.rs:186:19 [INFO] [stdout] | [INFO] [stdout] 186 | pub(crate) fn gen(&self) -> anyhow::Result { [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/eval/runtime/profile/time_flame.rs:244:19 [INFO] [stdout] | [INFO] [stdout] 244 | pub(crate) fn gen(&self) -> anyhow::Result { [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/eval/runtime/profile/time_flame.rs:335:51 [INFO] [stdout] | [INFO] [stdout] 335 | let profile = eval.gen_profile().unwrap().gen().unwrap(); [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/eval/runtime/profile/typecheck.rs:71:19 [INFO] [stdout] | [INFO] [stdout] 71 | pub(crate) fn gen(&self) -> anyhow::Result { [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/typing/user.rs:405:33 [INFO] [stdout] | [INFO] [stdout] 405 | TypeInstanceId::gen(), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/typing/user.rs:416:33 [INFO] [stdout] | [INFO] [stdout] 416 | TypeInstanceId::gen(), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/values/types/enumeration/enum_type.rs:184:34 [INFO] [stdout] | [INFO] [stdout] 184 | let id = TypeInstanceId::gen(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/values/types/enumeration/enum_type.rs:321:33 [INFO] [stdout] | [INFO] [stdout] 321 | TypeInstanceId::gen(), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/values/types/record/record_type.rs:166:33 [INFO] [stdout] | [INFO] [stdout] 166 | id: TypeInstanceId::gen(), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/values/types/record/record_type.rs:322:33 [INFO] [stdout] | [INFO] [stdout] 322 | TypeInstanceId::gen(), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/values/types/type_instance_id.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn gen() -> TypeInstanceId { [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: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] --> src/lib.rs:396:13 [INFO] [stdout] | [INFO] [stdout] 396 | #![cfg_attr(rust_nightly, feature(const_type_id))] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `fmt_debug`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, and `windows` [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] --> src/lib.rs:397:13 [INFO] [stdout] | [INFO] [stdout] 397 | #![cfg_attr(rust_nightly, feature(core_intrinsics))] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] --> src/lib.rs:398:13 [INFO] [stdout] | [INFO] [stdout] 398 | #![cfg_attr(rust_nightly, feature(cfg_sanitize))] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] --> src/lib.rs:399:13 [INFO] [stdout] | [INFO] [stdout] 399 | #![cfg_attr(rust_nightly, feature(const_type_name))] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `core_intrinsics` is internal to the compiler or standard library [INFO] [stdout] --> src/lib.rs:397:35 [INFO] [stdout] | [INFO] [stdout] 397 | #![cfg_attr(rust_nightly, feature(core_intrinsics))] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: using it is strongly discouraged [INFO] [stdout] = note: `#[warn(internal_features)]` 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/cast.rs:40:27 [INFO] [stdout] | [INFO] [stdout] 40 | ($from:ty, $to:ty, $e: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] 40 | ($from:ty, $to:ty, $e:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] --> src/hint.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | #[cfg(rust_nightly)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] --> src/hint.rs:20:7 [INFO] [stdout] | [INFO] [stdout] 20 | #[cfg(rust_nightly)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] --> src/hint.rs:23:11 [INFO] [stdout] | [INFO] [stdout] 23 | #[cfg(not(rust_nightly))] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] --> src/hint.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | #[cfg(not(rust_nightly))] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/values/frozen_ref.rs:65:55 [INFO] [stdout] | [INFO] [stdout] 64 | impl<'f, T: 'f + ?Sized> FrozenRef<'f, T> { [INFO] [stdout] | -- lifetime `'f` declared here [INFO] [stdout] 65 | pub(crate) const fn new(value: &'f T) -> FrozenRef { [INFO] [stdout] | ^ this elided lifetime gets resolved as `'f` [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/values/layout/const_frozen_string.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | ($s:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 21 | ($s:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] --> src/values/layout/const_type_id.rs:32:11 [INFO] [stdout] | [INFO] [stdout] 32 | #[cfg(rust_nightly)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] --> src/values/layout/const_type_id.rs:34:15 [INFO] [stdout] | [INFO] [stdout] 34 | #[cfg(not(rust_nightly))] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] --> src/values/layout/const_type_id.rs:64:19 [INFO] [stdout] | [INFO] [stdout] 64 | #[cfg(rust_nightly)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] --> src/values/layout/const_type_id.rs:66:23 [INFO] [stdout] | [INFO] [stdout] 66 | #[cfg(not(rust_nightly))] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] --> src/values/layout/const_type_id.rs:73:15 [INFO] [stdout] | [INFO] [stdout] 73 | #[cfg(rust_nightly)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] --> src/values/layout/const_type_id.rs:75:19 [INFO] [stdout] | [INFO] [stdout] 75 | #[cfg(not(rust_nightly))] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] --> src/values/starlark_type_id.rs:45:15 [INFO] [stdout] | [INFO] [stdout] 45 | #[cfg(rust_nightly)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/values/types/dict/refs.rs:73:55 [INFO] [stdout] | [INFO] [stdout] 70 | impl<'v> DictMut<'v> { [INFO] [stdout] | -- lifetime `'v` declared here [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn from_value(x: Value<'v>) -> anyhow::Result { [INFO] [stdout] | ^^^^^^^ this elided lifetime gets resolved as `'v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `eval::bc::instrs::::drop_in_place` is unsafe and requires unsafe block [INFO] [stdout] --> src/eval/bc/instrs.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | opcode.drop_in_place(ptr); [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/eval/bc/instrs.rs:71:1 [INFO] [stdout] | [INFO] [stdout] 71 | unsafe fn drop_instrs(instrs: &[u64]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::drop_in_place` is unsafe and requires unsafe block [INFO] [stdout] --> src/eval/compiler/def.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | ptr::drop_in_place(self.cell.get()); [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/eval/compiler/def.rs:130:5 [INFO] [stdout] | [INFO] [stdout] 130 | unsafe fn set(&self, value: Bc) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::write` is unsafe and requires unsafe block [INFO] [stdout] --> src/eval/compiler/def.rs:132:9 [INFO] [stdout] | [INFO] [stdout] 132 | ptr::write(self.cell.get(), value); [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 `values::layout::heap::heap_type::Heap::garbage_collect` is unsafe and requires unsafe block [INFO] [stdout] --> src/eval/runtime/evaluator.rs:727:9 [INFO] [stdout] | [INFO] [stdout] 727 | self.heap().garbage_collect(|tracer| self.trace(tracer)); [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/eval/runtime/evaluator.rs:713:5 [INFO] [stdout] | [INFO] [stdout] 713 | pub unsafe fn garbage_collect(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/cast.rs:29:6 [INFO] [stdout] | [INFO] [stdout] 29 | &*(x as *const T) [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/cast.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | pub(crate) unsafe fn usize_to_ptr<'a, T>(x: usize) -> &'a T { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/cast.rs:34:6 [INFO] [stdout] | [INFO] [stdout] 34 | &*(x as *const T) [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/cast.rs:33:1 [INFO] [stdout] | [INFO] [stdout] 33 | pub(crate) unsafe fn ptr_lifetime<'a, 'b, T: ?Sized>(x: &'a T) -> &'b T { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:282:13 [INFO] [stdout] | [INFO] [stdout] 282 | (*me).payload.1.len() > 1, [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/values/layout/avalue.rs:277:5 [INFO] [stdout] | [INFO] [stdout] 277 | / unsafe fn heap_freeze( [INFO] [stdout] 278 | | me: *mut AValueRepr, [INFO] [stdout] 279 | | freezer: &Freezer, [INFO] [stdout] 280 | | ) -> anyhow::Result { [INFO] [stdout] | |____________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:286:17 [INFO] [stdout] | [INFO] [stdout] 286 | let s = (*me).payload.1.as_str(); [INFO] [stdout] | ^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::heap::repr::AValueHeader::overwrite_with_forward` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:289:9 [INFO] [stdout] | [INFO] [stdout] 289 | AValueHeader::overwrite_with_forward::(me, ForwardPtr::new(fv.0.raw().ptr_value())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:295:13 [INFO] [stdout] | [INFO] [stdout] 295 | (*me).payload.1.len() > 1, [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/values/layout/avalue.rs:293:5 [INFO] [stdout] | [INFO] [stdout] 293 | unsafe fn heap_copy(me: *mut AValueRepr, tracer: &Tracer<'v>) -> Value<'v> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:299:17 [INFO] [stdout] | [INFO] [stdout] 299 | let s = (*me).payload.1.as_str(); [INFO] [stdout] | ^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::heap::repr::AValueHeader::overwrite_with_forward` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:302:9 [INFO] [stdout] | [INFO] [stdout] 302 | / AValueHeader::overwrite_with_forward::( [INFO] [stdout] 303 | | me, [INFO] [stdout] 304 | | ForwardPtr::new(v.0.raw().ptr_value() & !1), [INFO] [stdout] 305 | | ); [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:328:13 [INFO] [stdout] | [INFO] [stdout] 328 | (*me).payload.1.len() != 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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/values/layout/avalue.rs:323:5 [INFO] [stdout] | [INFO] [stdout] 323 | / unsafe fn heap_freeze( [INFO] [stdout] 324 | | me: *mut AValueRepr, [INFO] [stdout] 325 | | freezer: &Freezer, [INFO] [stdout] 326 | | ) -> anyhow::Result { [INFO] [stdout] | |____________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:333:23 [INFO] [stdout] | [INFO] [stdout] 333 | let content = (*me).payload.1.content(); [INFO] [stdout] | ^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::heap::repr::AValueHeader::overwrite_with_forward` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:337:9 [INFO] [stdout] | [INFO] [stdout] 337 | AValueHeader::overwrite_with_forward::(me, ForwardPtr::new(fv.0.raw().ptr_value())); [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 `values::types::tuple::value::TupleGen::::new` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:343:13 [INFO] [stdout] | [INFO] [stdout] 343 | FrozenTuple::new(content.len()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:352:13 [INFO] [stdout] | [INFO] [stdout] 352 | (*me).payload.1.len() != 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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/values/layout/avalue.rs:350:5 [INFO] [stdout] | [INFO] [stdout] 350 | unsafe fn heap_copy(me: *mut AValueRepr, tracer: &Tracer<'v>) -> Value<'v> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:357:23 [INFO] [stdout] | [INFO] [stdout] 357 | let content = (*me).payload.1.content_mut(); [INFO] [stdout] | ^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::heap::repr::AValueHeader::overwrite_with_forward` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:360:17 [INFO] [stdout] | [INFO] [stdout] 360 | let x = AValueHeader::overwrite_with_forward::( [INFO] [stdout] | _________________^ [INFO] [stdout] 361 | | me, [INFO] [stdout] 362 | | ForwardPtr::new(clear_lsb(v.0.raw().ptr_value())), [INFO] [stdout] 363 | | ); [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:418:23 [INFO] [stdout] | [INFO] [stdout] 418 | let content = (*me).payload.1.0.content(); [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/values/layout/avalue.rs:414:5 [INFO] [stdout] | [INFO] [stdout] 414 | / unsafe fn heap_freeze( [INFO] [stdout] 415 | | me: *mut AValueRepr, [INFO] [stdout] 416 | | freezer: &Freezer, [INFO] [stdout] 417 | | ) -> anyhow::Result { [INFO] [stdout] | |____________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::heap::repr::AValueHeader::overwrite_with_forward` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:422:13 [INFO] [stdout] | [INFO] [stdout] 422 | / AValueHeader::overwrite_with_forward::( [INFO] [stdout] 423 | | me, [INFO] [stdout] 424 | | ForwardPtr::new(fv.0.raw().ptr_value()), [INFO] [stdout] 425 | | ); [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 `values::layout::heap::repr::AValueHeader::overwrite_with_forward` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:431:9 [INFO] [stdout] | [INFO] [stdout] 431 | AValueHeader::overwrite_with_forward::(me, ForwardPtr::new(fv.0.raw().ptr_value())); [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 `values::types::list::value::FrozenListData::new` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:432:53 [INFO] [stdout] | [INFO] [stdout] 432 | r.fill(AValueImpl::::new(ListGen(FrozenListData::new( [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 433 | | content.len(), [INFO] [stdout] 434 | | )))); [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 `values::layout::avalue::AValueImpl::::heap_copy_impl` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:443:9 [INFO] [stdout] | [INFO] [stdout] 443 | Self::heap_copy_impl(me, tracer, Trace::trace) [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/values/layout/avalue.rs:442:5 [INFO] [stdout] | [INFO] [stdout] 442 | unsafe fn heap_copy(me: *mut AValueRepr, tracer: &Tracer<'v>) -> Value<'v> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:495:13 [INFO] [stdout] | [INFO] [stdout] 495 | (*me).payload.1.capacity() != 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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/values/layout/avalue.rs:493:5 [INFO] [stdout] | [INFO] [stdout] 493 | unsafe fn heap_copy(me: *mut AValueRepr, tracer: &Tracer<'v>) -> Value<'v> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:499:12 [INFO] [stdout] | [INFO] [stdout] 499 | if (*me).payload.1.len() == 0 { [INFO] [stdout] | ^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:504:23 [INFO] [stdout] | [INFO] [stdout] 504 | let content = (*me).payload.1.content_mut(); [INFO] [stdout] | ^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::heap::repr::AValueHeader::overwrite_with_forward` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:507:17 [INFO] [stdout] | [INFO] [stdout] 507 | let x = AValueHeader::overwrite_with_forward::( [INFO] [stdout] | _________________^ [INFO] [stdout] 508 | | me, [INFO] [stdout] 509 | | ForwardPtr::new(clear_lsb(v.0.raw().ptr_value())), [INFO] [stdout] 510 | | ); [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 `values::types::array::Array::<'v>::new` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:517:45 [INFO] [stdout] | [INFO] [stdout] 517 | r.fill(AValueImpl::::new(Array::new( [INFO] [stdout] | _____________________________________________^ [INFO] [stdout] 518 | | content.len() as u32, [INFO] [stdout] 519 | | content.len() as u32, [INFO] [stdout] 520 | | ))); [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 `values::layout::heap::repr::AValueHeader::overwrite_with_forward` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:561:17 [INFO] [stdout] | [INFO] [stdout] 561 | let x = AValueHeader::overwrite_with_forward::( [INFO] [stdout] | _________________^ [INFO] [stdout] 562 | | me, [INFO] [stdout] 563 | | ForwardPtr::new(fv.0.raw().ptr_value()), [INFO] [stdout] 564 | | ); [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/values/layout/avalue.rs:553:5 [INFO] [stdout] | [INFO] [stdout] 553 | / unsafe fn heap_freeze_simple_impl<'v>( [INFO] [stdout] 554 | | me: *mut AValueRepr, [INFO] [stdout] 555 | | freezer: &Freezer, [INFO] [stdout] 556 | | ) -> anyhow::Result [INFO] [stdout] 557 | | where [INFO] [stdout] 558 | | Self: AValue<'v, ExtraElem = ()>, [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::avalue::AValueImpl::::heap_freeze_simple_impl` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:587:9 [INFO] [stdout] | [INFO] [stdout] 587 | Self::heap_freeze_simple_impl(me, freezer) [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/values/layout/avalue.rs:583:5 [INFO] [stdout] | [INFO] [stdout] 583 | / unsafe fn heap_freeze( [INFO] [stdout] 584 | | me: *mut AValueRepr, [INFO] [stdout] 585 | | freezer: &Freezer, [INFO] [stdout] 586 | | ) -> anyhow::Result { [INFO] [stdout] | |____________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::avalue::AValueImpl::::heap_copy_impl` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:591:9 [INFO] [stdout] | [INFO] [stdout] 591 | Self::heap_copy_impl(me, tracer, |_v, _tracer| {}) [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/values/layout/avalue.rs:590:5 [INFO] [stdout] | [INFO] [stdout] 590 | unsafe fn heap_copy(me: *mut AValueRepr, tracer: &Tracer<'static>) -> Value<'static> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::heap::repr::AValueHeader::overwrite_with_forward` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:606:21 [INFO] [stdout] | [INFO] [stdout] 606 | let mut x = AValueHeader::overwrite_with_forward::( [INFO] [stdout] | _____________________^ [INFO] [stdout] 607 | | me, [INFO] [stdout] 608 | | ForwardPtr::new(clear_lsb(v.0.raw().ptr_value())), [INFO] [stdout] 609 | | ); [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/values/layout/avalue.rs:597:5 [INFO] [stdout] | [INFO] [stdout] 597 | / unsafe fn heap_copy_impl<'v>( [INFO] [stdout] 598 | | me: *mut AValueRepr, [INFO] [stdout] 599 | | tracer: &Tracer<'v>, [INFO] [stdout] 600 | | trace: impl FnOnce(&mut C, &Tracer<'v>), [INFO] [stdout] 601 | | ) -> Value<'v> [INFO] [stdout] 602 | | where [INFO] [stdout] 603 | | Self: AValue<'v, ExtraElem = ()>, [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::heap::repr::AValueHeader::overwrite_with_forward` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:639:17 [INFO] [stdout] | [INFO] [stdout] 639 | let x = AValueHeader::overwrite_with_forward::( [INFO] [stdout] | _________________^ [INFO] [stdout] 640 | | me, [INFO] [stdout] 641 | | ForwardPtr::new(fv.0.raw().ptr_value()), [INFO] [stdout] 642 | | ); [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/values/layout/avalue.rs:634:5 [INFO] [stdout] | [INFO] [stdout] 634 | / unsafe fn heap_freeze( [INFO] [stdout] 635 | | me: *mut AValueRepr, [INFO] [stdout] 636 | | freezer: &Freezer, [INFO] [stdout] 637 | | ) -> anyhow::Result { [INFO] [stdout] | |____________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::avalue::AValueImpl::::heap_copy_impl` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:653:9 [INFO] [stdout] | [INFO] [stdout] 653 | Self::heap_copy_impl(me, tracer, Trace::trace) [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/values/layout/avalue.rs:652:5 [INFO] [stdout] | [INFO] [stdout] 652 | unsafe fn heap_copy(me: *mut AValueRepr, tracer: &Tracer<'v>) -> Value<'v> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::avalue::AValueImpl::::heap_copy_impl` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:681:9 [INFO] [stdout] | [INFO] [stdout] 681 | Self::heap_copy_impl(me, tracer, Trace::trace) [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/values/layout/avalue.rs:680:5 [INFO] [stdout] | [INFO] [stdout] 680 | unsafe fn heap_copy(me: *mut AValueRepr, tracer: &Tracer<'v>) -> Value<'v> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bumpalo::Bump::iter_allocated_chunks_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/allocator/bumpalo.rs:76:19 [INFO] [stdout] | [INFO] [stdout] 76 | iter: Bump::iter_allocated_chunks_raw(self), [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/values/layout/heap/allocator/bumpalo.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | unsafe fn iter_allocated_chunks_rev(&self) -> Self::ChunkRevIterator<'_> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::heap::repr::AValueHeader::unpack_value` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/arena.rs:356:29 [INFO] [stdout] | [INFO] [stdout] 356 | let value = header.unpack_value(heap_kind); [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/values/layout/heap/arena.rs:330:5 [INFO] [stdout] | [INFO] [stdout] 330 | / pub(crate) unsafe fn visit_arena<'v>( [INFO] [stdout] 331 | | &'v mut self, [INFO] [stdout] 332 | | heap_kind: HeapKind, [INFO] [stdout] 333 | | forward_heap_kind: HeapKind, [INFO] [stdout] 334 | | visitor: &mut impl ArenaVisitor<'v>, [INFO] [stdout] 335 | | ) { [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/fast_cell.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 81 | (*self.value.get()).as_mut_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/values/layout/heap/fast_cell.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 79 | pub(crate) unsafe fn get_mut(&self) -> *mut T { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::mem::MaybeUninit::::assume_init` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/fast_cell.rs:89:9 [INFO] [stdout] | [INFO] [stdout] 89 | mem::replace(&mut *self.value.get(), MaybeUninit::zeroed()).assume_init() [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/values/layout/heap/fast_cell.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | pub(crate) unsafe fn take(&self) -> T { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/fast_cell.rs:89:27 [INFO] [stdout] | [INFO] [stdout] 89 | mem::replace(&mut *self.value.get(), MaybeUninit::zeroed()).assume_init() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/fast_cell.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | *self.value.get() = MaybeUninit::new(value); [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/values/layout/heap/fast_cell.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 93 | pub(crate) unsafe fn set(&self, value: T) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::heap::arena::Arena::::visit_arena` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/heap_type.rs:813:9 [INFO] [stdout] | [INFO] [stdout] 813 | (*self.arena.get_mut()).visit_arena(HeapKind::Unfrozen, forward_heap_kind, v) [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/values/layout/heap/heap_type.rs:808:5 [INFO] [stdout] | [INFO] [stdout] 808 | / pub(crate) unsafe fn visit_arena<'v>( [INFO] [stdout] 809 | | &'v self, [INFO] [stdout] 810 | | forward_heap_kind: HeapKind, [INFO] [stdout] 811 | | v: &mut impl ArenaVisitor<'v>, [INFO] [stdout] 812 | | ) { [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/heap_type.rs:813:9 [INFO] [stdout] | [INFO] [stdout] 813 | (*self.arena.get_mut()).visit_arena(HeapKind::Unfrozen, forward_heap_kind, v) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::heap::fast_cell::FastCell::::get_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/heap_type.rs:813:11 [INFO] [stdout] | [INFO] [stdout] 813 | (*self.arena.get_mut()).visit_arena(HeapKind::Unfrozen, forward_heap_kind, v) [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 `values::layout::heap::heap_type::Heap::garbage_collect_internal` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/heap_type.rs:823:9 [INFO] [stdout] | [INFO] [stdout] 823 | self.garbage_collect_internal(f) [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/values/layout/heap/heap_type.rs:820:5 [INFO] [stdout] | [INFO] [stdout] 820 | pub(crate) unsafe fn garbage_collect<'v>(&'v self, f: impl FnOnce(&Tracer<'v>)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::heap::fast_cell::FastCell::::take` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/heap_type.rs:830:22 [INFO] [stdout] | [INFO] [stdout] 830 | let _arena = self.arena.take(); [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/values/layout/heap/heap_type.rs:826:5 [INFO] [stdout] | [INFO] [stdout] 826 | unsafe fn garbage_collect_internal<'v>(&'v self, f: impl FnOnce(&Tracer<'v>)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::heap::fast_cell::FastCell::::set` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/heap_type.rs:837:9 [INFO] [stdout] | [INFO] [stdout] 837 | self.arena.set(tracer.arena); [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 `values::layout::value::Value::<'v>::new_ptr_usize_with_str_tag` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/repr.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | Value::new_ptr_usize_with_str_tag(self.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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/values/layout/heap/repr.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | pub(crate) unsafe fn unpack_unfrozen_value<'v>(self) -> Value<'v> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::heap::repr::ForwardPtr::unpack_unfrozen_value` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/repr.rs:97:35 [INFO] [stdout] | [INFO] [stdout] 97 | HeapKind::Unfrozen => self.unpack_unfrozen_value(), [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/values/layout/heap/repr.rs:95:5 [INFO] [stdout] | [INFO] [stdout] 95 | pub(crate) unsafe fn unpack_value<'v>(self, heap_kind: HeapKind) -> Value<'v> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::heap::repr::ForwardPtr::unpack_frozen_value` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/repr.rs:98:33 [INFO] [stdout] | [INFO] [stdout] 98 | HeapKind::Frozen => self.unpack_frozen_value().to_value(), [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]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/repr.rs:163:10 [INFO] [stdout] | [INFO] [stdout] 163 | &self.header [INFO] [stdout] | ^^^^^^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/values/layout/heap/repr.rs:161:5 [INFO] [stdout] | [INFO] [stdout] 161 | pub(crate) unsafe fn unpack_header_unchecked(&self) -> &AValueHeader { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/repr.rs:232:10 [INFO] [stdout] | [INFO] [stdout] 232 | &*self.payload_ptr().value_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/values/layout/heap/repr.rs:230:5 [INFO] [stdout] | [INFO] [stdout] 230 | pub(crate) unsafe fn payload<'v, T: StarlarkValue<'v>>(&self) -> &T { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::vtable::StarlarkValueRawPtr::value_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/repr.rs:232:11 [INFO] [stdout] | [INFO] [stdout] 232 | &*self.payload_ptr().value_ptr::() [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 `cast::ptr_lifetime` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/repr.rs:239:51 [INFO] [stdout] | [INFO] [stdout] 239 | FrozenValue::new_ptr_query_is_str(cast::ptr_lifetime(self)).to_value() [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/values/layout/heap/repr.rs:235:5 [INFO] [stdout] | [INFO] [stdout] 235 | pub(crate) unsafe fn unpack_value<'v>(&'v self, heap_kind: HeapKind) -> Value<'v> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/repr.rs:265:18 [INFO] [stdout] | [INFO] [stdout] 265 | let sz = (*me).header.unpack().memory_size(); [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/values/layout/heap/repr.rs:260:5 [INFO] [stdout] | [INFO] [stdout] 260 | / pub unsafe fn overwrite_with_forward<'v, T: AValue<'v>>( [INFO] [stdout] 261 | | me: *mut AValueRepr, [INFO] [stdout] 262 | | forward_ptr: ForwardPtr, [INFO] [stdout] 263 | | ) -> T { [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::read` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/repr.rs:267:19 [INFO] [stdout] | [INFO] [stdout] 267 | let res = ptr::read(p).payload; [INFO] [stdout] | ^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/repr.rs:269:9 [INFO] [stdout] | [INFO] [stdout] 269 | *p = AValueForward::new(forward_ptr, sz); [INFO] [stdout] | ^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/repr.rs:276:10 [INFO] [stdout] | [INFO] [stdout] 276 | &*(self.as_repr_v::() as *const _ as *const _) [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/values/layout/heap/repr.rs:275:5 [INFO] [stdout] | [INFO] [stdout] 275 | pub(crate) unsafe fn as_repr<'v, A: AValue<'v>>(&self) -> &AValueRepr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::heap::repr::AValueHeader::as_repr_v` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/repr.rs:276:12 [INFO] [stdout] | [INFO] [stdout] 276 | &*(self.as_repr_v::() as *const _ as *const _) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/repr.rs:282:10 [INFO] [stdout] | [INFO] [stdout] 282 | &*(self as *const AValueHeader as *const AValueRepr) [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/values/layout/heap/repr.rs:280:5 [INFO] [stdout] | [INFO] [stdout] 280 | pub(crate) unsafe fn as_repr_v<'v, T: StarlarkValue<'v>>(&self) -> &AValueRepr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::num::NonZero::::new_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/pointer.rs:60:20 [INFO] [stdout] | [INFO] [stdout] 60 | RawPointer(NonZeroUsize::new_unchecked(ptr)) [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/values/layout/pointer.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | pub(crate) unsafe fn new_unchecked(ptr: usize) -> RawPointer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::types::int::PointerI32::from_raw_pointer_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/pointer.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 120 | PointerI32::from_raw_pointer_unchecked(self) [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/values/layout/pointer.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | pub(crate) unsafe fn unpack_pointer_i32_unchecked(self) -> &'static PointerI32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `cast::usize_to_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/pointer.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | cast::usize_to_ptr(ptr) [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/values/layout/pointer.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 133 | pub(crate) unsafe fn unpack_ptr_no_int_unchecked<'v>(self) -> &'v AValueOrForward { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `cast::usize_to_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/pointer.rs:187:5 [INFO] [stdout] | [INFO] [stdout] 187 | cast::usize_to_ptr(x & !TAG_MASK) [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/values/layout/pointer.rs:186:1 [INFO] [stdout] | [INFO] [stdout] 186 | unsafe fn untag_pointer<'a>(x: usize) -> &'a AValueOrForward { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::pointer::Pointer::<'p>::new` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/pointer.rs:202:9 [INFO] [stdout] | [INFO] [stdout] 202 | Self::new(RawPointer::new_unchecked(x | TAG_UNFROZEN)) [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/values/layout/pointer.rs:200:5 [INFO] [stdout] | [INFO] [stdout] 200 | pub(crate) unsafe fn new_unfrozen_usize_with_str_tag(x: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::pointer::RawPointer::new_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/pointer.rs:202:19 [INFO] [stdout] | [INFO] [stdout] 202 | Self::new(RawPointer::new_unchecked(x | TAG_UNFROZEN)) [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 `values::layout::pointer::untag_pointer` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/pointer.rs:249:9 [INFO] [stdout] | [INFO] [stdout] 249 | untag_pointer(p) [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/values/layout/pointer.rs:246:5 [INFO] [stdout] | [INFO] [stdout] 246 | pub(crate) unsafe fn unpack_ptr_no_int_unchecked(self) -> &'p AValueOrForward { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::pointer::RawPointer::unpack_pointer_i32_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/pointer.rs:255:9 [INFO] [stdout] | [INFO] [stdout] 255 | self.ptr.unpack_pointer_i32_unchecked() [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/values/layout/pointer.rs:254:5 [INFO] [stdout] | [INFO] [stdout] 254 | pub(crate) unsafe fn unpack_pointer_i32_unchecked(self) -> &'static PointerI32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::pointer::FrozenPointer::<'p>::new` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/pointer.rs:278:9 [INFO] [stdout] | [INFO] [stdout] 278 | FrozenPointer::new(self.ptr) [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/values/layout/pointer.rs:277:5 [INFO] [stdout] | [INFO] [stdout] 277 | pub(crate) unsafe fn to_frozen_pointer_unchecked(self) -> FrozenPointer<'p> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::pointer::RawPointer::unpack_ptr_no_int_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/pointer.rs:330:9 [INFO] [stdout] | [INFO] [stdout] 330 | self.ptr.unpack_ptr_no_int_unchecked() [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/values/layout/pointer.rs:328:5 [INFO] [stdout] | [INFO] [stdout] 328 | pub(crate) unsafe fn unpack_ptr_no_int_unchecked(self) -> &'p AValueOrForward { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::pointer::RawPointer::unpack_pointer_i32_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/pointer.rs:336:9 [INFO] [stdout] | [INFO] [stdout] 336 | self.ptr.unpack_pointer_i32_unchecked() [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/values/layout/pointer.rs:335:5 [INFO] [stdout] | [INFO] [stdout] 335 | pub(crate) unsafe fn unpack_pointer_i32_unchecked(self) -> &'static PointerI32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `cast::usize_to_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/pointer.rs:344:9 [INFO] [stdout] | [INFO] [stdout] 344 | cast::usize_to_ptr(p) [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/values/layout/pointer.rs:341:5 [INFO] [stdout] | [INFO] [stdout] 341 | pub(crate) unsafe fn unpack_ptr_no_int_no_str_unchecked(self) -> &'p AValueOrForward { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::pointer::Pointer::<'p>::new_unfrozen_usize_with_str_tag` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/value.rs:259:14 [INFO] [stdout] | [INFO] [stdout] 259 | Self(Pointer::new_unfrozen_usize_with_str_tag(x)) [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/values/layout/value.rs:258:5 [INFO] [stdout] | [INFO] [stdout] 258 | pub(crate) unsafe fn new_ptr_usize_with_str_tag(x: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::pointer::Pointer::<'p>::cast_lifetime` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/value.rs:264:15 [INFO] [stdout] | [INFO] [stdout] 264 | Value(self.0.cast_lifetime()) [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/values/layout/value.rs:263:5 [INFO] [stdout] | [INFO] [stdout] 263 | pub(crate) unsafe fn cast_lifetime<'w>(self) -> Value<'w> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::pointer::Pointer::<'p>::to_frozen_pointer_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/value.rs:325:21 [INFO] [stdout] | [INFO] [stdout] 325 | FrozenValue(self.0.cast_lifetime().to_frozen_pointer_unchecked()) [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/values/layout/value.rs:323:5 [INFO] [stdout] | [INFO] [stdout] 323 | unsafe fn unpack_frozen_unchecked(self) -> FrozenValue { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::pointer::Pointer::<'p>::cast_lifetime` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/value.rs:325:21 [INFO] [stdout] | [INFO] [stdout] 325 | FrozenValue(self.0.cast_lifetime().to_frozen_pointer_unchecked()) [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::intrinsics::transmute` is unsafe and requires unsafe block [INFO] [stdout] --> src/cast.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | std::mem::transmute::<$from, $to>($e) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] ::: src/values/layout/value.rs:456:13 [INFO] [stdout] | [INFO] [stdout] 456 | transmute!(&PointerI32, &T, self.0.unpack_pointer_i32_unchecked()) [INFO] [stdout] | ------------------------------------------------------------------ in this macro invocation [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/values/layout/value.rs:453:5 [INFO] [stdout] | [INFO] [stdout] 453 | pub(crate) unsafe fn downcast_ref_unchecked>(self) -> &'v T { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the macro `transmute` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::pointer::Pointer::<'p>::unpack_pointer_i32_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/value.rs:456:41 [INFO] [stdout] | [INFO] [stdout] 456 | transmute!(&PointerI32, &T, self.0.unpack_pointer_i32_unchecked()) [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 `values::layout::heap::repr::AValueHeader::payload` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/value.rs:458:13 [INFO] [stdout] | [INFO] [stdout] 458 | / self.0 [INFO] [stdout] 459 | | .unpack_ptr_no_int_unchecked() [INFO] [stdout] 460 | | .unpack_header_unchecked() [INFO] [stdout] 461 | | .payload() [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 `values::layout::heap::repr::AValueOrForward::unpack_header_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/value.rs:458:13 [INFO] [stdout] | [INFO] [stdout] 458 | / self.0 [INFO] [stdout] 459 | | .unpack_ptr_no_int_unchecked() [INFO] [stdout] 460 | | .unpack_header_unchecked() [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 `values::layout::pointer::Pointer::<'p>::unpack_ptr_no_int_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/value.rs:458:13 [INFO] [stdout] | [INFO] [stdout] 458 | / self.0 [INFO] [stdout] 459 | | .unpack_ptr_no_int_unchecked() [INFO] [stdout] | |______________________________________________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/vtable.rs:106:10 [INFO] [stdout] | [INFO] [stdout] 106 | &*self.value_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/values/layout/vtable.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | pub(crate) unsafe fn value_ref<'v, T: StarlarkValue<'v>>(self) -> &'v T { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::vtable::StarlarkValueRawPtr::value_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/vtable.rs:106:11 [INFO] [stdout] | [INFO] [stdout] 106 | &*self.value_ptr() [INFO] [stdout] | ^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/array.rs:172:9 [INFO] [stdout] | [INFO] [stdout] 172 | *self.ptr_at(index) [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/values/types/array.rs:170:5 [INFO] [stdout] | [INFO] [stdout] 170 | unsafe fn get_unchecked(&self, index: usize) -> Value<'v> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::value::Value::<'v>::downcast_ref_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/dict/value.rs:162:21 [INFO] [stdout] | [INFO] [stdout] 162 | let dict = &x.downcast_ref_unchecked::>>>().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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/values/types/dict/value.rs:161:5 [INFO] [stdout] | [INFO] [stdout] 161 | pub(crate) unsafe fn from_value_unchecked_mut(x: Value<'v>) -> RefMut<'v, Self> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::types::dict::refcell::unleak_borrow` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/dict/value.rs:354:9 [INFO] [stdout] | [INFO] [stdout] 354 | unleak_borrow(self); [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/values/types/dict/value.rs:353:5 [INFO] [stdout] | [INFO] [stdout] 353 | unsafe fn iter_stop(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::option::Option::::unwrap_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/dict/value.rs:360:10 [INFO] [stdout] | [INFO] [stdout] 360 | &self.try_borrow_unguarded().ok().unwrap_unchecked().content [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/values/types/dict/value.rs:358:5 [INFO] [stdout] | [INFO] [stdout] 358 | unsafe fn content_unchecked(&self) -> &SmallMap, Value<'v>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::cell::RefCell::::try_borrow_unguarded` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/dict/value.rs:360:10 [INFO] [stdout] | [INFO] [stdout] 360 | &self.try_borrow_unguarded().ok().unwrap_unchecked().content [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 `values::types::dict::value::DictLike::iter_start` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/dict/value.rs:464:9 [INFO] [stdout] | [INFO] [stdout] 464 | self.0.iter_start(); [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/values/types/dict/value.rs:463:5 [INFO] [stdout] | [INFO] [stdout] 463 | unsafe fn iterate(&self, me: Value<'v>, _heap: &'v Heap) -> crate::Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::types::dict::value::DictLike::content_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/dict/value.rs:475:9 [INFO] [stdout] | [INFO] [stdout] 475 | self.0.content_unchecked().keys().nth(index).copied() [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/values/types/dict/value.rs:474:5 [INFO] [stdout] | [INFO] [stdout] 474 | unsafe fn iter_next(&self, index: usize, _heap: &'v Heap) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::types::dict::value::DictLike::iter_stop` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/dict/value.rs:479:9 [INFO] [stdout] | [INFO] [stdout] 479 | self.0.iter_stop(); [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/values/types/dict/value.rs:478:5 [INFO] [stdout] | [INFO] [stdout] 478 | unsafe fn iter_stop(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `cast::usize_to_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/int.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 142 | cast::usize_to_ptr(raw_pointer.ptr_value()) [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/values/types/int.rs:135:5 [INFO] [stdout] | [INFO] [stdout] 135 | / pub(crate) unsafe fn from_raw_pointer_unchecked( [INFO] [stdout] 136 | | raw_pointer: RawPointer, [INFO] [stdout] 137 | | ) -> &'static PointerI32 { [INFO] [stdout] | |____________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::value::Value::<'v>::downcast_ref_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/list/value.rs:148:20 [INFO] [stdout] | [INFO] [stdout] 148 | let list = x.downcast_ref_unchecked::>>(); [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/values/types/list/value.rs:147:5 [INFO] [stdout] | [INFO] [stdout] 147 | pub(crate) unsafe fn from_value_unchecked_mut(x: Value<'v>) -> &'v Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::types::list::value::ListLike::new_iter` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/list/value.rs:508:12 [INFO] [stdout] | [INFO] [stdout] 508 | Ok(self.0.new_iter(me)) [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/values/types/list/value.rs:507:5 [INFO] [stdout] | [INFO] [stdout] 507 | unsafe fn iterate(&self, me: Value<'v>, _heap: &'v Heap) -> crate::Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::types::list::value::ListLike::iter_size_hint` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/list/value.rs:512:9 [INFO] [stdout] | [INFO] [stdout] 512 | self.0.iter_size_hint(index) [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/values/types/list/value.rs:511:5 [INFO] [stdout] | [INFO] [stdout] 511 | unsafe fn iter_size_hint(&self, index: usize) -> (usize, Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::types::list::value::ListLike::iter_next` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/list/value.rs:516:9 [INFO] [stdout] | [INFO] [stdout] 516 | self.0.iter_next(index) [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/values/types/list/value.rs:515:5 [INFO] [stdout] | [INFO] [stdout] 515 | unsafe fn iter_next(&self, index: usize, _heap: &'v Heap) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::types::list::value::ListLike::iter_stop` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/list/value.rs:520:9 [INFO] [stdout] | [INFO] [stdout] 520 | self.0.iter_stop(); [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/values/types/list/value.rs:519:5 [INFO] [stdout] | [INFO] [stdout] 519 | unsafe fn iter_stop(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::types::string::simd::Vector::cmplt` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:37:36 [INFO] [stdout] | [INFO] [stdout] 37 | let any_control_or_non_ascii = chunk.cmplt(V::splat(32)); [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/values/types/string/repr.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | unsafe fn chunk_non_ascii_or_need_escape(chunk: V) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::types::string::simd::Vector::splat` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:37:48 [INFO] [stdout] | [INFO] [stdout] 37 | let any_control_or_non_ascii = chunk.cmplt(V::splat(32)); [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 `values::types::string::simd::Vector::cmpeq` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:38:18 [INFO] [stdout] | [INFO] [stdout] 38 | let any_7f = chunk.cmpeq(V::splat(0x7f)); [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 `values::types::string::simd::Vector::splat` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:38:30 [INFO] [stdout] | [INFO] [stdout] 38 | let any_7f = chunk.cmpeq(V::splat(0x7f)); [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 `values::types::string::simd::Vector::cmpeq` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:39:28 [INFO] [stdout] | [INFO] [stdout] 39 | let any_double_quote = chunk.cmpeq(V::splat(b'"')); [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 `values::types::string::simd::Vector::splat` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:39:40 [INFO] [stdout] | [INFO] [stdout] 39 | let any_double_quote = chunk.cmpeq(V::splat(b'"')); [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 `values::types::string::simd::Vector::cmpeq` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:40:25 [INFO] [stdout] | [INFO] [stdout] 40 | let any_backslash = chunk.cmpeq(V::splat(b'\\')); [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 `values::types::string::simd::Vector::splat` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:40:37 [INFO] [stdout] | [INFO] [stdout] 40 | let any_backslash = chunk.cmpeq(V::splat(b'\\')); [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 `values::types::string::repr::chunk_non_ascii_or_need_escape::or4` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:42:23 [INFO] [stdout] | [INFO] [stdout] 42 | let need_escape = or4( [INFO] [stdout] | _______________________^ [INFO] [stdout] 43 | | any_control_or_non_ascii, [INFO] [stdout] 44 | | any_7f, [INFO] [stdout] 45 | | any_double_quote, [INFO] [stdout] 46 | | any_backslash, [INFO] [stdout] 47 | | ); [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 `values::types::string::simd::Vector::movemask` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | need_escape.movemask() != 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::types::string::simd::Vector::or` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:31:18 [INFO] [stdout] | [INFO] [stdout] 31 | let ab = V::or(a, b); [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/values/types/string/repr.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | unsafe fn or4(a: V, b: V, c: V, d: V) -> V { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::types::string::simd::Vector::or` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:32:18 [INFO] [stdout] | [INFO] [stdout] 32 | let cd = V::or(c, d); [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 `values::types::string::simd::Vector::or` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | V::or(ab, cd) [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 `values::types::string::simd::Vector::load_unaligned` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:172:25 [INFO] [stdout] | [INFO] [stdout] 172 | let chunk = V::load_unaligned(val.as_ptr().add(val_offset) as *const _); [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/values/types/string/repr.rs:127:5 [INFO] [stdout] | [INFO] [stdout] 127 | unsafe fn loop_ascii_simd(val: &str, buffer: &mut String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:172:43 [INFO] [stdout] | [INFO] [stdout] 172 | let chunk = V::load_unaligned(val.as_ptr().add(val_offset) as *const _); [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 `values::types::string::repr::chunk_non_ascii_or_need_escape` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:174:16 [INFO] [stdout] | [INFO] [stdout] 174 | if chunk_non_ascii_or_need_escape(chunk) { [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 `values::types::string::repr::string_repr::loop_ascii_simd::push_vec_tail` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:182:13 [INFO] [stdout] | [INFO] [stdout] 182 | push_vec_tail(buffer, chunk, mem::size_of::()); [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 `values::types::string::simd::Vector::load_unaligned` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:200:25 [INFO] [stdout] | [INFO] [stdout] 200 | let chunk = V::load_unaligned(val.as_ptr().add(val.len()).sub(mem::size_of::())); [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::const_ptr::::sub` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:200:43 [INFO] [stdout] | [INFO] [stdout] 200 | let chunk = V::load_unaligned(val.as_ptr().add(val.len()).sub(mem::size_of::())); [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::const_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:200:43 [INFO] [stdout] | [INFO] [stdout] 200 | let chunk = V::load_unaligned(val.as_ptr().add(val.len()).sub(mem::size_of::())); [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 `values::types::string::repr::chunk_non_ascii_or_need_escape` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:202:16 [INFO] [stdout] | [INFO] [stdout] 202 | if chunk_non_ascii_or_need_escape(chunk) { [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 `values::types::string::repr::string_repr::loop_ascii_simd::push_vec_tail` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:206:13 [INFO] [stdout] | [INFO] [stdout] 206 | push_vec_tail(buffer, chunk, chunk_len); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::types::string::simd::Vector::store_unaligned` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:156:13 [INFO] [stdout] | [INFO] [stdout] 156 | / vector.store_unaligned( [INFO] [stdout] 157 | | buffer [INFO] [stdout] 158 | | .as_bytes_mut() [INFO] [stdout] 159 | | .as_mut_ptr() [INFO] [stdout] 160 | | .add(new_buffer_len) [INFO] [stdout] 161 | | .sub(mem::size_of::()), [INFO] [stdout] 162 | | ); [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/values/types/string/repr.rs:144:9 [INFO] [stdout] | [INFO] [stdout] 144 | unsafe fn push_vec_tail(buffer: &mut String, vector: V, tail_len: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::sub` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:157:17 [INFO] [stdout] | [INFO] [stdout] 157 | / buffer [INFO] [stdout] 158 | | .as_bytes_mut() [INFO] [stdout] 159 | | .as_mut_ptr() [INFO] [stdout] 160 | | .add(new_buffer_len) [INFO] [stdout] 161 | | .sub(mem::size_of::()), [INFO] [stdout] | |_____________________________________________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:157:17 [INFO] [stdout] | [INFO] [stdout] 157 | / buffer [INFO] [stdout] 158 | | .as_bytes_mut() [INFO] [stdout] 159 | | .as_mut_ptr() [INFO] [stdout] 160 | | .add(new_buffer_len) [INFO] [stdout] | |________________________________________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `core::str::::as_bytes_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:157:17 [INFO] [stdout] | [INFO] [stdout] 157 | / buffer [INFO] [stdout] 158 | | .as_bytes_mut() [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::::set_len` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:163:13 [INFO] [stdout] | [INFO] [stdout] 163 | buffer.as_mut_vec().set_len(new_buffer_len); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::string::String::as_mut_vec` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:163:13 [INFO] [stdout] | [INFO] [stdout] 163 | buffer.as_mut_vec().set_len(new_buffer_len); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_set1_epi8` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/simd.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 78 | _mm_set1_epi8(byte as i8) [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/values/types/string/simd.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | unsafe fn splat(byte: u8) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_si128` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/simd.rs:83:13 [INFO] [stdout] | [INFO] [stdout] 83 | _mm_loadu_si128(ptr as *const _) [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/values/types/string/simd.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | unsafe fn load_unaligned(ptr: *const u8) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_storeu_si128` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/simd.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 88 | _mm_storeu_si128(ptr as *mut _, self) [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/values/types/string/simd.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | unsafe fn store_unaligned(self, ptr: *mut u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_cmplt_epi8` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/simd.rs:93:13 [INFO] [stdout] | [INFO] [stdout] 93 | _mm_cmplt_epi8(self, other) [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/values/types/string/simd.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | unsafe fn cmplt(self, other: Self) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_cmpeq_epi8` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/simd.rs:98:13 [INFO] [stdout] | [INFO] [stdout] 98 | _mm_cmpeq_epi8(self, other) [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/values/types/string/simd.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | unsafe fn cmpeq(self, other: Self) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_or_si128` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/simd.rs:103:13 [INFO] [stdout] | [INFO] [stdout] 103 | _mm_or_si128(self, other) [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/values/types/string/simd.rs:102:9 [INFO] [stdout] | [INFO] [stdout] 102 | unsafe fn or(self, other: Self) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_movemask_epi8` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/simd.rs:108:13 [INFO] [stdout] | [INFO] [stdout] 108 | _mm_movemask_epi8(self) 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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/values/types/string/simd.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | unsafe fn movemask(self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `BcStackValues` is never used [INFO] [stdout] --> src/eval/bc/stack_values.rs:23:18 [INFO] [stdout] | [INFO] [stdout] 23 | pub(crate) trait BcStackValues<'v>: Copy { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ReturnOwnedFileLoader` is never constructed [INFO] [stdout] --> src/eval/runtime/file_loader.rs:56:19 [INFO] [stdout] | [INFO] [stdout] 56 | pub(crate) struct ReturnOwnedFileLoader { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `no_simd` is never used [INFO] [stdout] --> src/values/types/string/simd.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub(crate) trait SwitchHaveSimd [INFO] [stdout] | -------------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 43 | fn no_simd(self) -> R; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `matches_dyn` is never used [INFO] [stdout] --> src/values/typing/type_compiled/compiled.rs:89:8 [INFO] [stdout] | [INFO] [stdout] 87 | pub(crate) trait TypeCompiledDyn: Debug + Allocative + Send + Sync + 'static { [INFO] [stdout] | --------------- method in this trait [INFO] [stdout] 88 | fn as_ty_dyn(&self) -> &Ty; [INFO] [stdout] 89 | fn matches_dyn(&self, value: Value) -> bool; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/find_call_name.rs:55:24 [INFO] [stdout] | [INFO] [stdout] 55 | if let Expr::Identifier(_) = &identifier.node { [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/analysis/find_call_name.rs:69:21 [INFO] [stdout] | [INFO] [stdout] 69 | } [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] 55 ~ match &identifier.node { Expr::Identifier(_) => { [INFO] [stdout] 56 | let found = arguments.iter().find_map(|argument| match &argument.node { [INFO] [stdout] ... [INFO] [stdout] 68 | } [INFO] [stdout] 69 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/names.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 152 | if let Expr::Identifier(x) = &***x { [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/analysis/names.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 154 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 152 ~ match &***x { Expr::Identifier(x) => { [INFO] [stdout] 153 | return x.ident.as_str() == "fail"; [INFO] [stdout] 154 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/names.rs:336:24 [INFO] [stdout] | [INFO] [stdout] 336 | if let Some(x) = other.remove(k) { [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/analysis/names.rs:338:21 [INFO] [stdout] | [INFO] [stdout] 338 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 336 ~ match other.remove(k) { Some(x) => { [INFO] [stdout] 337 | e.insert((join_assigned(Assigned::Maybe, x.0), x.1)); [INFO] [stdout] 338 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/names.rs:431:24 [INFO] [stdout] | [INFO] [stdout] 431 | if let Some(pname) = p.node.ident() { [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/analysis/names.rs:433:21 [INFO] [stdout] | [INFO] [stdout] 433 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 431 ~ match p.node.ident() { Some(pname) => { [INFO] [stdout] 432 | self.set_ident(pname, Kind::Argument); [INFO] [stdout] 433 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/names.rs:516:24 [INFO] [stdout] | [INFO] [stdout] 516 | if let Some(pname) = p.node.ident() { [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/analysis/names.rs:518:21 [INFO] [stdout] | [INFO] [stdout] 518 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 516 ~ match p.node.ident() { Some(pname) => { [INFO] [stdout] 517 | self.set_ident(pname, Kind::Argument); [INFO] [stdout] 518 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/underscore.rs:94:16 [INFO] [stdout] | [INFO] [stdout] 94 | if let AssignTarget::Identifier(name) = &assign.lhs.node { [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/analysis/underscore.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 102 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 94 ~ match &assign.lhs.node { AssignTarget::Identifier(name) => { [INFO] [stdout] 95 | if name.ident.starts_with('_') && !is_allowed(&assign.rhs) { [INFO] [stdout] ... [INFO] [stdout] 101 | } [INFO] [stdout] 102 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/unused_loads/find.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 111 | if let StmtP::Load(load) = &**top { [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/analysis/unused_loads/find.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 111 ~ match &**top { StmtP::Load(load) => { [INFO] [stdout] 112 | let args = load.args.try_map(|arg| { [INFO] [stdout] ... [INFO] [stdout] 125 | }); [INFO] [stdout] 126 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/collections/symbol_map.rs:153:12 [INFO] [stdout] | [INFO] [stdout] 153 | if let Some((_, item)) = self.0.get_mut(s.hash, |x| s == x.0) { [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/collections/symbol_map.rs:155:9 [INFO] [stdout] | [INFO] [stdout] 155 | } 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] 153 ~ match self.0.get_mut(s.hash, |x| s == x.0) { Some((_, item)) => { [INFO] [stdout] 154 | Some(mem::replace(item, value)) [INFO] [stdout] 155 ~ } _ => { [INFO] [stdout] 156 | // This insert doesn't remove old values, so do that manually first [INFO] [stdout] 157 | self.0.insert(s.hash, (s, value), |x| x.0.hash); [INFO] [stdout] 158 | None [INFO] [stdout] 159 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/docs/mod.rs:304:20 [INFO] [stdout] | [INFO] [stdout] 304 | if let Some(matches) = section_re.captures(line) { [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/docs/mod.rs:313:17 [INFO] [stdout] | [INFO] [stdout] 313 | } else if current_section.is_some() && indented_re.is_match(line) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 304 ~ match section_re.captures(line) { Some(matches) => { [INFO] [stdout] 305 | finish_section(&mut current_section, &mut current_section_text); [INFO] [stdout] ... [INFO] [stdout] 312 | } [INFO] [stdout] 313 ~ } _ => if current_section.is_some() && indented_re.is_match(line) { [INFO] [stdout] 314 | current_section_text.push(line.to_owned()); [INFO] [stdout] ... [INFO] [stdout] 317 | finish_section(&mut current_section, &mut current_section_text); [INFO] [stdout] 318 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/docs/mod.rs:577:16 [INFO] [stdout] | [INFO] [stdout] 577 | if let Some(matches) = arg_re.captures(line) { [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/docs/mod.rs:590:13 [INFO] [stdout] | [INFO] [stdout] 590 | } else if current_arg.is_some() && INDENTED_RE.is_match(line) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 577 ~ match arg_re.captures(line) { Some(matches) => { [INFO] [stdout] 578 | if let Some(a) = current_arg.take() { [INFO] [stdout] ... [INFO] [stdout] 589 | )]; [INFO] [stdout] 590 ~ } _ => if current_arg.is_some() && INDENTED_RE.is_match(line) { [INFO] [stdout] 591 | current_text.push(line.to_owned()); [INFO] [stdout] 592 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/bc/compiler/call.rs:234:16 [INFO] [stdout] | [INFO] [stdout] 234 | if let Ok(t) = TypeCompiled::new_frozen(t, bc.heap) { [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/eval/bc/compiler/call.rs:238:13 [INFO] [stdout] | [INFO] [stdout] 238 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 234 ~ match TypeCompiled::new_frozen(t, bc.heap) { Ok(t) => { [INFO] [stdout] 235 | return x.write_bc_cb(bc, |x, bc| { [INFO] [stdout] 236 | bc.write_instr::(self.span, (x, t, target)); [INFO] [stdout] 237 | }); [INFO] [stdout] 238 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/bc/compiler/expr.rs:237:19 [INFO] [stdout] | [INFO] [stdout] 237 | } else if let Some(d) = Self::try_dict_of_consts(xs) { [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] 238 | bc.write_instr::(span, (d, target)); [INFO] [stdout] 239 | } else if let Some(keys) = Self::try_dict_const_keys(xs) { [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/eval/bc/compiler/expr.rs:239:9 [INFO] [stdout] | [INFO] [stdout] 239 | } else if let Some(keys) = Self::try_dict_const_keys(xs) { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/eval/bc/compiler/expr.rs:245:9 [INFO] [stdout] | [INFO] [stdout] 245 | } 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] 237 ~ } else { match Self::try_dict_of_consts(xs) { Some(d) => { [INFO] [stdout] 238 | bc.write_instr::(span, (d, target)); [INFO] [stdout] 239 ~ } _ => { match Self::try_dict_const_keys(xs) { Some(keys) => { [INFO] [stdout] 240 | assert_eq!(keys.len(), xs.len()); [INFO] [stdout] ... [INFO] [stdout] 244 | }); [INFO] [stdout] 245 ~ } _ => { [INFO] [stdout] 246 | let key_spans = xs.map(|(k, _v)| k.span); [INFO] [stdout] ... [INFO] [stdout] 255 | }); [INFO] [stdout] 256 ~ }}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/bc/compiler/if_compiler.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 75 | if let Some(f) = f { [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/eval/bc/compiler/if_compiler.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 84 | } 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] 75 ~ match f { Some(f) => { [INFO] [stdout] 76 | let end_addr = bc.write_br(cond.span); [INFO] [stdout] ... [INFO] [stdout] 83 | bc.patch_addr(end_addr); [INFO] [stdout] 84 ~ } _ => { [INFO] [stdout] 85 | bc.patch_addrs(else_addrs); [INFO] [stdout] 86 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/call.rs:127:12 [INFO] [stdout] | [INFO] [stdout] 127 | if let Some(InlineDefBody::ReturnTypeIs(t)) = &fun.def_info.inline_def_body { [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/eval/compiler/call.rs:129:9 [INFO] [stdout] | [INFO] [stdout] 129 | } 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] 127 ~ match &fun.def_info.inline_def_body { Some(InlineDefBody::ReturnTypeIs(t)) => { [INFO] [stdout] 128 | Some(ExprCompiled::type_is(pos.clone(), *t)) [INFO] [stdout] 129 ~ } _ => { [INFO] [stdout] 130 | None [INFO] [stdout] 131 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/call.rs:149:23 [INFO] [stdout] | [INFO] [stdout] 149 | let expr = if let Some(InlineDefBody::ReturnSafeToInlineExpr(expr)) = [INFO] [stdout] | _______________________^ [INFO] [stdout] 150 | | &fun.def_info.inline_def_body [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/eval/compiler/call.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | } 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] 149 ~ let expr = match &fun.def_info.inline_def_body [INFO] [stdout] 150 ~ { Some(InlineDefBody::ReturnSafeToInlineExpr(expr)) => { [INFO] [stdout] 151 | expr [INFO] [stdout] 152 ~ } _ => { [INFO] [stdout] 153 | return None; [INFO] [stdout] 154 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/call.rs:278:16 [INFO] [stdout] | [INFO] [stdout] 278 | if let Some(arg) = args.one_pos() { [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/eval/compiler/call.rs:280:13 [INFO] [stdout] | [INFO] [stdout] 280 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 278 ~ match args.one_pos() { Some(arg) => { [INFO] [stdout] 279 | return ExprCompiled::len(span, arg.clone()); [INFO] [stdout] 280 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/call.rs:284:16 [INFO] [stdout] | [INFO] [stdout] 284 | if let Some(arg) = args.one_pos() { [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/eval/compiler/call.rs:286:13 [INFO] [stdout] | [INFO] [stdout] 286 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 284 ~ match args.one_pos() { Some(arg) => { [INFO] [stdout] 285 | return ExprCompiled::typ(span, arg.clone()); [INFO] [stdout] 286 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/compr.rs:66:15 [INFO] [stdout] | [INFO] [stdout] 66 | while let Some(x) = clauses.pop() { [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/eval/compiler/compr.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/def_inline/mod.rs:196:12 [INFO] [stdout] | [INFO] [stdout] 196 | if let Some(expr) = is_return_safe_to_inline_expr(body, param_count) { [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/eval/compiler/def_inline/mod.rs:198:9 [INFO] [stdout] | [INFO] [stdout] 198 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 196 ~ match is_return_safe_to_inline_expr(body, param_count) { Some(expr) => { [INFO] [stdout] 197 | return Some(InlineDefBody::ReturnSafeToInlineExpr(expr)); [INFO] [stdout] 198 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/expr.rs:547:16 [INFO] [stdout] | [INFO] [stdout] 547 | if let Ok(r) = l.equals(r.to_value()) { [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/eval/compiler/expr.rs:552:13 [INFO] [stdout] | [INFO] [stdout] 552 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 547 ~ match l.equals(r.to_value()) { Ok(r) => { [INFO] [stdout] 548 | return IrSpanned { [INFO] [stdout] ... [INFO] [stdout] 551 | }; [INFO] [stdout] 552 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/expr.rs:599:12 [INFO] [stdout] | [INFO] [stdout] 599 | if let Some(l_v) = l.is_pure_infallible_to_bool() { [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/eval/compiler/expr.rs:605:9 [INFO] [stdout] | [INFO] [stdout] 605 | } 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] 599 ~ match l.is_pure_infallible_to_bool() { Some(l_v) => { [INFO] [stdout] 600 | if l_v == (op == ExprLogicalBinOp::Or) { [INFO] [stdout] ... [INFO] [stdout] 604 | } [INFO] [stdout] 605 ~ } _ => { [INFO] [stdout] 606 | let span = l.span.merge(&r.span); [INFO] [stdout] ... [INFO] [stdout] 610 | } [INFO] [stdout] 611 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/expr.rs:651:16 [INFO] [stdout] | [INFO] [stdout] 651 | if let Ok(value) = [INFO] [stdout] | ________________^ [INFO] [stdout] 652 | | percent_s_one(before.as_str(), arg.to_value(), after.as_str(), ctx.heap()) [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/eval/compiler/expr.rs:656:13 [INFO] [stdout] | [INFO] [stdout] 656 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 651 ~ match percent_s_one(before.as_str(), arg.to_value(), after.as_str(), ctx.heap()) [INFO] [stdout] 652 ~ { Ok(value) => { [INFO] [stdout] 653 | let value = ctx.frozen_heap().alloc_str(value.as_str()); [INFO] [stdout] 654 | return ExprCompiled::Value(value.to_frozen_value()); [INFO] [stdout] 655 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/expr.rs:703:16 [INFO] [stdout] | [INFO] [stdout] 703 | if let Ok(v) = bin_op.eval(l.to_value(), r.to_value(), ctx.heap()) { [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/eval/compiler/expr.rs:707:13 [INFO] [stdout] | [INFO] [stdout] 707 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 703 ~ match bin_op.eval(l.to_value(), r.to_value(), ctx.heap()) { Ok(v) => { [INFO] [stdout] 704 | if let Some(v) = ExprCompiled::try_value(span, v, ctx.frozen_heap()) { [INFO] [stdout] 705 | return v; [INFO] [stdout] 706 | } [INFO] [stdout] 707 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/expr.rs:704:20 [INFO] [stdout] | [INFO] [stdout] 704 | if let Some(v) = ExprCompiled::try_value(span, v, ctx.frozen_heap()) { [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/eval/compiler/expr.rs:706:17 [INFO] [stdout] | [INFO] [stdout] 706 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 704 ~ match ExprCompiled::try_value(span, v, ctx.frozen_heap()) { Some(v) => { [INFO] [stdout] 705 | return v; [INFO] [stdout] 706 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/expr.rs:758:20 [INFO] [stdout] | [INFO] [stdout] 758 | if let Some(v) = ExprCompiled::try_value(expr.span, v, ctx.frozen_heap()) { [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/eval/compiler/expr.rs:760:17 [INFO] [stdout] | [INFO] [stdout] 760 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 758 ~ match ExprCompiled::try_value(expr.span, v, ctx.frozen_heap()) { Some(v) => { [INFO] [stdout] 759 | return v; [INFO] [stdout] 760 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/expr.rs:844:12 [INFO] [stdout] | [INFO] [stdout] 844 | if let Ok(elems) = elems.try_map(|e| e.as_value().ok_or(())) { [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/eval/compiler/expr.rs:846:9 [INFO] [stdout] | [INFO] [stdout] 846 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 844 ~ match elems.try_map(|e| e.as_value().ok_or(())) { Ok(elems) => { [INFO] [stdout] 845 | ExprCompiled::Value(heap.alloc_tuple(&elems)) [INFO] [stdout] 846 ~ } _ => { [INFO] [stdout] 847 | ExprCompiled::Tuple(elems) [INFO] [stdout] 848 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/expr.rs:897:16 [INFO] [stdout] | [INFO] [stdout] 897 | if let Ok(v) = array.to_value().slice( [INFO] [stdout] | ________________^ - [INFO] [stdout] | |____________________________| [INFO] [stdout] 898 | || start.map(|v| v.to_value()), [INFO] [stdout] 899 | || stop.map(|v| v.to_value()), [INFO] [stdout] 900 | || step.map(|v| v.to_value()), [INFO] [stdout] 901 | || ctx.heap(), [INFO] [stdout] 902 | || ) { [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] | [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/eval/compiler/expr.rs:906:13 [INFO] [stdout] | [INFO] [stdout] 906 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 897 ~ match array.to_value().slice( [INFO] [stdout] 898 | start.map(|v| v.to_value()), [INFO] [stdout] ... [INFO] [stdout] 901 | ctx.heap(), [INFO] [stdout] 902 ~ ) { Ok(v) => { [INFO] [stdout] 903 | if let Some(v) = ExprCompiled::try_value(span, v, ctx.frozen_heap()) { [INFO] [stdout] 904 | return v; [INFO] [stdout] 905 | } [INFO] [stdout] 906 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/expr.rs:903:20 [INFO] [stdout] | [INFO] [stdout] 903 | if let Some(v) = ExprCompiled::try_value(span, v, ctx.frozen_heap()) { [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/eval/compiler/expr.rs:905:17 [INFO] [stdout] | [INFO] [stdout] 905 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 903 ~ match ExprCompiled::try_value(span, v, ctx.frozen_heap()) { Some(v) => { [INFO] [stdout] 904 | return v; [INFO] [stdout] 905 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/expr.rs:918:16 [INFO] [stdout] | [INFO] [stdout] 918 | if let Ok(v) = array.to_value().at(index.to_value(), ctx.heap()) { [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/eval/compiler/expr.rs:922:13 [INFO] [stdout] | [INFO] [stdout] 922 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 918 ~ match array.to_value().at(index.to_value(), ctx.heap()) { Ok(v) => { [INFO] [stdout] 919 | if let Some(expr) = ExprCompiled::try_value(span, v, ctx.frozen_heap()) { [INFO] [stdout] 920 | return expr; [INFO] [stdout] 921 | } [INFO] [stdout] 922 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/expr.rs:919:20 [INFO] [stdout] | [INFO] [stdout] 919 | if let Some(expr) = ExprCompiled::try_value(span, v, ctx.frozen_heap()) { [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/eval/compiler/expr.rs:921:17 [INFO] [stdout] | [INFO] [stdout] 921 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 919 ~ match ExprCompiled::try_value(span, v, ctx.frozen_heap()) { Some(expr) => { [INFO] [stdout] 920 | return expr; [INFO] [stdout] 921 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/expr.rs:981:16 [INFO] [stdout] | [INFO] [stdout] 981 | if let Ok(len) = arg.to_value().length() { [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/eval/compiler/expr.rs:985:13 [INFO] [stdout] | [INFO] [stdout] 985 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 981 ~ match arg.to_value().length() { Ok(len) => { [INFO] [stdout] 982 | if let Ok(len) = InlineInt::try_from(len) { [INFO] [stdout] 983 | return ExprCompiled::Value(FrozenValue::new_int(len)); [INFO] [stdout] 984 | } [INFO] [stdout] 985 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/expr.rs:1016:8 [INFO] [stdout] | [INFO] [stdout] 1016 | if let (Some(l), Some(r)) = (l.as_type(), r.as_string()) { [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/eval/compiler/expr.rs:1021:5 [INFO] [stdout] | [INFO] [stdout] 1021 | } 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] 1016 ~ match (l.as_type(), r.as_string()) { (Some(l), Some(r)) => { [INFO] [stdout] 1017 | Ok(IrSpanned { [INFO] [stdout] ... [INFO] [stdout] 1020 | }) [INFO] [stdout] 1021 ~ } _ => { [INFO] [stdout] 1022 | Err((l, r)) [INFO] [stdout] 1023 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/module.rs:179:16 [INFO] [stdout] | [INFO] [stdout] 179 | if let StmtP::Def(_) = &mut top.node { [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/eval/compiler/module.rs:195:13 [INFO] [stdout] | [INFO] [stdout] 195 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 179 ~ match &mut top.node { StmtP::Def(_) => { [INFO] [stdout] 180 | let BindingsCollect { bindings, .. } = BindingsCollect::collect_one( [INFO] [stdout] ... [INFO] [stdout] 194 | } [INFO] [stdout] 195 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/module.rs:192:20 [INFO] [stdout] | [INFO] [stdout] 192 | if let Some(error) = errors.into_iter().next() { [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/eval/compiler/module.rs:194:17 [INFO] [stdout] | [INFO] [stdout] 194 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 192 ~ match errors.into_iter().next() { Some(error) => { [INFO] [stdout] 193 | return Err(error.into_eval_exception()); [INFO] [stdout] 194 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/stmt.rs:280:20 [INFO] [stdout] | [INFO] [stdout] 280 | if let Some(t) = expr.as_type() { [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/eval/compiler/stmt.rs:282:17 [INFO] [stdout] | [INFO] [stdout] 282 | } 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] 280 ~ match expr.as_type() { Some(t) => { [INFO] [stdout] 281 | StmtsCompiled::expr(t.clone()) [INFO] [stdout] 282 ~ } _ => { [INFO] [stdout] 283 | StmtsCompiled::one(IrSpanned { [INFO] [stdout] ... [INFO] [stdout] 286 | }) [INFO] [stdout] 287 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/stmt.rs:615:12 [INFO] [stdout] | [INFO] [stdout] 615 | if let Some(v) = rhs.get_ref().radd(lhs, heap) { [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/eval/compiler/stmt.rs:617:9 [INFO] [stdout] | [INFO] [stdout] 617 | } 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] 615 ~ match rhs.get_ref().radd(lhs, heap) { Some(v) => { [INFO] [stdout] 616 | v [INFO] [stdout] 617 ~ } _ => { [INFO] [stdout] 618 | let list = ListData::from_value_mut(lhs)?; [INFO] [stdout] ... [INFO] [stdout] 625 | Ok(lhs) [INFO] [stdout] 626 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl ExactSizeIterator + Iterator)>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/eval/runtime/arguments.rs:149:34 [INFO] [stdout] | [INFO] [stdout] 149 | pub(crate) fn iter(&self) -> impl ExactSizeIterator)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/eval/runtime/arguments.rs:149:24 [INFO] [stdout] | [INFO] [stdout] 149 | pub(crate) fn iter(&self) -> impl ExactSizeIterator)> { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 149 | pub(crate) fn iter(&self) -> impl ExactSizeIterator)> + use<'a, 'v, S> { [INFO] [stdout] | ++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/runtime/params.rs:597:19 [INFO] [stdout] | [INFO] [stdout] 597 | } else if let Some(kwargs) = kwargs.kwargs { [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/eval/runtime/params.rs:603:9 [INFO] [stdout] | [INFO] [stdout] 603 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 597 ~ } else { match kwargs.kwargs { Some(kwargs) => { [INFO] [stdout] 598 | return Err(FunctionError::ExtraNamedArg { [INFO] [stdout] ... [INFO] [stdout] 602 | .into()); [INFO] [stdout] 603 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/runtime/profile/stmt.rs:180:12 [INFO] [stdout] | [INFO] [stdout] 180 | if let Some(data) = &mut self.0 { [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/eval/runtime/profile/stmt.rs:182:9 [INFO] [stdout] | [INFO] [stdout] 182 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 180 ~ match &mut self.0 { Some(data) => { [INFO] [stdout] 181 | data.before_stmt(span.span, span.file) [INFO] [stdout] 182 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/runtime/profile/time_flame.rs:231:12 [INFO] [stdout] | [INFO] [stdout] 231 | if let Some(x) = &mut self.0 { [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/eval/runtime/profile/time_flame.rs:234:9 [INFO] [stdout] | [INFO] [stdout] 234 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 231 ~ match &mut self.0 { Some(x) => { [INFO] [stdout] 232 | let ind = x.index.index(function); [INFO] [stdout] 233 | x.frames.push((Frame::Push(ind), Instant::now())) [INFO] [stdout] 234 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/runtime/profile/time_flame.rs:238:12 [INFO] [stdout] | [INFO] [stdout] 238 | if let Some(x) = &mut self.0 { [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/eval/runtime/profile/time_flame.rs:240:9 [INFO] [stdout] | [INFO] [stdout] 240 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 238 ~ match &mut self.0 { Some(x) => { [INFO] [stdout] 239 | x.frames.push((Frame::Pop, Instant::now())) [INFO] [stdout] 240 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/read_line.rs:59:28 [INFO] [stdout] | [INFO] [stdout] 59 | if let Err(e) = self.editor.save_history(&histfile) { [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/read_line.rs:61:25 [INFO] [stdout] | [INFO] [stdout] 61 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 59 ~ match self.editor.save_history(&histfile) { Err(e) => { [INFO] [stdout] 60 | eprintln!("Failed to save history to `{}`: {}", histfile, e); [INFO] [stdout] 61 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/bindings.rs:249:16 [INFO] [stdout] | [INFO] [stdout] 249 | if let Some((name, ty)) = name_ty { [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/typing/bindings.rs:253:13 [INFO] [stdout] | [INFO] [stdout] 253 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 249 ~ match name_ty { Some((name, ty)) => { [INFO] [stdout] 250 | self.bindings [INFO] [stdout] 251 | .types [INFO] [stdout] 252 | .insert(name.resolved_binding_id(codemap)?, ty); [INFO] [stdout] 253 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/bindings.rs:279:28 [INFO] [stdout] | [INFO] [stdout] 279 | if let AssignTargetP::Identifier(id) = &**lhs { [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/typing/bindings.rs:285:25 [INFO] [stdout] | [INFO] [stdout] 285 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 279 ~ match &**lhs { AssignTargetP::Identifier(id) => { [INFO] [stdout] 280 | // FIXME: This could be duplicated if you declare the type of a variable twice, [INFO] [stdout] ... [INFO] [stdout] 284 | .insert(id.resolved_binding_id(codemap)?, ty2); [INFO] [stdout] 285 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/bindings.rs:311:28 [INFO] [stdout] | [INFO] [stdout] 311 | if let ExprP::Dot(id, attr) = &***fun { [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/typing/bindings.rs:332:25 [INFO] [stdout] | [INFO] [stdout] 332 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 311 ~ match &***fun { ExprP::Dot(id, attr) => { [INFO] [stdout] 312 | if let ExprP::Identifier(id) = &id.node { [INFO] [stdout] ... [INFO] [stdout] 331 | } [INFO] [stdout] 332 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/bindings.rs:312:32 [INFO] [stdout] | [INFO] [stdout] 312 | ... if let ExprP::Identifier(id) = &id.node { [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/typing/bindings.rs:331:29 [INFO] [stdout] | [INFO] [stdout] 331 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 312 ~ match &id.node { ExprP::Identifier(id) => { [INFO] [stdout] 313 | let res = match attr.as_str() { [INFO] [stdout] ... [INFO] [stdout] 330 | } [INFO] [stdout] 331 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/ctx.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 111 | if let Err(e) = self.oracle.validate_type(got, require) { [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/typing/ctx.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 113 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 111 ~ match self.oracle.validate_type(got, require) { Err(e) => { [INFO] [stdout] 112 | self.errors.borrow_mut().push(e); [INFO] [stdout] 113 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/ctx.rs:133:16 [INFO] [stdout] | [INFO] [stdout] 133 | if let ExprP::Identifier(v0) = &array.node { [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/typing/ctx.rs:138:13 [INFO] [stdout] | [INFO] [stdout] 138 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 133 ~ match &array.node { ExprP::Identifier(v0) => { [INFO] [stdout] 134 | if v0.ident == "list" { [INFO] [stdout] ... [INFO] [stdout] 137 | } [INFO] [stdout] 138 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/ctx.rs:235:24 [INFO] [stdout] | [INFO] [stdout] 235 | if let Some(ty) = self.types.get(&i) { [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/typing/ctx.rs:237:21 [INFO] [stdout] | [INFO] [stdout] 237 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 235 ~ match self.types.get(&i) { Some(ty) => { [INFO] [stdout] 236 | return Ok(ty.clone()); [INFO] [stdout] 237 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/ctx.rs:348:20 [INFO] [stdout] | [INFO] [stdout] 348 | if let Some(ty) = self.types.get(i) { [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/typing/ctx.rs:350:17 [INFO] [stdout] | [INFO] [stdout] 350 | } 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] 348 ~ match self.types.get(i) { Some(ty) => { [INFO] [stdout] 349 | ty.clone() [INFO] [stdout] 350 ~ } _ => { [INFO] [stdout] 351 | // All types must be resolved to this point, [INFO] [stdout] 352 | // this code is unreachable. [INFO] [stdout] 353 | Ty::any() [INFO] [stdout] 354 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/fill_types_for_lint.rs:170:12 [INFO] [stdout] | [INFO] [stdout] 170 | if let Ok(xs) = xs.try_map(|v| v.value.ok_or(())) { [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/typing/fill_types_for_lint.rs:172:9 [INFO] [stdout] | [INFO] [stdout] 172 | } 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] 170 ~ match xs.try_map(|v| v.value.ok_or(())) { Ok(xs) => { [INFO] [stdout] 171 | Ok(GlobalValue::value(self.heap.alloc(AllocTuple(xs)))) [INFO] [stdout] 172 ~ } _ => { [INFO] [stdout] 173 | Ok(GlobalValue::any()) [INFO] [stdout] 174 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/fill_types_for_lint.rs:184:12 [INFO] [stdout] | [INFO] [stdout] 184 | if let Some(object) = object.value { [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/typing/fill_types_for_lint.rs:189:9 [INFO] [stdout] | [INFO] [stdout] 189 | } 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] 184 ~ match object.value { Some(object) => { [INFO] [stdout] 185 | match object.get_attr_error(field.as_str(), self.heap) { [INFO] [stdout] ... [INFO] [stdout] 188 | } [INFO] [stdout] 189 ~ } _ => { [INFO] [stdout] 190 | Ok(GlobalValue::any()) [INFO] [stdout] 191 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/fill_types_for_lint.rs:202:12 [INFO] [stdout] | [INFO] [stdout] 202 | if let (Some(array), Some(index)) = (array.value, index.node.value) { [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/typing/fill_types_for_lint.rs:207:9 [INFO] [stdout] | [INFO] [stdout] 207 | } 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] 202 ~ match (array.value, index.node.value) { (Some(array), Some(index)) => { [INFO] [stdout] 203 | match array.at(index, self.heap) { [INFO] [stdout] ... [INFO] [stdout] 206 | } [INFO] [stdout] 207 ~ } _ => { [INFO] [stdout] 208 | Ok(GlobalValue::any()) [INFO] [stdout] 209 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/fill_types_for_lint.rs:222:12 [INFO] [stdout] | [INFO] [stdout] 222 | if let (Some(array), Some(index0), Some(index1)) = (array.value, index0.value, index1.value) [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/typing/fill_types_for_lint.rs:228:9 [INFO] [stdout] | [INFO] [stdout] 228 | } 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] 222 ~ match (array.value, index0.value, index1.value) [INFO] [stdout] 223 ~ { (Some(array), Some(index0), Some(index1)) => { [INFO] [stdout] 224 | match array.get_ref().at2(index0, index1, self.heap) { [INFO] [stdout] ... [INFO] [stdout] 227 | } [INFO] [stdout] 228 ~ } _ => { [INFO] [stdout] 229 | Ok(GlobalValue::any()) [INFO] [stdout] 230 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/fill_types_for_lint.rs:242:12 [INFO] [stdout] | [INFO] [stdout] 242 | if let (Some(lhs), BinOp::BitOr, Some(rhs)) = (lhs.value, op, rhs.value) { [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/typing/fill_types_for_lint.rs:247:9 [INFO] [stdout] | [INFO] [stdout] 247 | } 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] 242 ~ match (lhs.value, op, rhs.value) { (Some(lhs), BinOp::BitOr, Some(rhs)) => { [INFO] [stdout] 243 | match lhs.bit_or(rhs, self.heap) { [INFO] [stdout] ... [INFO] [stdout] 246 | } [INFO] [stdout] 247 ~ } _ => { [INFO] [stdout] 248 | Ok(GlobalValue::any()) [INFO] [stdout] 249 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/fill_types_for_lint.rs:564:20 [INFO] [stdout] | [INFO] [stdout] 564 | if let Some(a) = self.expr_ident(a)?.value { [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/typing/fill_types_for_lint.rs:587:17 [INFO] [stdout] | [INFO] [stdout] 587 | } 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] 564 ~ match self.expr_ident(a)?.value { Some(a) => { [INFO] [stdout] 565 | if !a.ptr_eq(Constants::get().fn_list.0.to_value()) { [INFO] [stdout] ... [INFO] [stdout] 586 | } [INFO] [stdout] 587 ~ } _ => { [INFO] [stdout] 588 | self.approximations [INFO] [stdout] 589 | .push(Approximation::new("Not global", x)); [INFO] [stdout] 590 | Ok(Ty::any()) [INFO] [stdout] 591 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/fill_types_for_lint.rs:594:20 [INFO] [stdout] | [INFO] [stdout] 594 | if let Some(a) = self.expr_ident(a)?.value { [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/typing/fill_types_for_lint.rs:618:17 [INFO] [stdout] | [INFO] [stdout] 618 | } 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] 594 ~ match self.expr_ident(a)?.value { Some(a) => { [INFO] [stdout] 595 | if !a.ptr_eq(Constants::get().fn_dict.0.to_value()) { [INFO] [stdout] ... [INFO] [stdout] 617 | } [INFO] [stdout] 618 ~ } _ => { [INFO] [stdout] 619 | self.approximations [INFO] [stdout] 620 | .push(Approximation::new("Not global", x)); [INFO] [stdout] 621 | Ok(Ty::any()) [INFO] [stdout] 622 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/fill_types_for_lint.rs:625:20 [INFO] [stdout] | [INFO] [stdout] 625 | if let Some(a) = self.expr_ident(a)?.value { [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/typing/fill_types_for_lint.rs:651:17 [INFO] [stdout] | [INFO] [stdout] 651 | } 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] 625 ~ match self.expr_ident(a)?.value { Some(a) => { [INFO] [stdout] 626 | if !a.ptr_eq(Constants::get().fn_tuple.0.to_value()) { [INFO] [stdout] ... [INFO] [stdout] 650 | } [INFO] [stdout] 651 ~ } _ => { [INFO] [stdout] 652 | self.approximations [INFO] [stdout] 653 | .push(Approximation::new("Not global", x)); [INFO] [stdout] 654 | Ok(Ty::any()) [INFO] [stdout] 655 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/ty.rs:189:12 [INFO] [stdout] | [INFO] [stdout] 189 | if let Some(x) = Self::try_name_special(name) { [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/typing/ty.rs:191:9 [INFO] [stdout] | [INFO] [stdout] 191 | } 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] 189 ~ match Self::try_name_special(name) { Some(x) => { [INFO] [stdout] 190 | x [INFO] [stdout] 191 ~ } _ => { [INFO] [stdout] 192 | Ty::basic(TyBasic::Name(TyName::new(name))) [INFO] [stdout] 193 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/ty.rs:486:12 [INFO] [stdout] | [INFO] [stdout] 486 | if let Some(t) = value.get_ref().typechecker_ty() { [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/typing/ty.rs:488:9 [INFO] [stdout] | [INFO] [stdout] 488 | } 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] 486 ~ match value.get_ref().typechecker_ty() { Some(t) => { [INFO] [stdout] 487 | t [INFO] [stdout] 488 ~ } _ => { [INFO] [stdout] 489 | Ty::from_docs_member(&DocMember::from_value(value)) [INFO] [stdout] 490 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/typecheck.rs:239:16 [INFO] [stdout] | [INFO] [stdout] 239 | if let StmtP::Def(_) = &mut top.node { [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/typing/typecheck.rs:287:13 [INFO] [stdout] | [INFO] [stdout] 287 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 239 ~ match &mut top.node { StmtP::Def(_) => { [INFO] [stdout] 240 | let bindings = match BindingsCollect::collect_one( [INFO] [stdout] ... [INFO] [stdout] 286 | } [INFO] [stdout] 287 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/user.rs:215:12 [INFO] [stdout] | [INFO] [stdout] 215 | if let Ok(ty) = self.base.attr_from_methods(attr) { [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/typing/user.rs:217:9 [INFO] [stdout] | [INFO] [stdout] 217 | } 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] 215 ~ match self.base.attr_from_methods(attr) { Ok(ty) => { [INFO] [stdout] 216 | Ok(ty) [INFO] [stdout] 217 ~ } _ => { [INFO] [stdout] 218 | match self.fields.known.get(attr) { [INFO] [stdout] ... [INFO] [stdout] 227 | } [INFO] [stdout] 228 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/user.rs:232:12 [INFO] [stdout] | [INFO] [stdout] 232 | if let Some(index) = &self.index { [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/typing/user.rs:237:9 [INFO] [stdout] | [INFO] [stdout] 237 | } 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] 232 ~ match &self.index { Some(index) => { [INFO] [stdout] 233 | if !ctx.intersects(&Ty::basic(item.dupe()), &index.index) { [INFO] [stdout] ... [INFO] [stdout] 236 | Ok(index.result.dupe()) [INFO] [stdout] 237 ~ } _ => { [INFO] [stdout] 238 | self.base.index(item) [INFO] [stdout] 239 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/user.rs:243:12 [INFO] [stdout] | [INFO] [stdout] 243 | if let Some(iter_item) = &self.iter_item { [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/typing/user.rs:245:9 [INFO] [stdout] | [INFO] [stdout] 245 | } 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] 243 ~ match &self.iter_item { Some(iter_item) => { [INFO] [stdout] 244 | Ok(iter_item.dupe()) [INFO] [stdout] 245 ~ } _ => { [INFO] [stdout] 246 | self.base.iter_item() [INFO] [stdout] 247 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/user.rs:260:12 [INFO] [stdout] | [INFO] [stdout] 260 | if let Some(callable) = &self.callable { [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/typing/user.rs:262:9 [INFO] [stdout] | [INFO] [stdout] 262 | } 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] 260 ~ match &self.callable { Some(callable) => { [INFO] [stdout] 261 | callable.validate_call(span, args, oracle) [INFO] [stdout] 262 ~ } _ => { [INFO] [stdout] 263 | Ok(self.base.validate_call(span, oracle)?) [INFO] [stdout] 264 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/stdlib/breakpoint.rs:171:24 [INFO] [stdout] | [INFO] [stdout] 171 | if let Some(cmd) = pick_command(line.trim_end(), &mut *rl) { [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/stdlib/breakpoint.rs:179:21 [INFO] [stdout] | [INFO] [stdout] 179 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 171 ~ match pick_command(line.trim_end(), &mut *rl) { Some(cmd) => { [INFO] [stdout] 172 | match cmd(eval, &mut *rl)? { [INFO] [stdout] ... [INFO] [stdout] 178 | } [INFO] [stdout] 179 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/stdlib/dict.rs:322:16 [INFO] [stdout] | [INFO] [stdout] 322 | if let Some(dict) = DictRef::from_value(pairs) { [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/stdlib/dict.rs:326:13 [INFO] [stdout] | [INFO] [stdout] 326 | } 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] 322 ~ match DictRef::from_value(pairs) { Some(dict) => { [INFO] [stdout] 323 | for (k, v) in dict.iter_hashed() { [INFO] [stdout] 324 | this.insert_hashed(k, v); [INFO] [stdout] 325 | } [INFO] [stdout] 326 ~ } _ => { [INFO] [stdout] 327 | for v in pairs.iterate(heap)? { [INFO] [stdout] ... [INFO] [stdout] 337 | } [INFO] [stdout] 338 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/stdlib/funcs/dict.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | if let Some(second) = it.next() { [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/stdlib/funcs/dict.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 34 ~ match it.next() { Some(second) => { [INFO] [stdout] 35 | if it.next().is_none() { [INFO] [stdout] 36 | return Ok((first, second)); [INFO] [stdout] 37 | } [INFO] [stdout] 38 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/stdlib/funcs/list.rs:68:16 [INFO] [stdout] | [INFO] [stdout] 68 | if let Arg::Pos(arg_ty) = &arg.node { [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/stdlib/funcs/list.rs:72:13 [INFO] [stdout] | [INFO] [stdout] 72 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 68 ~ match &arg.node { Arg::Pos(arg_ty) => { [INFO] [stdout] 69 | // This is also infallible. [INFO] [stdout] 70 | let item = oracle.iter_item(Spanned { span, node: arg_ty })?; [INFO] [stdout] 71 | return Ok(Ty::list(item)); [INFO] [stdout] 72 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl IntoIterator>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/stdlib/funcs/other.rs:758:37 [INFO] [stdout] | [INFO] [stdout] 758 | ) -> starlark::Result>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/stdlib/funcs/other.rs:754:76 [INFO] [stdout] | [INFO] [stdout] 754 | #[starlark(require = pos)] x: ValueOfUnchecked<'v, ValueOfUnchecked>>, [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 757 | eval: &mut Evaluator<'v, '_>, [INFO] [stdout] | ^ ^^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 758 | ) -> starlark::Result> + use<'v>>> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/values/layout/heap/heap_type.rs:179:12 [INFO] [stdout] | [INFO] [stdout] 179 | if let Some(arc) = &self.0 { [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/values/layout/heap/heap_type.rs:182:9 [INFO] [stdout] | [INFO] [stdout] 182 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 179 ~ match &self.0 { Some(arc) => { [INFO] [stdout] 180 | let x: &FrozenFrozenHeap = Deref::deref(&arc); [INFO] [stdout] 181 | ptr::hash(x, state); [INFO] [stdout] 182 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/values/layout/value.rs:577:12 [INFO] [stdout] | [INFO] [stdout] 577 | if let Some(r) = self.get_ref().mul(other, heap) { [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] 578 | r [INFO] [stdout] 579 | } else if let Some(r) = other.get_ref().rmul(self, heap) { [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/values/layout/value.rs:579:9 [INFO] [stdout] | [INFO] [stdout] 579 | } else if let Some(r) = other.get_ref().rmul(self, heap) { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/values/layout/value.rs:581:9 [INFO] [stdout] | [INFO] [stdout] 581 | } 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] 577 ~ match self.get_ref().mul(other, heap) { Some(r) => { [INFO] [stdout] 578 | r [INFO] [stdout] 579 ~ } _ => { match other.get_ref().rmul(self, heap) { Some(r) => { [INFO] [stdout] 580 | r [INFO] [stdout] 581 ~ } _ => { [INFO] [stdout] 582 | ValueError::unsupported_owned(self.get_type(), "*", Some(other.get_type())) [INFO] [stdout] 583 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/values/layout/value.rs:719:12 [INFO] [stdout] | [INFO] [stdout] 719 | if let Some(v) = self.get_ref().add(other, heap) { [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] 720 | v [INFO] [stdout] 721 | } else if let Some(v) = other.get_ref().radd(self, heap) { [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/values/layout/value.rs:721:9 [INFO] [stdout] | [INFO] [stdout] 721 | } else if let Some(v) = other.get_ref().radd(self, heap) { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/values/layout/value.rs:723:9 [INFO] [stdout] | [INFO] [stdout] 723 | } 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] 719 ~ match self.get_ref().add(other, heap) { Some(v) => { [INFO] [stdout] 720 | v [INFO] [stdout] 721 ~ } _ => { match other.get_ref().radd(self, heap) { Some(v) => { [INFO] [stdout] 722 | v [INFO] [stdout] 723 ~ } _ => { [INFO] [stdout] 724 | ValueError::unsupported_owned(self.get_type(), "+", Some(other.get_type())) [INFO] [stdout] 725 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl ExactSizeIterator + Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/values/types/dict/refs.rs:112:27 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn iter(&self) -> impl ExactSizeIterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/values/types/dict/refs.rs:112:17 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn iter(&self) -> impl ExactSizeIterator { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 112 | pub fn iter(&self) -> impl ExactSizeIterator + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/values/types/string/dot_format.rs:141:11 [INFO] [stdout] | [INFO] [stdout] 141 | while let Some(token) = parser.next()? { [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/values/types/string/dot_format.rs:149:5 [INFO] [stdout] | [INFO] [stdout] 149 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl ExactSizeIterator + Iterator, FrozenValue)> + 'f` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/values/types/structs/refs.rs:72:27 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn iter(&self) -> impl ExactSizeIterator + 'f { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/values/types/structs/refs.rs:72:17 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn iter(&self) -> impl ExactSizeIterator + 'f { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 72 | pub fn iter(&self) -> impl ExactSizeIterator + 'f + use<'f> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/values/typing/type_compiled/compiled.rs:459:19 [INFO] [stdout] | [INFO] [stdout] 459 | } else if let Some(ty) = ty.get_ref().eval_type() { [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/values/typing/type_compiled/compiled.rs:461:9 [INFO] [stdout] | [INFO] [stdout] 461 | } 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] 459 ~ } else { match ty.get_ref().eval_type() { Some(ty) => { [INFO] [stdout] 460 | Ok(TypeCompiled::from_ty(&ty, heap)) [INFO] [stdout] 461 ~ } _ => { [INFO] [stdout] 462 | Err(invalid_type_annotation(ty, heap).into()) [INFO] [stdout] 463 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/values/typing/type_compiled/compiled.rs:490:15 [INFO] [stdout] | [INFO] [stdout] 490 | } else if let Some(name) = ty [INFO] [stdout] | ________________^ - [INFO] [stdout] | | ________________________________| [INFO] [stdout] 491 | || .get_attr("type", heap) [INFO] [stdout] | ||_______________________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 492 | | .ok() [INFO] [stdout] 493 | | .flatten() [INFO] [stdout] 494 | | .and_then(|v| v.unpack_str()) [INFO] [stdout] | |______________________________________^ [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/values/typing/type_compiled/compiled.rs:497:5 [INFO] [stdout] | [INFO] [stdout] 497 | } 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] 490 ~ } else { match ty [INFO] [stdout] 491 | .get_attr("type", heap) [INFO] [stdout] ... [INFO] [stdout] 494 | .and_then(|v| v.unpack_str()) [INFO] [stdout] 495 ~ { Some(name) => { [INFO] [stdout] 496 | TypingError::PerhapsYouMeant(ty.to_str(), name.into()) [INFO] [stdout] 497 ~ } _ => { [INFO] [stdout] 498 | TypingError::InvalidTypeAnnotation(ty.to_str()) [INFO] [stdout] 499 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/values/unpack.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 200 | if let Some(left) = TLeft::unpack_value(value) { [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/values/unpack.rs:202:9 [INFO] [stdout] | [INFO] [stdout] 202 | } 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] 200 ~ match TLeft::unpack_value(value) { Some(left) => { [INFO] [stdout] 201 | Some(Self::Left(left)) [INFO] [stdout] 202 ~ } _ => { [INFO] [stdout] 203 | TRight::unpack_value(value).map(Self::Right) [INFO] [stdout] 204 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 257 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `starlark` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/cast.rs [INFO] [stderr] * src/hint.rs [INFO] [stderr] * src/lib.rs [INFO] [stderr] * src/tests/call.rs [INFO] [stderr] * src/tests/go.rs [INFO] [stderr] * src/tests/runtime.rs [INFO] [stderr] * src/values/frozen_ref.rs [INFO] [stderr] * src/values/layout/const_frozen_string.rs [INFO] [stderr] * src/values/layout/const_type_id.rs [INFO] [stderr] * src/values/starlark_type_id.rs [INFO] [stderr] * src/values/types/dict/refs.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/cast.rs:40:24 [INFO] [stderr] | [INFO] [stderr] 40 | ($from:ty, $to:ty, $e:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/values/layout/const_frozen_string.rs:21:6 [INFO] [stderr] | [INFO] [stderr] 21 | ($s:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/tests/go.rs:28:10 [INFO] [stderr] | [INFO] [stderr] 28 | ($name: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: unexpected `cfg` condition name: `rust_nightly` [INFO] [stderr] --> src/lib.rs:396:13 [INFO] [stderr] | [INFO] [stderr] 396 | #![cfg_attr(rust_nightly, feature(const_type_id))] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `fmt_debug`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, and `windows` [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stderr] --> src/lib.rs:397:13 [INFO] [stderr] | [INFO] [stderr] 397 | #![cfg_attr(rust_nightly, feature(core_intrinsics))] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stderr] --> src/lib.rs:398:13 [INFO] [stderr] | [INFO] [stderr] 398 | #![cfg_attr(rust_nightly, feature(cfg_sanitize))] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stderr] --> src/lib.rs:399:13 [INFO] [stderr] | [INFO] [stderr] 399 | #![cfg_attr(rust_nightly, feature(const_type_name))] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: the feature `core_intrinsics` is internal to the compiler or standard library [INFO] [stderr] --> src/lib.rs:397:35 [INFO] [stderr] | [INFO] [stderr] 397 | #![cfg_attr(rust_nightly, feature(core_intrinsics))] [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: using it is strongly discouraged [INFO] [stderr] = note: `#[warn(internal_features)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stderr] --> src/hint.rs:18:7 [INFO] [stderr] | [INFO] [stderr] 18 | #[cfg(rust_nightly)] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stderr] --> src/hint.rs:20:7 [INFO] [stderr] | [INFO] [stderr] 20 | #[cfg(rust_nightly)] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stderr] --> src/hint.rs:23:11 [INFO] [stderr] | [INFO] [stderr] 23 | #[cfg(not(rust_nightly))] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stderr] --> src/hint.rs:29:11 [INFO] [stderr] | [INFO] [stderr] 29 | #[cfg(not(rust_nightly))] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: elided lifetime has a name [INFO] [stderr] --> src/values/frozen_ref.rs:65:55 [INFO] [stderr] | [INFO] [stderr] 64 | impl<'f, T: 'f + ?Sized> FrozenRef<'f, T> { [INFO] [stderr] | -- lifetime `'f` declared here [INFO] [stderr] 65 | pub(crate) const fn new(value: &'f T) -> FrozenRef { [INFO] [stderr] | ^ this elided lifetime gets resolved as `'f` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stderr] --> src/values/layout/const_type_id.rs:32:11 [INFO] [stderr] | [INFO] [stderr] 32 | #[cfg(rust_nightly)] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stderr] --> src/values/layout/const_type_id.rs:34:15 [INFO] [stderr] | [INFO] [stderr] 34 | #[cfg(not(rust_nightly))] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stderr] --> src/values/layout/const_type_id.rs:64:19 [INFO] [stderr] | [INFO] [stderr] 64 | #[cfg(rust_nightly)] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stderr] --> src/values/layout/const_type_id.rs:66:23 [INFO] [stderr] | [INFO] [stderr] 66 | #[cfg(not(rust_nightly))] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stderr] --> src/values/layout/const_type_id.rs:73:15 [INFO] [stderr] | [INFO] [stderr] 73 | #[cfg(rust_nightly)] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stderr] --> src/values/layout/const_type_id.rs:75:19 [INFO] [stderr] | [INFO] [stderr] 75 | #[cfg(not(rust_nightly))] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stderr] --> src/values/starlark_type_id.rs:45:15 [INFO] [stderr] | [INFO] [stderr] 45 | #[cfg(rust_nightly)] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: elided lifetime has a name [INFO] [stderr] --> src/values/types/dict/refs.rs:73:55 [INFO] [stderr] | [INFO] [stderr] 70 | impl<'v> DictMut<'v> { [INFO] [stderr] | -- lifetime `'v` declared here [INFO] [stderr] ... [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/eval/runtime/evaluator.rs:352:18 [INFO] [stdout] | [INFO] [stdout] 352 | .gen(self.heap(), HeapProfileFormat::Summary), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 73 | pub fn from_value(x: Value<'v>) -> anyhow::Result { [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/eval/runtime/evaluator.rs:355:18 [INFO] [stdout] | [INFO] [stdout] 355 | .gen(self.heap(), HeapProfileFormat::FlameGraph), [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] [stderr] | ^^^^^^^ this elided lifetime gets resolved as `'v` [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/eval/runtime/evaluator.rs:359:57 [INFO] [stdout] | [INFO] [stdout] 359 | ProfileMode::Statement => self.stmt_profile.gen(), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/eval/runtime/evaluator.rs:363:63 [INFO] [stdout] | [INFO] [stdout] 363 | ProfileMode::TimeFlame => self.time_flame_profile.gen(), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/eval/runtime/evaluator.rs:364:62 [INFO] [stdout] | [INFO] [stdout] 364 | ProfileMode::Typecheck => self.typecheck_profile.gen(), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/tests/call.rs:249:12 [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/eval/runtime/profile/bc.rs:286:50 [INFO] [stdout] | [INFO] [stdout] 286 | let csv = eval.gen_bc_profile().unwrap().gen().unwrap(); [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] [stderr] | [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/eval/runtime/profile/bc.rs:305:56 [INFO] [stdout] | [INFO] [stdout] 305 | let csv = eval.gen_bc_pairs_profile().unwrap().gen().unwrap(); [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] [stderr] 249 | #[cfg_attr(rust_nightly, cfg(not(sanitize = "address")))] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/eval/runtime/profile/data.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn gen(&self) -> anyhow::Result { [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] [stderr] | ^^^^^^^^^^^^ [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/eval/runtime/profile/data.rs:95:30 [INFO] [stdout] | [INFO] [stdout] 95 | fs::write(path, self.gen()?).with_context(|| { [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] [stderr] | [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/eval/runtime/profile/heap.rs:87:19 [INFO] [stdout] | [INFO] [stdout] 87 | pub(crate) fn gen( [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/eval/runtime/profile/stmt.rs:186:19 [INFO] [stdout] | [INFO] [stdout] 186 | pub(crate) fn gen(&self) -> anyhow::Result { [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] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/eval/runtime/profile/time_flame.rs:244:19 [INFO] [stdout] | [INFO] [stdout] 244 | pub(crate) fn gen(&self) -> anyhow::Result { [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] [stderr] [lints.rust] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/eval/runtime/profile/time_flame.rs:335:51 [INFO] [stdout] | [INFO] [stdout] 335 | let profile = eval.gen_profile().unwrap().gen().unwrap(); [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] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/eval/runtime/profile/typecheck.rs:71:19 [INFO] [stdout] | [INFO] [stdout] 71 | pub(crate) fn gen(&self) -> anyhow::Result { [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] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/typing/user.rs:405:33 [INFO] [stdout] | [INFO] [stdout] 405 | TypeInstanceId::gen(), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/typing/user.rs:416:33 [INFO] [stdout] | [INFO] [stdout] 416 | TypeInstanceId::gen(), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/values/types/enumeration/enum_type.rs:184:34 [INFO] [stdout] | [INFO] [stdout] 184 | let id = TypeInstanceId::gen(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/values/types/enumeration/enum_type.rs:321:33 [INFO] [stdout] | [INFO] [stdout] 321 | TypeInstanceId::gen(), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/tests/runtime.rs:93:12 [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/values/types/record/record_type.rs:166:33 [INFO] [stdout] | [INFO] [stdout] 166 | id: TypeInstanceId::gen(), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/values/types/record/record_type.rs:322:33 [INFO] [stdout] | [INFO] [stdout] 322 | TypeInstanceId::gen(), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 93 | #[cfg_attr(rust_nightly, cfg(not(sanitize = "address")))] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/values/types/type_instance_id.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn gen() -> TypeInstanceId { [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] [stderr] | ^^^^^^^^^^^^ [INFO] [stdout] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] --> src/lib.rs:396:13 [INFO] [stdout] | [INFO] [stdout] 396 | #![cfg_attr(rust_nightly, feature(const_type_id))] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `fmt_debug`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, and `windows` [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] --> src/lib.rs:397:13 [INFO] [stdout] | [INFO] [stdout] 397 | #![cfg_attr(rust_nightly, feature(core_intrinsics))] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stdout] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] --> src/lib.rs:398:13 [INFO] [stdout] | [INFO] [stdout] 398 | #![cfg_attr(rust_nightly, feature(cfg_sanitize))] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] --> src/lib.rs:399:13 [INFO] [stdout] | [INFO] [stdout] 399 | #![cfg_attr(rust_nightly, feature(const_type_name))] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [lints.rust] [INFO] [stdout] warning: the feature `core_intrinsics` is internal to the compiler or standard library [INFO] [stdout] --> src/lib.rs:397:35 [INFO] [stdout] | [INFO] [stdout] 397 | #![cfg_attr(rust_nightly, feature(core_intrinsics))] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: using it is strongly discouraged [INFO] [stdout] = note: `#[warn(internal_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/cast.rs:40:27 [INFO] [stdout] | [INFO] [stdout] 40 | ($from:ty, $to:ty, $e: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] 40 | ($from:ty, $to:ty, $e:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stdout] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] --> src/hint.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | #[cfg(rust_nightly)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stdout] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] --> src/hint.rs:20:7 [INFO] [stdout] | [INFO] [stdout] 20 | #[cfg(rust_nightly)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] --> src/hint.rs:23:11 [INFO] [stdout] | [INFO] [stdout] 23 | #[cfg(not(rust_nightly))] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: aborting due to 3 previous errors; 20 warnings emitted [INFO] [stdout] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] --> src/hint.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | #[cfg(not(rust_nightly))] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/values/frozen_ref.rs:65:55 [INFO] [stdout] | [INFO] [stdout] 64 | impl<'f, T: 'f + ?Sized> FrozenRef<'f, T> { [INFO] [stdout] | -- lifetime `'f` declared here [INFO] [stdout] 65 | pub(crate) const fn new(value: &'f T) -> FrozenRef { [INFO] [stdout] | ^ this elided lifetime gets resolved as `'f` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/values/layout/const_frozen_string.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | ($s:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 21 | ($s:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Original diagnostics will follow. [INFO] [stdout] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] --> src/values/layout/const_type_id.rs:32:11 [INFO] [stdout] | [INFO] [stdout] 32 | #[cfg(rust_nightly)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] --> src/values/layout/const_type_id.rs:34:15 [INFO] [stdout] | [INFO] [stdout] 34 | #[cfg(not(rust_nightly))] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] --> src/values/layout/const_type_id.rs:64:19 [INFO] [stdout] | [INFO] [stdout] 64 | #[cfg(rust_nightly)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] --> src/values/layout/const_type_id.rs:66:23 [INFO] [stdout] | [INFO] [stdout] 66 | #[cfg(not(rust_nightly))] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] --> src/values/layout/const_type_id.rs:73:15 [INFO] [stdout] | [INFO] [stdout] 73 | #[cfg(rust_nightly)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] --> src/values/layout/const_type_id.rs:75:19 [INFO] [stdout] | [INFO] [stdout] 75 | #[cfg(not(rust_nightly))] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] --> src/values/starlark_type_id.rs:45:15 [INFO] [stdout] | [INFO] [stdout] 45 | #[cfg(rust_nightly)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/values/types/dict/refs.rs:73:55 [INFO] [stdout] | [INFO] [stdout] 70 | impl<'v> DictMut<'v> { [INFO] [stdout] | -- lifetime `'v` declared here [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn from_value(x: Value<'v>) -> anyhow::Result { [INFO] [stdout] | ^^^^^^^ this elided lifetime gets resolved as `'v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] --> src/tests/call.rs:249:12 [INFO] [stdout] | [INFO] [stdout] 249 | #[cfg_attr(rust_nightly, cfg(not(sanitize = "address")))] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/tests/go.rs:28:16 [INFO] [stdout] | [INFO] [stdout] 28 | ($name:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 28 | ($name:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `rust_nightly` [INFO] [stdout] --> src/tests/runtime.rs:93:12 [INFO] [stdout] | [INFO] [stdout] 93 | #[cfg_attr(rust_nightly, cfg(not(sanitize = "address")))] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(rust_nightly)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(rust_nightly)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `eval::bc::instrs::::drop_in_place` is unsafe and requires unsafe block [INFO] [stdout] --> src/eval/bc/instrs.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | opcode.drop_in_place(ptr); [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/eval/bc/instrs.rs:71:1 [INFO] [stdout] | [INFO] [stdout] 71 | unsafe fn drop_instrs(instrs: &[u64]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::drop_in_place` is unsafe and requires unsafe block [INFO] [stdout] --> src/eval/compiler/def.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | ptr::drop_in_place(self.cell.get()); [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/eval/compiler/def.rs:130:5 [INFO] [stdout] | [INFO] [stdout] 130 | unsafe fn set(&self, value: Bc) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::write` is unsafe and requires unsafe block [INFO] [stdout] --> src/eval/compiler/def.rs:132:9 [INFO] [stdout] | [INFO] [stdout] 132 | ptr::write(self.cell.get(), value); [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 `values::layout::heap::heap_type::Heap::garbage_collect` is unsafe and requires unsafe block [INFO] [stdout] --> src/eval/runtime/evaluator.rs:727:9 [INFO] [stdout] | [INFO] [stdout] 727 | self.heap().garbage_collect(|tracer| self.trace(tracer)); [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/eval/runtime/evaluator.rs:713:5 [INFO] [stdout] | [INFO] [stdout] 713 | pub unsafe fn garbage_collect(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/cast.rs:29:6 [INFO] [stdout] | [INFO] [stdout] 29 | &*(x as *const T) [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/cast.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | pub(crate) unsafe fn usize_to_ptr<'a, T>(x: usize) -> &'a T { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/cast.rs:34:6 [INFO] [stdout] | [INFO] [stdout] 34 | &*(x as *const T) [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/cast.rs:33:1 [INFO] [stdout] | [INFO] [stdout] 33 | pub(crate) unsafe fn ptr_lifetime<'a, 'b, T: ?Sized>(x: &'a T) -> &'b T { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:282:13 [INFO] [stdout] | [INFO] [stdout] 282 | (*me).payload.1.len() > 1, [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/values/layout/avalue.rs:277:5 [INFO] [stdout] | [INFO] [stdout] 277 | / unsafe fn heap_freeze( [INFO] [stdout] 278 | | me: *mut AValueRepr, [INFO] [stdout] 279 | | freezer: &Freezer, [INFO] [stdout] 280 | | ) -> anyhow::Result { [INFO] [stdout] | |____________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:286:17 [INFO] [stdout] | [INFO] [stdout] 286 | let s = (*me).payload.1.as_str(); [INFO] [stdout] | ^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::heap::repr::AValueHeader::overwrite_with_forward` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:289:9 [INFO] [stdout] | [INFO] [stdout] 289 | AValueHeader::overwrite_with_forward::(me, ForwardPtr::new(fv.0.raw().ptr_value())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:295:13 [INFO] [stdout] | [INFO] [stdout] 295 | (*me).payload.1.len() > 1, [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/values/layout/avalue.rs:293:5 [INFO] [stdout] | [INFO] [stdout] 293 | unsafe fn heap_copy(me: *mut AValueRepr, tracer: &Tracer<'v>) -> Value<'v> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:299:17 [INFO] [stdout] | [INFO] [stdout] 299 | let s = (*me).payload.1.as_str(); [INFO] [stdout] | ^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::heap::repr::AValueHeader::overwrite_with_forward` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:302:9 [INFO] [stdout] | [INFO] [stdout] 302 | / AValueHeader::overwrite_with_forward::( [INFO] [stdout] 303 | | me, [INFO] [stdout] 304 | | ForwardPtr::new(v.0.raw().ptr_value() & !1), [INFO] [stdout] 305 | | ); [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:328:13 [INFO] [stdout] | [INFO] [stdout] 328 | (*me).payload.1.len() != 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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/values/layout/avalue.rs:323:5 [INFO] [stdout] | [INFO] [stdout] 323 | / unsafe fn heap_freeze( [INFO] [stdout] 324 | | me: *mut AValueRepr, [INFO] [stdout] 325 | | freezer: &Freezer, [INFO] [stdout] 326 | | ) -> anyhow::Result { [INFO] [stdout] | |____________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:333:23 [INFO] [stdout] | [INFO] [stdout] 333 | let content = (*me).payload.1.content(); [INFO] [stdout] | ^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::heap::repr::AValueHeader::overwrite_with_forward` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:337:9 [INFO] [stdout] | [INFO] [stdout] 337 | AValueHeader::overwrite_with_forward::(me, ForwardPtr::new(fv.0.raw().ptr_value())); [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 `values::types::tuple::value::TupleGen::::new` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:343:13 [INFO] [stdout] | [INFO] [stdout] 343 | FrozenTuple::new(content.len()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:352:13 [INFO] [stdout] | [INFO] [stdout] 352 | (*me).payload.1.len() != 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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/values/layout/avalue.rs:350:5 [INFO] [stdout] | [INFO] [stdout] 350 | unsafe fn heap_copy(me: *mut AValueRepr, tracer: &Tracer<'v>) -> Value<'v> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:357:23 [INFO] [stdout] | [INFO] [stdout] 357 | let content = (*me).payload.1.content_mut(); [INFO] [stdout] | ^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::heap::repr::AValueHeader::overwrite_with_forward` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:360:17 [INFO] [stdout] | [INFO] [stdout] 360 | let x = AValueHeader::overwrite_with_forward::( [INFO] [stdout] | _________________^ [INFO] [stdout] 361 | | me, [INFO] [stdout] 362 | | ForwardPtr::new(clear_lsb(v.0.raw().ptr_value())), [INFO] [stdout] 363 | | ); [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:418:23 [INFO] [stdout] | [INFO] [stdout] 418 | let content = (*me).payload.1.0.content(); [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/values/layout/avalue.rs:414:5 [INFO] [stdout] | [INFO] [stdout] 414 | / unsafe fn heap_freeze( [INFO] [stdout] 415 | | me: *mut AValueRepr, [INFO] [stdout] 416 | | freezer: &Freezer, [INFO] [stdout] 417 | | ) -> anyhow::Result { [INFO] [stdout] | |____________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::heap::repr::AValueHeader::overwrite_with_forward` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:422:13 [INFO] [stdout] | [INFO] [stdout] 422 | / AValueHeader::overwrite_with_forward::( [INFO] [stdout] 423 | | me, [INFO] [stdout] 424 | | ForwardPtr::new(fv.0.raw().ptr_value()), [INFO] [stdout] 425 | | ); [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 `values::layout::heap::repr::AValueHeader::overwrite_with_forward` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:431:9 [INFO] [stdout] | [INFO] [stdout] 431 | AValueHeader::overwrite_with_forward::(me, ForwardPtr::new(fv.0.raw().ptr_value())); [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 `values::types::list::value::FrozenListData::new` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:432:53 [INFO] [stdout] | [INFO] [stdout] 432 | r.fill(AValueImpl::::new(ListGen(FrozenListData::new( [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 433 | | content.len(), [INFO] [stdout] 434 | | )))); [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 `values::layout::avalue::AValueImpl::::heap_copy_impl` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:443:9 [INFO] [stdout] | [INFO] [stdout] 443 | Self::heap_copy_impl(me, tracer, Trace::trace) [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/values/layout/avalue.rs:442:5 [INFO] [stdout] | [INFO] [stdout] 442 | unsafe fn heap_copy(me: *mut AValueRepr, tracer: &Tracer<'v>) -> Value<'v> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:495:13 [INFO] [stdout] | [INFO] [stdout] 495 | (*me).payload.1.capacity() != 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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/values/layout/avalue.rs:493:5 [INFO] [stdout] | [INFO] [stdout] 493 | unsafe fn heap_copy(me: *mut AValueRepr, tracer: &Tracer<'v>) -> Value<'v> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:499:12 [INFO] [stdout] | [INFO] [stdout] 499 | if (*me).payload.1.len() == 0 { [INFO] [stdout] | ^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:504:23 [INFO] [stdout] | [INFO] [stdout] 504 | let content = (*me).payload.1.content_mut(); [INFO] [stdout] | ^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::heap::repr::AValueHeader::overwrite_with_forward` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:507:17 [INFO] [stdout] | [INFO] [stdout] 507 | let x = AValueHeader::overwrite_with_forward::( [INFO] [stdout] | _________________^ [INFO] [stdout] 508 | | me, [INFO] [stdout] 509 | | ForwardPtr::new(clear_lsb(v.0.raw().ptr_value())), [INFO] [stdout] 510 | | ); [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 `values::types::array::Array::<'v>::new` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:517:45 [INFO] [stdout] | [INFO] [stdout] 517 | r.fill(AValueImpl::::new(Array::new( [INFO] [stdout] | _____________________________________________^ [INFO] [stdout] 518 | | content.len() as u32, [INFO] [stdout] 519 | | content.len() as u32, [INFO] [stdout] 520 | | ))); [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 `values::layout::heap::repr::AValueHeader::overwrite_with_forward` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:561:17 [INFO] [stdout] | [INFO] [stdout] 561 | let x = AValueHeader::overwrite_with_forward::( [INFO] [stdout] | _________________^ [INFO] [stdout] 562 | | me, [INFO] [stdout] 563 | | ForwardPtr::new(fv.0.raw().ptr_value()), [INFO] [stdout] 564 | | ); [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/values/layout/avalue.rs:553:5 [INFO] [stdout] | [INFO] [stdout] 553 | / unsafe fn heap_freeze_simple_impl<'v>( [INFO] [stdout] 554 | | me: *mut AValueRepr, [INFO] [stdout] 555 | | freezer: &Freezer, [INFO] [stdout] 556 | | ) -> anyhow::Result [INFO] [stdout] 557 | | where [INFO] [stdout] 558 | | Self: AValue<'v, ExtraElem = ()>, [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::avalue::AValueImpl::::heap_freeze_simple_impl` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:587:9 [INFO] [stdout] | [INFO] [stdout] 587 | Self::heap_freeze_simple_impl(me, freezer) [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/values/layout/avalue.rs:583:5 [INFO] [stdout] | [INFO] [stdout] 583 | / unsafe fn heap_freeze( [INFO] [stdout] 584 | | me: *mut AValueRepr, [INFO] [stdout] 585 | | freezer: &Freezer, [INFO] [stdout] 586 | | ) -> anyhow::Result { [INFO] [stdout] | |____________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::avalue::AValueImpl::::heap_copy_impl` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:591:9 [INFO] [stdout] | [INFO] [stdout] 591 | Self::heap_copy_impl(me, tracer, |_v, _tracer| {}) [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/values/layout/avalue.rs:590:5 [INFO] [stdout] | [INFO] [stdout] 590 | unsafe fn heap_copy(me: *mut AValueRepr, tracer: &Tracer<'static>) -> Value<'static> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::heap::repr::AValueHeader::overwrite_with_forward` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:606:21 [INFO] [stdout] | [INFO] [stdout] 606 | let mut x = AValueHeader::overwrite_with_forward::( [INFO] [stdout] | _____________________^ [INFO] [stdout] 607 | | me, [INFO] [stdout] 608 | | ForwardPtr::new(clear_lsb(v.0.raw().ptr_value())), [INFO] [stdout] 609 | | ); [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/values/layout/avalue.rs:597:5 [INFO] [stdout] | [INFO] [stdout] 597 | / unsafe fn heap_copy_impl<'v>( [INFO] [stdout] 598 | | me: *mut AValueRepr, [INFO] [stdout] 599 | | tracer: &Tracer<'v>, [INFO] [stdout] 600 | | trace: impl FnOnce(&mut C, &Tracer<'v>), [INFO] [stdout] 601 | | ) -> Value<'v> [INFO] [stdout] 602 | | where [INFO] [stdout] 603 | | Self: AValue<'v, ExtraElem = ()>, [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::heap::repr::AValueHeader::overwrite_with_forward` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:639:17 [INFO] [stdout] | [INFO] [stdout] 639 | let x = AValueHeader::overwrite_with_forward::( [INFO] [stdout] | _________________^ [INFO] [stdout] 640 | | me, [INFO] [stdout] 641 | | ForwardPtr::new(fv.0.raw().ptr_value()), [INFO] [stdout] 642 | | ); [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/values/layout/avalue.rs:634:5 [INFO] [stdout] | [INFO] [stdout] 634 | / unsafe fn heap_freeze( [INFO] [stdout] 635 | | me: *mut AValueRepr, [INFO] [stdout] 636 | | freezer: &Freezer, [INFO] [stdout] 637 | | ) -> anyhow::Result { [INFO] [stdout] | |____________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::avalue::AValueImpl::::heap_copy_impl` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:653:9 [INFO] [stdout] | [INFO] [stdout] 653 | Self::heap_copy_impl(me, tracer, Trace::trace) [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/values/layout/avalue.rs:652:5 [INFO] [stdout] | [INFO] [stdout] 652 | unsafe fn heap_copy(me: *mut AValueRepr, tracer: &Tracer<'v>) -> Value<'v> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::avalue::AValueImpl::::heap_copy_impl` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/avalue.rs:681:9 [INFO] [stdout] | [INFO] [stdout] 681 | Self::heap_copy_impl(me, tracer, Trace::trace) [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/values/layout/avalue.rs:680:5 [INFO] [stdout] | [INFO] [stdout] 680 | unsafe fn heap_copy(me: *mut AValueRepr, tracer: &Tracer<'v>) -> Value<'v> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bumpalo::Bump::iter_allocated_chunks_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/allocator/bumpalo.rs:76:19 [INFO] [stdout] | [INFO] [stdout] 76 | iter: Bump::iter_allocated_chunks_raw(self), [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/values/layout/heap/allocator/bumpalo.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | unsafe fn iter_allocated_chunks_rev(&self) -> Self::ChunkRevIterator<'_> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::heap::repr::AValueHeader::unpack_value` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/arena.rs:356:29 [INFO] [stdout] | [INFO] [stdout] 356 | let value = header.unpack_value(heap_kind); [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/values/layout/heap/arena.rs:330:5 [INFO] [stdout] | [INFO] [stdout] 330 | / pub(crate) unsafe fn visit_arena<'v>( [INFO] [stdout] 331 | | &'v mut self, [INFO] [stdout] 332 | | heap_kind: HeapKind, [INFO] [stdout] 333 | | forward_heap_kind: HeapKind, [INFO] [stdout] 334 | | visitor: &mut impl ArenaVisitor<'v>, [INFO] [stdout] 335 | | ) { [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/fast_cell.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 81 | (*self.value.get()).as_mut_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/values/layout/heap/fast_cell.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 79 | pub(crate) unsafe fn get_mut(&self) -> *mut T { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::mem::MaybeUninit::::assume_init` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/fast_cell.rs:89:9 [INFO] [stdout] | [INFO] [stdout] 89 | mem::replace(&mut *self.value.get(), MaybeUninit::zeroed()).assume_init() [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/values/layout/heap/fast_cell.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | pub(crate) unsafe fn take(&self) -> T { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/fast_cell.rs:89:27 [INFO] [stdout] | [INFO] [stdout] 89 | mem::replace(&mut *self.value.get(), MaybeUninit::zeroed()).assume_init() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/fast_cell.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | *self.value.get() = MaybeUninit::new(value); [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/values/layout/heap/fast_cell.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 93 | pub(crate) unsafe fn set(&self, value: T) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::heap::arena::Arena::::visit_arena` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/heap_type.rs:813:9 [INFO] [stdout] | [INFO] [stdout] 813 | (*self.arena.get_mut()).visit_arena(HeapKind::Unfrozen, forward_heap_kind, v) [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/values/layout/heap/heap_type.rs:808:5 [INFO] [stdout] | [INFO] [stdout] 808 | / pub(crate) unsafe fn visit_arena<'v>( [INFO] [stdout] 809 | | &'v self, [INFO] [stdout] 810 | | forward_heap_kind: HeapKind, [INFO] [stdout] 811 | | v: &mut impl ArenaVisitor<'v>, [INFO] [stdout] 812 | | ) { [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/heap_type.rs:813:9 [INFO] [stdout] | [INFO] [stdout] 813 | (*self.arena.get_mut()).visit_arena(HeapKind::Unfrozen, forward_heap_kind, v) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::heap::fast_cell::FastCell::::get_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/heap_type.rs:813:11 [INFO] [stdout] | [INFO] [stdout] 813 | (*self.arena.get_mut()).visit_arena(HeapKind::Unfrozen, forward_heap_kind, v) [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 `values::layout::heap::heap_type::Heap::garbage_collect_internal` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/heap_type.rs:823:9 [INFO] [stdout] | [INFO] [stdout] 823 | self.garbage_collect_internal(f) [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/values/layout/heap/heap_type.rs:820:5 [INFO] [stdout] | [INFO] [stdout] 820 | pub(crate) unsafe fn garbage_collect<'v>(&'v self, f: impl FnOnce(&Tracer<'v>)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::heap::fast_cell::FastCell::::take` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/heap_type.rs:830:22 [INFO] [stdout] | [INFO] [stdout] 830 | let _arena = self.arena.take(); [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/values/layout/heap/heap_type.rs:826:5 [INFO] [stdout] | [INFO] [stdout] 826 | unsafe fn garbage_collect_internal<'v>(&'v self, f: impl FnOnce(&Tracer<'v>)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::heap::fast_cell::FastCell::::set` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/heap_type.rs:837:9 [INFO] [stdout] | [INFO] [stdout] 837 | self.arena.set(tracer.arena); [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 `values::layout::value::Value::<'v>::new_ptr_usize_with_str_tag` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/repr.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | Value::new_ptr_usize_with_str_tag(self.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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/values/layout/heap/repr.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | pub(crate) unsafe fn unpack_unfrozen_value<'v>(self) -> Value<'v> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::heap::repr::ForwardPtr::unpack_unfrozen_value` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/repr.rs:97:35 [INFO] [stdout] | [INFO] [stdout] 97 | HeapKind::Unfrozen => self.unpack_unfrozen_value(), [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/values/layout/heap/repr.rs:95:5 [INFO] [stdout] | [INFO] [stdout] 95 | pub(crate) unsafe fn unpack_value<'v>(self, heap_kind: HeapKind) -> Value<'v> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::heap::repr::ForwardPtr::unpack_frozen_value` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/repr.rs:98:33 [INFO] [stdout] | [INFO] [stdout] 98 | HeapKind::Frozen => self.unpack_frozen_value().to_value(), [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]: access to union field is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/repr.rs:163:10 [INFO] [stdout] | [INFO] [stdout] 163 | &self.header [INFO] [stdout] | ^^^^^^^^^^^ access to union field [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/values/layout/heap/repr.rs:161:5 [INFO] [stdout] | [INFO] [stdout] 161 | pub(crate) unsafe fn unpack_header_unchecked(&self) -> &AValueHeader { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/repr.rs:232:10 [INFO] [stdout] | [INFO] [stdout] 232 | &*self.payload_ptr().value_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/values/layout/heap/repr.rs:230:5 [INFO] [stdout] | [INFO] [stdout] 230 | pub(crate) unsafe fn payload<'v, T: StarlarkValue<'v>>(&self) -> &T { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::vtable::StarlarkValueRawPtr::value_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/repr.rs:232:11 [INFO] [stdout] | [INFO] [stdout] 232 | &*self.payload_ptr().value_ptr::() [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 `cast::ptr_lifetime` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/repr.rs:239:51 [INFO] [stdout] | [INFO] [stdout] 239 | FrozenValue::new_ptr_query_is_str(cast::ptr_lifetime(self)).to_value() [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/values/layout/heap/repr.rs:235:5 [INFO] [stdout] | [INFO] [stdout] 235 | pub(crate) unsafe fn unpack_value<'v>(&'v self, heap_kind: HeapKind) -> Value<'v> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/repr.rs:265:18 [INFO] [stdout] | [INFO] [stdout] 265 | let sz = (*me).header.unpack().memory_size(); [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/values/layout/heap/repr.rs:260:5 [INFO] [stdout] | [INFO] [stdout] 260 | / pub unsafe fn overwrite_with_forward<'v, T: AValue<'v>>( [INFO] [stdout] 261 | | me: *mut AValueRepr, [INFO] [stdout] 262 | | forward_ptr: ForwardPtr, [INFO] [stdout] 263 | | ) -> T { [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::read` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/repr.rs:267:19 [INFO] [stdout] | [INFO] [stdout] 267 | let res = ptr::read(p).payload; [INFO] [stdout] | ^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/repr.rs:269:9 [INFO] [stdout] | [INFO] [stdout] 269 | *p = AValueForward::new(forward_ptr, sz); [INFO] [stdout] | ^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/repr.rs:276:10 [INFO] [stdout] | [INFO] [stdout] 276 | &*(self.as_repr_v::() as *const _ as *const _) [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/values/layout/heap/repr.rs:275:5 [INFO] [stdout] | [INFO] [stdout] 275 | pub(crate) unsafe fn as_repr<'v, A: AValue<'v>>(&self) -> &AValueRepr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::heap::repr::AValueHeader::as_repr_v` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/repr.rs:276:12 [INFO] [stdout] | [INFO] [stdout] 276 | &*(self.as_repr_v::() as *const _ as *const _) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/heap/repr.rs:282:10 [INFO] [stdout] | [INFO] [stdout] 282 | &*(self as *const AValueHeader as *const AValueRepr) [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/values/layout/heap/repr.rs:280:5 [INFO] [stdout] | [INFO] [stdout] 280 | pub(crate) unsafe fn as_repr_v<'v, T: StarlarkValue<'v>>(&self) -> &AValueRepr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::num::NonZero::::new_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/pointer.rs:60:20 [INFO] [stdout] | [INFO] [stdout] 60 | RawPointer(NonZeroUsize::new_unchecked(ptr)) [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/values/layout/pointer.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | pub(crate) unsafe fn new_unchecked(ptr: usize) -> RawPointer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::types::int::PointerI32::from_raw_pointer_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/pointer.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 120 | PointerI32::from_raw_pointer_unchecked(self) [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/values/layout/pointer.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | pub(crate) unsafe fn unpack_pointer_i32_unchecked(self) -> &'static PointerI32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `cast::usize_to_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/pointer.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | cast::usize_to_ptr(ptr) [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/values/layout/pointer.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 133 | pub(crate) unsafe fn unpack_ptr_no_int_unchecked<'v>(self) -> &'v AValueOrForward { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `cast::usize_to_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/pointer.rs:187:5 [INFO] [stdout] | [INFO] [stdout] 187 | cast::usize_to_ptr(x & !TAG_MASK) [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/values/layout/pointer.rs:186:1 [INFO] [stdout] | [INFO] [stdout] 186 | unsafe fn untag_pointer<'a>(x: usize) -> &'a AValueOrForward { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::pointer::Pointer::<'p>::new` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/pointer.rs:202:9 [INFO] [stdout] | [INFO] [stdout] 202 | Self::new(RawPointer::new_unchecked(x | TAG_UNFROZEN)) [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/values/layout/pointer.rs:200:5 [INFO] [stdout] | [INFO] [stdout] 200 | pub(crate) unsafe fn new_unfrozen_usize_with_str_tag(x: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::pointer::RawPointer::new_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/pointer.rs:202:19 [INFO] [stdout] | [INFO] [stdout] 202 | Self::new(RawPointer::new_unchecked(x | TAG_UNFROZEN)) [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 `values::layout::pointer::untag_pointer` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/pointer.rs:249:9 [INFO] [stdout] | [INFO] [stdout] 249 | untag_pointer(p) [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/values/layout/pointer.rs:246:5 [INFO] [stdout] | [INFO] [stdout] 246 | pub(crate) unsafe fn unpack_ptr_no_int_unchecked(self) -> &'p AValueOrForward { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::pointer::RawPointer::unpack_pointer_i32_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/pointer.rs:255:9 [INFO] [stdout] | [INFO] [stdout] 255 | self.ptr.unpack_pointer_i32_unchecked() [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/values/layout/pointer.rs:254:5 [INFO] [stdout] | [INFO] [stdout] 254 | pub(crate) unsafe fn unpack_pointer_i32_unchecked(self) -> &'static PointerI32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::pointer::FrozenPointer::<'p>::new` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/pointer.rs:278:9 [INFO] [stdout] | [INFO] [stdout] 278 | FrozenPointer::new(self.ptr) [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/values/layout/pointer.rs:277:5 [INFO] [stdout] | [INFO] [stdout] 277 | pub(crate) unsafe fn to_frozen_pointer_unchecked(self) -> FrozenPointer<'p> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::pointer::RawPointer::unpack_ptr_no_int_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/pointer.rs:330:9 [INFO] [stdout] | [INFO] [stdout] 330 | self.ptr.unpack_ptr_no_int_unchecked() [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/values/layout/pointer.rs:328:5 [INFO] [stdout] | [INFO] [stdout] 328 | pub(crate) unsafe fn unpack_ptr_no_int_unchecked(self) -> &'p AValueOrForward { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::pointer::RawPointer::unpack_pointer_i32_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/pointer.rs:336:9 [INFO] [stdout] | [INFO] [stdout] 336 | self.ptr.unpack_pointer_i32_unchecked() [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/values/layout/pointer.rs:335:5 [INFO] [stdout] | [INFO] [stdout] 335 | pub(crate) unsafe fn unpack_pointer_i32_unchecked(self) -> &'static PointerI32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `cast::usize_to_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/pointer.rs:344:9 [INFO] [stdout] | [INFO] [stdout] 344 | cast::usize_to_ptr(p) [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/values/layout/pointer.rs:341:5 [INFO] [stdout] | [INFO] [stdout] 341 | pub(crate) unsafe fn unpack_ptr_no_int_no_str_unchecked(self) -> &'p AValueOrForward { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::pointer::Pointer::<'p>::new_unfrozen_usize_with_str_tag` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/value.rs:259:14 [INFO] [stdout] | [INFO] [stdout] 259 | Self(Pointer::new_unfrozen_usize_with_str_tag(x)) [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/values/layout/value.rs:258:5 [INFO] [stdout] | [INFO] [stdout] 258 | pub(crate) unsafe fn new_ptr_usize_with_str_tag(x: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::pointer::Pointer::<'p>::cast_lifetime` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/value.rs:264:15 [INFO] [stdout] | [INFO] [stdout] 264 | Value(self.0.cast_lifetime()) [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/values/layout/value.rs:263:5 [INFO] [stdout] | [INFO] [stdout] 263 | pub(crate) unsafe fn cast_lifetime<'w>(self) -> Value<'w> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::pointer::Pointer::<'p>::to_frozen_pointer_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/value.rs:325:21 [INFO] [stdout] | [INFO] [stdout] 325 | FrozenValue(self.0.cast_lifetime().to_frozen_pointer_unchecked()) [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/values/layout/value.rs:323:5 [INFO] [stdout] | [INFO] [stdout] 323 | unsafe fn unpack_frozen_unchecked(self) -> FrozenValue { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::pointer::Pointer::<'p>::cast_lifetime` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/value.rs:325:21 [INFO] [stdout] | [INFO] [stdout] 325 | FrozenValue(self.0.cast_lifetime().to_frozen_pointer_unchecked()) [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::intrinsics::transmute` is unsafe and requires unsafe block [INFO] [stdout] --> src/cast.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | std::mem::transmute::<$from, $to>($e) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] ::: src/values/layout/value.rs:456:13 [INFO] [stdout] | [INFO] [stdout] 456 | transmute!(&PointerI32, &T, self.0.unpack_pointer_i32_unchecked()) [INFO] [stdout] | ------------------------------------------------------------------ in this macro invocation [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/values/layout/value.rs:453:5 [INFO] [stdout] | [INFO] [stdout] 453 | pub(crate) unsafe fn downcast_ref_unchecked>(self) -> &'v T { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the macro `transmute` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::pointer::Pointer::<'p>::unpack_pointer_i32_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/value.rs:456:41 [INFO] [stdout] | [INFO] [stdout] 456 | transmute!(&PointerI32, &T, self.0.unpack_pointer_i32_unchecked()) [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 `values::layout::heap::repr::AValueHeader::payload` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/value.rs:458:13 [INFO] [stdout] | [INFO] [stdout] 458 | / self.0 [INFO] [stdout] 459 | | .unpack_ptr_no_int_unchecked() [INFO] [stdout] 460 | | .unpack_header_unchecked() [INFO] [stdout] 461 | | .payload() [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 `values::layout::heap::repr::AValueOrForward::unpack_header_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/value.rs:458:13 [INFO] [stdout] | [INFO] [stdout] 458 | / self.0 [INFO] [stdout] 459 | | .unpack_ptr_no_int_unchecked() [INFO] [stdout] 460 | | .unpack_header_unchecked() [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 `values::layout::pointer::Pointer::<'p>::unpack_ptr_no_int_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/value.rs:458:13 [INFO] [stdout] | [INFO] [stdout] 458 | / self.0 [INFO] [stdout] 459 | | .unpack_ptr_no_int_unchecked() [INFO] [stdout] | |______________________________________________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/vtable.rs:106:10 [INFO] [stdout] | [INFO] [stdout] 106 | &*self.value_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/values/layout/vtable.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | pub(crate) unsafe fn value_ref<'v, T: StarlarkValue<'v>>(self) -> &'v T { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::vtable::StarlarkValueRawPtr::value_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/layout/vtable.rs:106:11 [INFO] [stdout] | [INFO] [stdout] 106 | &*self.value_ptr() [INFO] [stdout] | ^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/array.rs:172:9 [INFO] [stdout] | [INFO] [stdout] 172 | *self.ptr_at(index) [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/values/types/array.rs:170:5 [INFO] [stdout] | [INFO] [stdout] 170 | unsafe fn get_unchecked(&self, index: usize) -> Value<'v> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::value::Value::<'v>::downcast_ref_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/dict/value.rs:162:21 [INFO] [stdout] | [INFO] [stdout] 162 | let dict = &x.downcast_ref_unchecked::>>>().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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/values/types/dict/value.rs:161:5 [INFO] [stdout] | [INFO] [stdout] 161 | pub(crate) unsafe fn from_value_unchecked_mut(x: Value<'v>) -> RefMut<'v, Self> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::types::dict::refcell::unleak_borrow` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/dict/value.rs:354:9 [INFO] [stdout] | [INFO] [stdout] 354 | unleak_borrow(self); [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/values/types/dict/value.rs:353:5 [INFO] [stdout] | [INFO] [stdout] 353 | unsafe fn iter_stop(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::option::Option::::unwrap_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/dict/value.rs:360:10 [INFO] [stdout] | [INFO] [stdout] 360 | &self.try_borrow_unguarded().ok().unwrap_unchecked().content [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/values/types/dict/value.rs:358:5 [INFO] [stdout] | [INFO] [stdout] 358 | unsafe fn content_unchecked(&self) -> &SmallMap, Value<'v>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::cell::RefCell::::try_borrow_unguarded` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/dict/value.rs:360:10 [INFO] [stdout] | [INFO] [stdout] 360 | &self.try_borrow_unguarded().ok().unwrap_unchecked().content [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 `values::types::dict::value::DictLike::iter_start` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/dict/value.rs:464:9 [INFO] [stdout] | [INFO] [stdout] 464 | self.0.iter_start(); [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/values/types/dict/value.rs:463:5 [INFO] [stdout] | [INFO] [stdout] 463 | unsafe fn iterate(&self, me: Value<'v>, _heap: &'v Heap) -> crate::Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::types::dict::value::DictLike::content_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/dict/value.rs:475:9 [INFO] [stdout] | [INFO] [stdout] 475 | self.0.content_unchecked().keys().nth(index).copied() [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/values/types/dict/value.rs:474:5 [INFO] [stdout] | [INFO] [stdout] 474 | unsafe fn iter_next(&self, index: usize, _heap: &'v Heap) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::types::dict::value::DictLike::iter_stop` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/dict/value.rs:479:9 [INFO] [stdout] | [INFO] [stdout] 479 | self.0.iter_stop(); [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/values/types/dict/value.rs:478:5 [INFO] [stdout] | [INFO] [stdout] 478 | unsafe fn iter_stop(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `cast::usize_to_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/int.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 142 | cast::usize_to_ptr(raw_pointer.ptr_value()) [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/values/types/int.rs:135:5 [INFO] [stdout] | [INFO] [stdout] 135 | / pub(crate) unsafe fn from_raw_pointer_unchecked( [INFO] [stdout] 136 | | raw_pointer: RawPointer, [INFO] [stdout] 137 | | ) -> &'static PointerI32 { [INFO] [stdout] | |____________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::layout::value::Value::<'v>::downcast_ref_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/list/value.rs:148:20 [INFO] [stdout] | [INFO] [stdout] 148 | let list = x.downcast_ref_unchecked::>>(); [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/values/types/list/value.rs:147:5 [INFO] [stdout] | [INFO] [stdout] 147 | pub(crate) unsafe fn from_value_unchecked_mut(x: Value<'v>) -> &'v Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::types::list::value::ListLike::new_iter` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/list/value.rs:508:12 [INFO] [stdout] | [INFO] [stdout] 508 | Ok(self.0.new_iter(me)) [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/values/types/list/value.rs:507:5 [INFO] [stdout] | [INFO] [stdout] 507 | unsafe fn iterate(&self, me: Value<'v>, _heap: &'v Heap) -> crate::Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::types::list::value::ListLike::iter_size_hint` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/list/value.rs:512:9 [INFO] [stdout] | [INFO] [stdout] 512 | self.0.iter_size_hint(index) [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/values/types/list/value.rs:511:5 [INFO] [stdout] | [INFO] [stdout] 511 | unsafe fn iter_size_hint(&self, index: usize) -> (usize, Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::types::list::value::ListLike::iter_next` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/list/value.rs:516:9 [INFO] [stdout] | [INFO] [stdout] 516 | self.0.iter_next(index) [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/values/types/list/value.rs:515:5 [INFO] [stdout] | [INFO] [stdout] 515 | unsafe fn iter_next(&self, index: usize, _heap: &'v Heap) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::types::list::value::ListLike::iter_stop` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/list/value.rs:520:9 [INFO] [stdout] | [INFO] [stdout] 520 | self.0.iter_stop(); [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/values/types/list/value.rs:519:5 [INFO] [stdout] | [INFO] [stdout] 519 | unsafe fn iter_stop(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::types::string::simd::Vector::cmplt` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:37:36 [INFO] [stdout] | [INFO] [stdout] 37 | let any_control_or_non_ascii = chunk.cmplt(V::splat(32)); [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/values/types/string/repr.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | unsafe fn chunk_non_ascii_or_need_escape(chunk: V) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::types::string::simd::Vector::splat` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:37:48 [INFO] [stdout] | [INFO] [stdout] 37 | let any_control_or_non_ascii = chunk.cmplt(V::splat(32)); [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 `values::types::string::simd::Vector::cmpeq` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:38:18 [INFO] [stdout] | [INFO] [stdout] 38 | let any_7f = chunk.cmpeq(V::splat(0x7f)); [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 `values::types::string::simd::Vector::splat` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:38:30 [INFO] [stdout] | [INFO] [stdout] 38 | let any_7f = chunk.cmpeq(V::splat(0x7f)); [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 `values::types::string::simd::Vector::cmpeq` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:39:28 [INFO] [stdout] | [INFO] [stdout] 39 | let any_double_quote = chunk.cmpeq(V::splat(b'"')); [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 `values::types::string::simd::Vector::splat` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:39:40 [INFO] [stdout] | [INFO] [stdout] 39 | let any_double_quote = chunk.cmpeq(V::splat(b'"')); [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 `values::types::string::simd::Vector::cmpeq` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:40:25 [INFO] [stdout] | [INFO] [stdout] 40 | let any_backslash = chunk.cmpeq(V::splat(b'\\')); [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 `values::types::string::simd::Vector::splat` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:40:37 [INFO] [stdout] | [INFO] [stdout] 40 | let any_backslash = chunk.cmpeq(V::splat(b'\\')); [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 `values::types::string::repr::chunk_non_ascii_or_need_escape::or4` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:42:23 [INFO] [stdout] | [INFO] [stdout] 42 | let need_escape = or4( [INFO] [stdout] | _______________________^ [INFO] [stdout] 43 | | any_control_or_non_ascii, [INFO] [stdout] 44 | | any_7f, [INFO] [stdout] 45 | | any_double_quote, [INFO] [stdout] 46 | | any_backslash, [INFO] [stdout] 47 | | ); [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 `values::types::string::simd::Vector::movemask` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | need_escape.movemask() != 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::types::string::simd::Vector::or` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:31:18 [INFO] [stdout] | [INFO] [stdout] 31 | let ab = V::or(a, b); [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/values/types/string/repr.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | unsafe fn or4(a: V, b: V, c: V, d: V) -> V { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::types::string::simd::Vector::or` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:32:18 [INFO] [stdout] | [INFO] [stdout] 32 | let cd = V::or(c, d); [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 `values::types::string::simd::Vector::or` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | V::or(ab, cd) [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 `values::types::string::simd::Vector::load_unaligned` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:172:25 [INFO] [stdout] | [INFO] [stdout] 172 | let chunk = V::load_unaligned(val.as_ptr().add(val_offset) as *const _); [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/values/types/string/repr.rs:127:5 [INFO] [stdout] | [INFO] [stdout] 127 | unsafe fn loop_ascii_simd(val: &str, buffer: &mut String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:172:43 [INFO] [stdout] | [INFO] [stdout] 172 | let chunk = V::load_unaligned(val.as_ptr().add(val_offset) as *const _); [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 `values::types::string::repr::chunk_non_ascii_or_need_escape` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:174:16 [INFO] [stdout] | [INFO] [stdout] 174 | if chunk_non_ascii_or_need_escape(chunk) { [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 `values::types::string::repr::string_repr::loop_ascii_simd::push_vec_tail` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:182:13 [INFO] [stdout] | [INFO] [stdout] 182 | push_vec_tail(buffer, chunk, mem::size_of::()); [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 `values::types::string::simd::Vector::load_unaligned` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:200:25 [INFO] [stdout] | [INFO] [stdout] 200 | let chunk = V::load_unaligned(val.as_ptr().add(val.len()).sub(mem::size_of::())); [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::const_ptr::::sub` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:200:43 [INFO] [stdout] | [INFO] [stdout] 200 | let chunk = V::load_unaligned(val.as_ptr().add(val.len()).sub(mem::size_of::())); [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::const_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:200:43 [INFO] [stdout] | [INFO] [stdout] 200 | let chunk = V::load_unaligned(val.as_ptr().add(val.len()).sub(mem::size_of::())); [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 `values::types::string::repr::chunk_non_ascii_or_need_escape` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:202:16 [INFO] [stdout] | [INFO] [stdout] 202 | if chunk_non_ascii_or_need_escape(chunk) { [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 `values::types::string::repr::string_repr::loop_ascii_simd::push_vec_tail` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:206:13 [INFO] [stdout] | [INFO] [stdout] 206 | push_vec_tail(buffer, chunk, chunk_len); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::types::string::simd::Vector::store_unaligned` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:156:13 [INFO] [stdout] | [INFO] [stdout] 156 | / vector.store_unaligned( [INFO] [stdout] 157 | | buffer [INFO] [stdout] 158 | | .as_bytes_mut() [INFO] [stdout] 159 | | .as_mut_ptr() [INFO] [stdout] 160 | | .add(new_buffer_len) [INFO] [stdout] 161 | | .sub(mem::size_of::()), [INFO] [stdout] 162 | | ); [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/values/types/string/repr.rs:144:9 [INFO] [stdout] | [INFO] [stdout] 144 | unsafe fn push_vec_tail(buffer: &mut String, vector: V, tail_len: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::sub` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:157:17 [INFO] [stdout] | [INFO] [stdout] 157 | / buffer [INFO] [stdout] 158 | | .as_bytes_mut() [INFO] [stdout] 159 | | .as_mut_ptr() [INFO] [stdout] 160 | | .add(new_buffer_len) [INFO] [stdout] 161 | | .sub(mem::size_of::()), [INFO] [stdout] | |_____________________________________________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:157:17 [INFO] [stdout] | [INFO] [stdout] 157 | / buffer [INFO] [stdout] 158 | | .as_bytes_mut() [INFO] [stdout] 159 | | .as_mut_ptr() [INFO] [stdout] 160 | | .add(new_buffer_len) [INFO] [stdout] | |________________________________________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `core::str::::as_bytes_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:157:17 [INFO] [stdout] | [INFO] [stdout] 157 | / buffer [INFO] [stdout] 158 | | .as_bytes_mut() [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::::set_len` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:163:13 [INFO] [stdout] | [INFO] [stdout] 163 | buffer.as_mut_vec().set_len(new_buffer_len); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::string::String::as_mut_vec` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:163:13 [INFO] [stdout] | [INFO] [stdout] 163 | buffer.as_mut_vec().set_len(new_buffer_len); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `values::types::string::simd::Vector::load_unaligned` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/repr.rs:336:13 [INFO] [stdout] | [INFO] [stdout] 336 | <__m128i as Vector>::load_unaligned(s.as_ptr()) [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/values/types/string/repr.rs:334:9 [INFO] [stdout] | [INFO] [stdout] 334 | unsafe fn load(s: &str) -> __m128i { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_set1_epi8` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/simd.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 78 | _mm_set1_epi8(byte as i8) [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/values/types/string/simd.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | unsafe fn splat(byte: u8) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_si128` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/simd.rs:83:13 [INFO] [stdout] | [INFO] [stdout] 83 | _mm_loadu_si128(ptr as *const _) [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/values/types/string/simd.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | unsafe fn load_unaligned(ptr: *const u8) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_storeu_si128` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/simd.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 88 | _mm_storeu_si128(ptr as *mut _, self) [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/values/types/string/simd.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | unsafe fn store_unaligned(self, ptr: *mut u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_cmplt_epi8` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/simd.rs:93:13 [INFO] [stdout] | [INFO] [stdout] 93 | _mm_cmplt_epi8(self, other) [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/values/types/string/simd.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | unsafe fn cmplt(self, other: Self) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_cmpeq_epi8` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/simd.rs:98:13 [INFO] [stdout] | [INFO] [stdout] 98 | _mm_cmpeq_epi8(self, other) [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/values/types/string/simd.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | unsafe fn cmpeq(self, other: Self) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_or_si128` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/simd.rs:103:13 [INFO] [stdout] | [INFO] [stdout] 103 | _mm_or_si128(self, other) [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/values/types/string/simd.rs:102:9 [INFO] [stdout] | [INFO] [stdout] 102 | unsafe fn or(self, other: Self) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_movemask_epi8` is unsafe and requires unsafe block [INFO] [stdout] --> src/values/types/string/simd.rs:108:13 [INFO] [stdout] | [INFO] [stdout] 108 | _mm_movemask_epi8(self) 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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/values/types/string/simd.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | unsafe fn movemask(self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/any.rs:262:27 [INFO] [stdout] | [INFO] [stdout] 262 | struct Value2<'a>(&'a str); [INFO] [stdout] | ------ ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/any.rs:302:24 [INFO] [stdout] | [INFO] [stdout] 302 | struct Bbb<'a>(&'a str); [INFO] [stdout] | --- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/any.rs:331:38 [INFO] [stdout] | [INFO] [stdout] 331 | struct FooBar<'x, P: My<'x>>(&'x P); [INFO] [stdout] | ------ ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `BcStackValues` is never used [INFO] [stdout] --> src/eval/bc/stack_values.rs:23:18 [INFO] [stdout] | [INFO] [stdout] 23 | pub(crate) trait BcStackValues<'v>: Copy { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `no_simd` is never used [INFO] [stdout] --> src/values/types/string/simd.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub(crate) trait SwitchHaveSimd [INFO] [stdout] | -------------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 43 | fn no_simd(self) -> R; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `matches_dyn` is never used [INFO] [stdout] --> src/values/typing/type_compiled/compiled.rs:89:8 [INFO] [stdout] | [INFO] [stdout] 87 | pub(crate) trait TypeCompiledDyn: Debug + Allocative + Send + Sync + 'static { [INFO] [stdout] | --------------- method in this trait [INFO] [stdout] 88 | fn as_ty_dyn(&self) -> &Ty; [INFO] [stdout] 89 | fn matches_dyn(&self, value: Value) -> bool; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/find_call_name.rs:55:24 [INFO] [stdout] | [INFO] [stdout] 55 | if let Expr::Identifier(_) = &identifier.node { [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/analysis/find_call_name.rs:69:21 [INFO] [stdout] | [INFO] [stdout] 69 | } [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] 55 ~ match &identifier.node { Expr::Identifier(_) => { [INFO] [stdout] 56 | let found = arguments.iter().find_map(|argument| match &argument.node { [INFO] [stdout] ... [INFO] [stdout] 68 | } [INFO] [stdout] 69 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/names.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 152 | if let Expr::Identifier(x) = &***x { [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/analysis/names.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 154 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 152 ~ match &***x { Expr::Identifier(x) => { [INFO] [stdout] 153 | return x.ident.as_str() == "fail"; [INFO] [stdout] 154 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/names.rs:336:24 [INFO] [stdout] | [INFO] [stdout] 336 | if let Some(x) = other.remove(k) { [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/analysis/names.rs:338:21 [INFO] [stdout] | [INFO] [stdout] 338 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 336 ~ match other.remove(k) { Some(x) => { [INFO] [stdout] 337 | e.insert((join_assigned(Assigned::Maybe, x.0), x.1)); [INFO] [stdout] 338 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/names.rs:431:24 [INFO] [stdout] | [INFO] [stdout] 431 | if let Some(pname) = p.node.ident() { [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/analysis/names.rs:433:21 [INFO] [stdout] | [INFO] [stdout] 433 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 431 ~ match p.node.ident() { Some(pname) => { [INFO] [stdout] 432 | self.set_ident(pname, Kind::Argument); [INFO] [stdout] 433 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/names.rs:516:24 [INFO] [stdout] | [INFO] [stdout] 516 | if let Some(pname) = p.node.ident() { [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/analysis/names.rs:518:21 [INFO] [stdout] | [INFO] [stdout] 518 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 516 ~ match p.node.ident() { Some(pname) => { [INFO] [stdout] 517 | self.set_ident(pname, Kind::Argument); [INFO] [stdout] 518 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/underscore.rs:94:16 [INFO] [stdout] | [INFO] [stdout] 94 | if let AssignTarget::Identifier(name) = &assign.lhs.node { [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/analysis/underscore.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 102 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 94 ~ match &assign.lhs.node { AssignTarget::Identifier(name) => { [INFO] [stdout] 95 | if name.ident.starts_with('_') && !is_allowed(&assign.rhs) { [INFO] [stdout] ... [INFO] [stdout] 101 | } [INFO] [stdout] 102 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/unused_loads/find.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 111 | if let StmtP::Load(load) = &**top { [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/analysis/unused_loads/find.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 111 ~ match &**top { StmtP::Load(load) => { [INFO] [stdout] 112 | let args = load.args.try_map(|arg| { [INFO] [stdout] ... [INFO] [stdout] 125 | }); [INFO] [stdout] 126 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/collections/symbol_map.rs:153:12 [INFO] [stdout] | [INFO] [stdout] 153 | if let Some((_, item)) = self.0.get_mut(s.hash, |x| s == x.0) { [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/collections/symbol_map.rs:155:9 [INFO] [stdout] | [INFO] [stdout] 155 | } 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] 153 ~ match self.0.get_mut(s.hash, |x| s == x.0) { Some((_, item)) => { [INFO] [stdout] 154 | Some(mem::replace(item, value)) [INFO] [stdout] 155 ~ } _ => { [INFO] [stdout] 156 | // This insert doesn't remove old values, so do that manually first [INFO] [stdout] 157 | self.0.insert(s.hash, (s, value), |x| x.0.hash); [INFO] [stdout] 158 | None [INFO] [stdout] 159 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/docs/mod.rs:304:20 [INFO] [stdout] | [INFO] [stdout] 304 | if let Some(matches) = section_re.captures(line) { [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/docs/mod.rs:313:17 [INFO] [stdout] | [INFO] [stdout] 313 | } else if current_section.is_some() && indented_re.is_match(line) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 304 ~ match section_re.captures(line) { Some(matches) => { [INFO] [stdout] 305 | finish_section(&mut current_section, &mut current_section_text); [INFO] [stdout] ... [INFO] [stdout] 312 | } [INFO] [stdout] 313 ~ } _ => if current_section.is_some() && indented_re.is_match(line) { [INFO] [stdout] 314 | current_section_text.push(line.to_owned()); [INFO] [stdout] ... [INFO] [stdout] 317 | finish_section(&mut current_section, &mut current_section_text); [INFO] [stdout] 318 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/docs/mod.rs:577:16 [INFO] [stdout] | [INFO] [stdout] 577 | if let Some(matches) = arg_re.captures(line) { [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/docs/mod.rs:590:13 [INFO] [stdout] | [INFO] [stdout] 590 | } else if current_arg.is_some() && INDENTED_RE.is_match(line) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 577 ~ match arg_re.captures(line) { Some(matches) => { [INFO] [stdout] 578 | if let Some(a) = current_arg.take() { [INFO] [stdout] ... [INFO] [stdout] 589 | )]; [INFO] [stdout] 590 ~ } _ => if current_arg.is_some() && INDENTED_RE.is_match(line) { [INFO] [stdout] 591 | current_text.push(line.to_owned()); [INFO] [stdout] 592 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/bc/compiler/call.rs:234:16 [INFO] [stdout] | [INFO] [stdout] 234 | if let Ok(t) = TypeCompiled::new_frozen(t, bc.heap) { [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/eval/bc/compiler/call.rs:238:13 [INFO] [stdout] | [INFO] [stdout] 238 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 234 ~ match TypeCompiled::new_frozen(t, bc.heap) { Ok(t) => { [INFO] [stdout] 235 | return x.write_bc_cb(bc, |x, bc| { [INFO] [stdout] 236 | bc.write_instr::(self.span, (x, t, target)); [INFO] [stdout] 237 | }); [INFO] [stdout] 238 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/bc/compiler/expr.rs:237:19 [INFO] [stdout] | [INFO] [stdout] 237 | } else if let Some(d) = Self::try_dict_of_consts(xs) { [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] 238 | bc.write_instr::(span, (d, target)); [INFO] [stdout] 239 | } else if let Some(keys) = Self::try_dict_const_keys(xs) { [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/eval/bc/compiler/expr.rs:239:9 [INFO] [stdout] | [INFO] [stdout] 239 | } else if let Some(keys) = Self::try_dict_const_keys(xs) { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/eval/bc/compiler/expr.rs:245:9 [INFO] [stdout] | [INFO] [stdout] 245 | } 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] 237 ~ } else { match Self::try_dict_of_consts(xs) { Some(d) => { [INFO] [stdout] 238 | bc.write_instr::(span, (d, target)); [INFO] [stdout] 239 ~ } _ => { match Self::try_dict_const_keys(xs) { Some(keys) => { [INFO] [stdout] 240 | assert_eq!(keys.len(), xs.len()); [INFO] [stdout] ... [INFO] [stdout] 244 | }); [INFO] [stdout] 245 ~ } _ => { [INFO] [stdout] 246 | let key_spans = xs.map(|(k, _v)| k.span); [INFO] [stdout] ... [INFO] [stdout] 255 | }); [INFO] [stdout] 256 ~ }}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/bc/compiler/if_compiler.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 75 | if let Some(f) = f { [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/eval/bc/compiler/if_compiler.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 84 | } 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] 75 ~ match f { Some(f) => { [INFO] [stdout] 76 | let end_addr = bc.write_br(cond.span); [INFO] [stdout] ... [INFO] [stdout] 83 | bc.patch_addr(end_addr); [INFO] [stdout] 84 ~ } _ => { [INFO] [stdout] 85 | bc.patch_addrs(else_addrs); [INFO] [stdout] 86 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/call.rs:127:12 [INFO] [stdout] | [INFO] [stdout] 127 | if let Some(InlineDefBody::ReturnTypeIs(t)) = &fun.def_info.inline_def_body { [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/eval/compiler/call.rs:129:9 [INFO] [stdout] | [INFO] [stdout] 129 | } 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] 127 ~ match &fun.def_info.inline_def_body { Some(InlineDefBody::ReturnTypeIs(t)) => { [INFO] [stdout] 128 | Some(ExprCompiled::type_is(pos.clone(), *t)) [INFO] [stdout] 129 ~ } _ => { [INFO] [stdout] 130 | None [INFO] [stdout] 131 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/call.rs:149:23 [INFO] [stdout] | [INFO] [stdout] 149 | let expr = if let Some(InlineDefBody::ReturnSafeToInlineExpr(expr)) = [INFO] [stdout] | _______________________^ [INFO] [stdout] 150 | | &fun.def_info.inline_def_body [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/eval/compiler/call.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | } 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] 149 ~ let expr = match &fun.def_info.inline_def_body [INFO] [stdout] 150 ~ { Some(InlineDefBody::ReturnSafeToInlineExpr(expr)) => { [INFO] [stdout] 151 | expr [INFO] [stdout] 152 ~ } _ => { [INFO] [stdout] 153 | return None; [INFO] [stdout] 154 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/call.rs:278:16 [INFO] [stdout] | [INFO] [stdout] 278 | if let Some(arg) = args.one_pos() { [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/eval/compiler/call.rs:280:13 [INFO] [stdout] | [INFO] [stdout] 280 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 278 ~ match args.one_pos() { Some(arg) => { [INFO] [stdout] 279 | return ExprCompiled::len(span, arg.clone()); [INFO] [stdout] 280 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/call.rs:284:16 [INFO] [stdout] | [INFO] [stdout] 284 | if let Some(arg) = args.one_pos() { [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/eval/compiler/call.rs:286:13 [INFO] [stdout] | [INFO] [stdout] 286 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 284 ~ match args.one_pos() { Some(arg) => { [INFO] [stdout] 285 | return ExprCompiled::typ(span, arg.clone()); [INFO] [stdout] 286 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/compr.rs:66:15 [INFO] [stdout] | [INFO] [stdout] 66 | while let Some(x) = clauses.pop() { [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/eval/compiler/compr.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/def_inline/mod.rs:196:12 [INFO] [stdout] | [INFO] [stdout] 196 | if let Some(expr) = is_return_safe_to_inline_expr(body, param_count) { [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/eval/compiler/def_inline/mod.rs:198:9 [INFO] [stdout] | [INFO] [stdout] 198 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 196 ~ match is_return_safe_to_inline_expr(body, param_count) { Some(expr) => { [INFO] [stdout] 197 | return Some(InlineDefBody::ReturnSafeToInlineExpr(expr)); [INFO] [stdout] 198 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/expr.rs:547:16 [INFO] [stdout] | [INFO] [stdout] 547 | if let Ok(r) = l.equals(r.to_value()) { [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/eval/compiler/expr.rs:552:13 [INFO] [stdout] | [INFO] [stdout] 552 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 547 ~ match l.equals(r.to_value()) { Ok(r) => { [INFO] [stdout] 548 | return IrSpanned { [INFO] [stdout] ... [INFO] [stdout] 551 | }; [INFO] [stdout] 552 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/expr.rs:599:12 [INFO] [stdout] | [INFO] [stdout] 599 | if let Some(l_v) = l.is_pure_infallible_to_bool() { [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/eval/compiler/expr.rs:605:9 [INFO] [stdout] | [INFO] [stdout] 605 | } 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] 599 ~ match l.is_pure_infallible_to_bool() { Some(l_v) => { [INFO] [stdout] 600 | if l_v == (op == ExprLogicalBinOp::Or) { [INFO] [stdout] ... [INFO] [stdout] 604 | } [INFO] [stdout] 605 ~ } _ => { [INFO] [stdout] 606 | let span = l.span.merge(&r.span); [INFO] [stdout] ... [INFO] [stdout] 610 | } [INFO] [stdout] 611 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/expr.rs:651:16 [INFO] [stdout] | [INFO] [stdout] 651 | if let Ok(value) = [INFO] [stdout] | ________________^ [INFO] [stdout] 652 | | percent_s_one(before.as_str(), arg.to_value(), after.as_str(), ctx.heap()) [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/eval/compiler/expr.rs:656:13 [INFO] [stdout] | [INFO] [stdout] 656 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 651 ~ match percent_s_one(before.as_str(), arg.to_value(), after.as_str(), ctx.heap()) [INFO] [stdout] 652 ~ { Ok(value) => { [INFO] [stdout] 653 | let value = ctx.frozen_heap().alloc_str(value.as_str()); [INFO] [stdout] 654 | return ExprCompiled::Value(value.to_frozen_value()); [INFO] [stdout] 655 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/expr.rs:703:16 [INFO] [stdout] | [INFO] [stdout] 703 | if let Ok(v) = bin_op.eval(l.to_value(), r.to_value(), ctx.heap()) { [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/eval/compiler/expr.rs:707:13 [INFO] [stdout] | [INFO] [stdout] 707 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 703 ~ match bin_op.eval(l.to_value(), r.to_value(), ctx.heap()) { Ok(v) => { [INFO] [stdout] 704 | if let Some(v) = ExprCompiled::try_value(span, v, ctx.frozen_heap()) { [INFO] [stdout] 705 | return v; [INFO] [stdout] 706 | } [INFO] [stdout] 707 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/expr.rs:704:20 [INFO] [stdout] | [INFO] [stdout] 704 | if let Some(v) = ExprCompiled::try_value(span, v, ctx.frozen_heap()) { [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/eval/compiler/expr.rs:706:17 [INFO] [stdout] | [INFO] [stdout] 706 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 704 ~ match ExprCompiled::try_value(span, v, ctx.frozen_heap()) { Some(v) => { [INFO] [stdout] 705 | return v; [INFO] [stdout] 706 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/expr.rs:758:20 [INFO] [stdout] | [INFO] [stdout] 758 | if let Some(v) = ExprCompiled::try_value(expr.span, v, ctx.frozen_heap()) { [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/eval/compiler/expr.rs:760:17 [INFO] [stdout] | [INFO] [stdout] 760 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 758 ~ match ExprCompiled::try_value(expr.span, v, ctx.frozen_heap()) { Some(v) => { [INFO] [stdout] 759 | return v; [INFO] [stdout] 760 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/expr.rs:844:12 [INFO] [stdout] | [INFO] [stdout] 844 | if let Ok(elems) = elems.try_map(|e| e.as_value().ok_or(())) { [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/eval/compiler/expr.rs:846:9 [INFO] [stdout] | [INFO] [stdout] 846 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 844 ~ match elems.try_map(|e| e.as_value().ok_or(())) { Ok(elems) => { [INFO] [stdout] 845 | ExprCompiled::Value(heap.alloc_tuple(&elems)) [INFO] [stdout] 846 ~ } _ => { [INFO] [stdout] 847 | ExprCompiled::Tuple(elems) [INFO] [stdout] 848 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/expr.rs:897:16 [INFO] [stdout] | [INFO] [stdout] 897 | if let Ok(v) = array.to_value().slice( [INFO] [stdout] | ________________^ - [INFO] [stdout] | |____________________________| [INFO] [stdout] 898 | || start.map(|v| v.to_value()), [INFO] [stdout] 899 | || stop.map(|v| v.to_value()), [INFO] [stdout] 900 | || step.map(|v| v.to_value()), [INFO] [stdout] 901 | || ctx.heap(), [INFO] [stdout] 902 | || ) { [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] | [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/eval/compiler/expr.rs:906:13 [INFO] [stdout] | [INFO] [stdout] 906 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 897 ~ match array.to_value().slice( [INFO] [stdout] 898 | start.map(|v| v.to_value()), [INFO] [stdout] ... [INFO] [stdout] 901 | ctx.heap(), [INFO] [stdout] 902 ~ ) { Ok(v) => { [INFO] [stdout] 903 | if let Some(v) = ExprCompiled::try_value(span, v, ctx.frozen_heap()) { [INFO] [stdout] 904 | return v; [INFO] [stdout] 905 | } [INFO] [stdout] 906 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/expr.rs:903:20 [INFO] [stdout] | [INFO] [stdout] 903 | if let Some(v) = ExprCompiled::try_value(span, v, ctx.frozen_heap()) { [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/eval/compiler/expr.rs:905:17 [INFO] [stdout] | [INFO] [stdout] 905 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 903 ~ match ExprCompiled::try_value(span, v, ctx.frozen_heap()) { Some(v) => { [INFO] [stdout] 904 | return v; [INFO] [stdout] 905 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/expr.rs:918:16 [INFO] [stdout] | [INFO] [stdout] 918 | if let Ok(v) = array.to_value().at(index.to_value(), ctx.heap()) { [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/eval/compiler/expr.rs:922:13 [INFO] [stdout] | [INFO] [stdout] 922 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 918 ~ match array.to_value().at(index.to_value(), ctx.heap()) { Ok(v) => { [INFO] [stdout] 919 | if let Some(expr) = ExprCompiled::try_value(span, v, ctx.frozen_heap()) { [INFO] [stdout] 920 | return expr; [INFO] [stdout] 921 | } [INFO] [stdout] 922 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/expr.rs:919:20 [INFO] [stdout] | [INFO] [stdout] 919 | if let Some(expr) = ExprCompiled::try_value(span, v, ctx.frozen_heap()) { [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/eval/compiler/expr.rs:921:17 [INFO] [stdout] | [INFO] [stdout] 921 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 919 ~ match ExprCompiled::try_value(span, v, ctx.frozen_heap()) { Some(expr) => { [INFO] [stdout] 920 | return expr; [INFO] [stdout] 921 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/expr.rs:981:16 [INFO] [stdout] | [INFO] [stdout] 981 | if let Ok(len) = arg.to_value().length() { [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/eval/compiler/expr.rs:985:13 [INFO] [stdout] | [INFO] [stdout] 985 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 981 ~ match arg.to_value().length() { Ok(len) => { [INFO] [stdout] 982 | if let Ok(len) = InlineInt::try_from(len) { [INFO] [stdout] 983 | return ExprCompiled::Value(FrozenValue::new_int(len)); [INFO] [stdout] 984 | } [INFO] [stdout] 985 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/expr.rs:1016:8 [INFO] [stdout] | [INFO] [stdout] 1016 | if let (Some(l), Some(r)) = (l.as_type(), r.as_string()) { [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/eval/compiler/expr.rs:1021:5 [INFO] [stdout] | [INFO] [stdout] 1021 | } 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] 1016 ~ match (l.as_type(), r.as_string()) { (Some(l), Some(r)) => { [INFO] [stdout] 1017 | Ok(IrSpanned { [INFO] [stdout] ... [INFO] [stdout] 1020 | }) [INFO] [stdout] 1021 ~ } _ => { [INFO] [stdout] 1022 | Err((l, r)) [INFO] [stdout] 1023 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/module.rs:179:16 [INFO] [stdout] | [INFO] [stdout] 179 | if let StmtP::Def(_) = &mut top.node { [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/eval/compiler/module.rs:195:13 [INFO] [stdout] | [INFO] [stdout] 195 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 179 ~ match &mut top.node { StmtP::Def(_) => { [INFO] [stdout] 180 | let BindingsCollect { bindings, .. } = BindingsCollect::collect_one( [INFO] [stdout] ... [INFO] [stdout] 194 | } [INFO] [stdout] 195 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/module.rs:192:20 [INFO] [stdout] | [INFO] [stdout] 192 | if let Some(error) = errors.into_iter().next() { [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/eval/compiler/module.rs:194:17 [INFO] [stdout] | [INFO] [stdout] 194 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 192 ~ match errors.into_iter().next() { Some(error) => { [INFO] [stdout] 193 | return Err(error.into_eval_exception()); [INFO] [stdout] 194 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/stmt.rs:280:20 [INFO] [stdout] | [INFO] [stdout] 280 | if let Some(t) = expr.as_type() { [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/eval/compiler/stmt.rs:282:17 [INFO] [stdout] | [INFO] [stdout] 282 | } 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] 280 ~ match expr.as_type() { Some(t) => { [INFO] [stdout] 281 | StmtsCompiled::expr(t.clone()) [INFO] [stdout] 282 ~ } _ => { [INFO] [stdout] 283 | StmtsCompiled::one(IrSpanned { [INFO] [stdout] ... [INFO] [stdout] 286 | }) [INFO] [stdout] 287 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/compiler/stmt.rs:615:12 [INFO] [stdout] | [INFO] [stdout] 615 | if let Some(v) = rhs.get_ref().radd(lhs, heap) { [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/eval/compiler/stmt.rs:617:9 [INFO] [stdout] | [INFO] [stdout] 617 | } 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] 615 ~ match rhs.get_ref().radd(lhs, heap) { Some(v) => { [INFO] [stdout] 616 | v [INFO] [stdout] 617 ~ } _ => { [INFO] [stdout] 618 | let list = ListData::from_value_mut(lhs)?; [INFO] [stdout] ... [INFO] [stdout] 625 | Ok(lhs) [INFO] [stdout] 626 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl ExactSizeIterator + Iterator)>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/eval/runtime/arguments.rs:149:34 [INFO] [stdout] | [INFO] [stdout] 149 | pub(crate) fn iter(&self) -> impl ExactSizeIterator)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/eval/runtime/arguments.rs:149:24 [INFO] [stdout] | [INFO] [stdout] 149 | pub(crate) fn iter(&self) -> impl ExactSizeIterator)> { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 149 | pub(crate) fn iter(&self) -> impl ExactSizeIterator)> + use<'a, 'v, S> { [INFO] [stdout] | ++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/runtime/params.rs:597:19 [INFO] [stdout] | [INFO] [stdout] 597 | } else if let Some(kwargs) = kwargs.kwargs { [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/eval/runtime/params.rs:603:9 [INFO] [stdout] | [INFO] [stdout] 603 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 597 ~ } else { match kwargs.kwargs { Some(kwargs) => { [INFO] [stdout] 598 | return Err(FunctionError::ExtraNamedArg { [INFO] [stdout] ... [INFO] [stdout] 602 | .into()); [INFO] [stdout] 603 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/runtime/profile/stmt.rs:180:12 [INFO] [stdout] | [INFO] [stdout] 180 | if let Some(data) = &mut self.0 { [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/eval/runtime/profile/stmt.rs:182:9 [INFO] [stdout] | [INFO] [stdout] 182 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 180 ~ match &mut self.0 { Some(data) => { [INFO] [stdout] 181 | data.before_stmt(span.span, span.file) [INFO] [stdout] 182 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/runtime/profile/time_flame.rs:231:12 [INFO] [stdout] | [INFO] [stdout] 231 | if let Some(x) = &mut self.0 { [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/eval/runtime/profile/time_flame.rs:234:9 [INFO] [stdout] | [INFO] [stdout] 234 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 231 ~ match &mut self.0 { Some(x) => { [INFO] [stdout] 232 | let ind = x.index.index(function); [INFO] [stdout] 233 | x.frames.push((Frame::Push(ind), Instant::now())) [INFO] [stdout] 234 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eval/runtime/profile/time_flame.rs:238:12 [INFO] [stdout] | [INFO] [stdout] 238 | if let Some(x) = &mut self.0 { [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/eval/runtime/profile/time_flame.rs:240:9 [INFO] [stdout] | [INFO] [stdout] 240 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 238 ~ match &mut self.0 { Some(x) => { [INFO] [stdout] 239 | x.frames.push((Frame::Pop, Instant::now())) [INFO] [stdout] 240 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/read_line.rs:59:28 [INFO] [stdout] | [INFO] [stdout] 59 | if let Err(e) = self.editor.save_history(&histfile) { [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/read_line.rs:61:25 [INFO] [stdout] | [INFO] [stdout] 61 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 59 ~ match self.editor.save_history(&histfile) { Err(e) => { [INFO] [stdout] 60 | eprintln!("Failed to save history to `{}`: {}", histfile, e); [INFO] [stdout] 61 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/bindings.rs:249:16 [INFO] [stdout] | [INFO] [stdout] 249 | if let Some((name, ty)) = name_ty { [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/typing/bindings.rs:253:13 [INFO] [stdout] | [INFO] [stdout] 253 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 249 ~ match name_ty { Some((name, ty)) => { [INFO] [stdout] 250 | self.bindings [INFO] [stdout] 251 | .types [INFO] [stdout] 252 | .insert(name.resolved_binding_id(codemap)?, ty); [INFO] [stdout] 253 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/bindings.rs:279:28 [INFO] [stdout] | [INFO] [stdout] 279 | if let AssignTargetP::Identifier(id) = &**lhs { [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/typing/bindings.rs:285:25 [INFO] [stdout] | [INFO] [stdout] 285 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 279 ~ match &**lhs { AssignTargetP::Identifier(id) => { [INFO] [stdout] 280 | // FIXME: This could be duplicated if you declare the type of a variable twice, [INFO] [stdout] ... [INFO] [stdout] 284 | .insert(id.resolved_binding_id(codemap)?, ty2); [INFO] [stdout] 285 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/bindings.rs:311:28 [INFO] [stdout] | [INFO] [stdout] 311 | if let ExprP::Dot(id, attr) = &***fun { [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/typing/bindings.rs:332:25 [INFO] [stdout] | [INFO] [stdout] 332 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 311 ~ match &***fun { ExprP::Dot(id, attr) => { [INFO] [stdout] 312 | if let ExprP::Identifier(id) = &id.node { [INFO] [stdout] ... [INFO] [stdout] 331 | } [INFO] [stdout] 332 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/bindings.rs:312:32 [INFO] [stdout] | [INFO] [stdout] 312 | ... if let ExprP::Identifier(id) = &id.node { [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/typing/bindings.rs:331:29 [INFO] [stdout] | [INFO] [stdout] 331 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 312 ~ match &id.node { ExprP::Identifier(id) => { [INFO] [stdout] 313 | let res = match attr.as_str() { [INFO] [stdout] ... [INFO] [stdout] 330 | } [INFO] [stdout] 331 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/ctx.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 111 | if let Err(e) = self.oracle.validate_type(got, require) { [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/typing/ctx.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 113 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 111 ~ match self.oracle.validate_type(got, require) { Err(e) => { [INFO] [stdout] 112 | self.errors.borrow_mut().push(e); [INFO] [stdout] 113 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/ctx.rs:133:16 [INFO] [stdout] | [INFO] [stdout] 133 | if let ExprP::Identifier(v0) = &array.node { [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/typing/ctx.rs:138:13 [INFO] [stdout] | [INFO] [stdout] 138 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 133 ~ match &array.node { ExprP::Identifier(v0) => { [INFO] [stdout] 134 | if v0.ident == "list" { [INFO] [stdout] ... [INFO] [stdout] 137 | } [INFO] [stdout] 138 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/ctx.rs:235:24 [INFO] [stdout] | [INFO] [stdout] 235 | if let Some(ty) = self.types.get(&i) { [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/typing/ctx.rs:237:21 [INFO] [stdout] | [INFO] [stdout] 237 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 235 ~ match self.types.get(&i) { Some(ty) => { [INFO] [stdout] 236 | return Ok(ty.clone()); [INFO] [stdout] 237 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/ctx.rs:348:20 [INFO] [stdout] | [INFO] [stdout] 348 | if let Some(ty) = self.types.get(i) { [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/typing/ctx.rs:350:17 [INFO] [stdout] | [INFO] [stdout] 350 | } 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] 348 ~ match self.types.get(i) { Some(ty) => { [INFO] [stdout] 349 | ty.clone() [INFO] [stdout] 350 ~ } _ => { [INFO] [stdout] 351 | // All types must be resolved to this point, [INFO] [stdout] 352 | // this code is unreachable. [INFO] [stdout] 353 | Ty::any() [INFO] [stdout] 354 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/fill_types_for_lint.rs:170:12 [INFO] [stdout] | [INFO] [stdout] 170 | if let Ok(xs) = xs.try_map(|v| v.value.ok_or(())) { [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/typing/fill_types_for_lint.rs:172:9 [INFO] [stdout] | [INFO] [stdout] 172 | } 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] 170 ~ match xs.try_map(|v| v.value.ok_or(())) { Ok(xs) => { [INFO] [stdout] 171 | Ok(GlobalValue::value(self.heap.alloc(AllocTuple(xs)))) [INFO] [stdout] 172 ~ } _ => { [INFO] [stdout] 173 | Ok(GlobalValue::any()) [INFO] [stdout] 174 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/fill_types_for_lint.rs:184:12 [INFO] [stdout] | [INFO] [stdout] 184 | if let Some(object) = object.value { [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/typing/fill_types_for_lint.rs:189:9 [INFO] [stdout] | [INFO] [stdout] 189 | } 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] 184 ~ match object.value { Some(object) => { [INFO] [stdout] 185 | match object.get_attr_error(field.as_str(), self.heap) { [INFO] [stdout] ... [INFO] [stdout] 188 | } [INFO] [stdout] 189 ~ } _ => { [INFO] [stdout] 190 | Ok(GlobalValue::any()) [INFO] [stdout] 191 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/fill_types_for_lint.rs:202:12 [INFO] [stdout] | [INFO] [stdout] 202 | if let (Some(array), Some(index)) = (array.value, index.node.value) { [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/typing/fill_types_for_lint.rs:207:9 [INFO] [stdout] | [INFO] [stdout] 207 | } 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] 202 ~ match (array.value, index.node.value) { (Some(array), Some(index)) => { [INFO] [stdout] 203 | match array.at(index, self.heap) { [INFO] [stdout] ... [INFO] [stdout] 206 | } [INFO] [stdout] 207 ~ } _ => { [INFO] [stdout] 208 | Ok(GlobalValue::any()) [INFO] [stdout] 209 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/fill_types_for_lint.rs:222:12 [INFO] [stdout] | [INFO] [stdout] 222 | if let (Some(array), Some(index0), Some(index1)) = (array.value, index0.value, index1.value) [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/typing/fill_types_for_lint.rs:228:9 [INFO] [stdout] | [INFO] [stdout] 228 | } 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] 222 ~ match (array.value, index0.value, index1.value) [INFO] [stdout] 223 ~ { (Some(array), Some(index0), Some(index1)) => { [INFO] [stdout] 224 | match array.get_ref().at2(index0, index1, self.heap) { [INFO] [stdout] ... [INFO] [stdout] 227 | } [INFO] [stdout] 228 ~ } _ => { [INFO] [stdout] 229 | Ok(GlobalValue::any()) [INFO] [stdout] 230 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/fill_types_for_lint.rs:242:12 [INFO] [stdout] | [INFO] [stdout] 242 | if let (Some(lhs), BinOp::BitOr, Some(rhs)) = (lhs.value, op, rhs.value) { [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/typing/fill_types_for_lint.rs:247:9 [INFO] [stdout] | [INFO] [stdout] 247 | } 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] 242 ~ match (lhs.value, op, rhs.value) { (Some(lhs), BinOp::BitOr, Some(rhs)) => { [INFO] [stdout] 243 | match lhs.bit_or(rhs, self.heap) { [INFO] [stdout] ... [INFO] [stdout] 246 | } [INFO] [stdout] 247 ~ } _ => { [INFO] [stdout] 248 | Ok(GlobalValue::any()) [INFO] [stdout] 249 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/fill_types_for_lint.rs:564:20 [INFO] [stdout] | [INFO] [stdout] 564 | if let Some(a) = self.expr_ident(a)?.value { [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/typing/fill_types_for_lint.rs:587:17 [INFO] [stdout] | [INFO] [stdout] 587 | } 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] 564 ~ match self.expr_ident(a)?.value { Some(a) => { [INFO] [stdout] 565 | if !a.ptr_eq(Constants::get().fn_list.0.to_value()) { [INFO] [stdout] ... [INFO] [stdout] 586 | } [INFO] [stdout] 587 ~ } _ => { [INFO] [stdout] 588 | self.approximations [INFO] [stdout] 589 | .push(Approximation::new("Not global", x)); [INFO] [stdout] 590 | Ok(Ty::any()) [INFO] [stdout] 591 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/fill_types_for_lint.rs:594:20 [INFO] [stdout] | [INFO] [stdout] 594 | if let Some(a) = self.expr_ident(a)?.value { [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/typing/fill_types_for_lint.rs:618:17 [INFO] [stdout] | [INFO] [stdout] 618 | } 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] 594 ~ match self.expr_ident(a)?.value { Some(a) => { [INFO] [stdout] 595 | if !a.ptr_eq(Constants::get().fn_dict.0.to_value()) { [INFO] [stdout] ... [INFO] [stdout] 617 | } [INFO] [stdout] 618 ~ } _ => { [INFO] [stdout] 619 | self.approximations [INFO] [stdout] 620 | .push(Approximation::new("Not global", x)); [INFO] [stdout] 621 | Ok(Ty::any()) [INFO] [stdout] 622 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/fill_types_for_lint.rs:625:20 [INFO] [stdout] | [INFO] [stdout] 625 | if let Some(a) = self.expr_ident(a)?.value { [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/typing/fill_types_for_lint.rs:651:17 [INFO] [stdout] | [INFO] [stdout] 651 | } 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] 625 ~ match self.expr_ident(a)?.value { Some(a) => { [INFO] [stdout] 626 | if !a.ptr_eq(Constants::get().fn_tuple.0.to_value()) { [INFO] [stdout] ... [INFO] [stdout] 650 | } [INFO] [stdout] 651 ~ } _ => { [INFO] [stdout] 652 | self.approximations [INFO] [stdout] 653 | .push(Approximation::new("Not global", x)); [INFO] [stdout] 654 | Ok(Ty::any()) [INFO] [stdout] 655 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/ty.rs:189:12 [INFO] [stdout] | [INFO] [stdout] 189 | if let Some(x) = Self::try_name_special(name) { [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/typing/ty.rs:191:9 [INFO] [stdout] | [INFO] [stdout] 191 | } 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] 189 ~ match Self::try_name_special(name) { Some(x) => { [INFO] [stdout] 190 | x [INFO] [stdout] 191 ~ } _ => { [INFO] [stdout] 192 | Ty::basic(TyBasic::Name(TyName::new(name))) [INFO] [stdout] 193 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/ty.rs:486:12 [INFO] [stdout] | [INFO] [stdout] 486 | if let Some(t) = value.get_ref().typechecker_ty() { [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/typing/ty.rs:488:9 [INFO] [stdout] | [INFO] [stdout] 488 | } 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] 486 ~ match value.get_ref().typechecker_ty() { Some(t) => { [INFO] [stdout] 487 | t [INFO] [stdout] 488 ~ } _ => { [INFO] [stdout] 489 | Ty::from_docs_member(&DocMember::from_value(value)) [INFO] [stdout] 490 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/typecheck.rs:239:16 [INFO] [stdout] | [INFO] [stdout] 239 | if let StmtP::Def(_) = &mut top.node { [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/typing/typecheck.rs:287:13 [INFO] [stdout] | [INFO] [stdout] 287 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 239 ~ match &mut top.node { StmtP::Def(_) => { [INFO] [stdout] 240 | let bindings = match BindingsCollect::collect_one( [INFO] [stdout] ... [INFO] [stdout] 286 | } [INFO] [stdout] 287 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/user.rs:215:12 [INFO] [stdout] | [INFO] [stdout] 215 | if let Ok(ty) = self.base.attr_from_methods(attr) { [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/typing/user.rs:217:9 [INFO] [stdout] | [INFO] [stdout] 217 | } 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] 215 ~ match self.base.attr_from_methods(attr) { Ok(ty) => { [INFO] [stdout] 216 | Ok(ty) [INFO] [stdout] 217 ~ } _ => { [INFO] [stdout] 218 | match self.fields.known.get(attr) { [INFO] [stdout] ... [INFO] [stdout] 227 | } [INFO] [stdout] 228 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/user.rs:232:12 [INFO] [stdout] | [INFO] [stdout] 232 | if let Some(index) = &self.index { [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/typing/user.rs:237:9 [INFO] [stdout] | [INFO] [stdout] 237 | } 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] 232 ~ match &self.index { Some(index) => { [INFO] [stdout] 233 | if !ctx.intersects(&Ty::basic(item.dupe()), &index.index) { [INFO] [stdout] ... [INFO] [stdout] 236 | Ok(index.result.dupe()) [INFO] [stdout] 237 ~ } _ => { [INFO] [stdout] 238 | self.base.index(item) [INFO] [stdout] 239 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/user.rs:243:12 [INFO] [stdout] | [INFO] [stdout] 243 | if let Some(iter_item) = &self.iter_item { [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/typing/user.rs:245:9 [INFO] [stdout] | [INFO] [stdout] 245 | } 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] 243 ~ match &self.iter_item { Some(iter_item) => { [INFO] [stdout] 244 | Ok(iter_item.dupe()) [INFO] [stdout] 245 ~ } _ => { [INFO] [stdout] 246 | self.base.iter_item() [INFO] [stdout] 247 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/typing/user.rs:260:12 [INFO] [stdout] | [INFO] [stdout] 260 | if let Some(callable) = &self.callable { [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/typing/user.rs:262:9 [INFO] [stdout] | [INFO] [stdout] 262 | } 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] 260 ~ match &self.callable { Some(callable) => { [INFO] [stdout] 261 | callable.validate_call(span, args, oracle) [INFO] [stdout] 262 ~ } _ => { [INFO] [stdout] 263 | Ok(self.base.validate_call(span, oracle)?) [INFO] [stdout] 264 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/stdlib/breakpoint.rs:171:24 [INFO] [stdout] | [INFO] [stdout] 171 | if let Some(cmd) = pick_command(line.trim_end(), &mut *rl) { [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/stdlib/breakpoint.rs:179:21 [INFO] [stdout] | [INFO] [stdout] 179 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 171 ~ match pick_command(line.trim_end(), &mut *rl) { Some(cmd) => { [INFO] [stdout] 172 | match cmd(eval, &mut *rl)? { [INFO] [stdout] ... [INFO] [stdout] 178 | } [INFO] [stdout] 179 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/stdlib/dict.rs:322:16 [INFO] [stdout] | [INFO] [stdout] 322 | if let Some(dict) = DictRef::from_value(pairs) { [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/stdlib/dict.rs:326:13 [INFO] [stdout] | [INFO] [stdout] 326 | } 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] 322 ~ match DictRef::from_value(pairs) { Some(dict) => { [INFO] [stdout] 323 | for (k, v) in dict.iter_hashed() { [INFO] [stdout] 324 | this.insert_hashed(k, v); [INFO] [stdout] 325 | } [INFO] [stdout] 326 ~ } _ => { [INFO] [stdout] 327 | for v in pairs.iterate(heap)? { [INFO] [stdout] ... [INFO] [stdout] 337 | } [INFO] [stdout] 338 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/stdlib/funcs/dict.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | if let Some(second) = it.next() { [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/stdlib/funcs/dict.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 34 ~ match it.next() { Some(second) => { [INFO] [stdout] 35 | if it.next().is_none() { [INFO] [stdout] 36 | return Ok((first, second)); [INFO] [stdout] 37 | } [INFO] [stdout] 38 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/stdlib/funcs/list.rs:68:16 [INFO] [stdout] | [INFO] [stdout] 68 | if let Arg::Pos(arg_ty) = &arg.node { [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/stdlib/funcs/list.rs:72:13 [INFO] [stdout] | [INFO] [stdout] 72 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 68 ~ match &arg.node { Arg::Pos(arg_ty) => { [INFO] [stdout] 69 | // This is also infallible. [INFO] [stdout] 70 | let item = oracle.iter_item(Spanned { span, node: arg_ty })?; [INFO] [stdout] 71 | return Ok(Ty::list(item)); [INFO] [stdout] 72 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl IntoIterator>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/stdlib/funcs/other.rs:758:37 [INFO] [stdout] | [INFO] [stdout] 758 | ) -> starlark::Result>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/stdlib/funcs/other.rs:754:76 [INFO] [stdout] | [INFO] [stdout] 754 | #[starlark(require = pos)] x: ValueOfUnchecked<'v, ValueOfUnchecked>>, [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 757 | eval: &mut Evaluator<'v, '_>, [INFO] [stdout] | ^ ^^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 758 | ) -> starlark::Result> + use<'v>>> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl avalue::AValue<'static, ExtraElem = ()>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/values/layout/heap/arena.rs:510:27 [INFO] [stdout] | [INFO] [stdout] 510 | fn mk_str(x: &str) -> impl AValue<'static, ExtraElem = ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/values/layout/heap/arena.rs:510:18 [INFO] [stdout] | [INFO] [stdout] 510 | fn mk_str(x: &str) -> impl AValue<'static, ExtraElem = ()> { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 510 | fn mk_str(x: &str) -> impl AValue<'static, ExtraElem = ()> + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/values/layout/heap/heap_type.rs:179:12 [INFO] [stdout] | [INFO] [stdout] 179 | if let Some(arc) = &self.0 { [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/values/layout/heap/heap_type.rs:182:9 [INFO] [stdout] | [INFO] [stdout] 182 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 179 ~ match &self.0 { Some(arc) => { [INFO] [stdout] 180 | let x: &FrozenFrozenHeap = Deref::deref(&arc); [INFO] [stdout] 181 | ptr::hash(x, state); [INFO] [stdout] 182 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/values/layout/value.rs:577:12 [INFO] [stdout] | [INFO] [stdout] 577 | if let Some(r) = self.get_ref().mul(other, heap) { [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] 578 | r [INFO] [stdout] 579 | } else if let Some(r) = other.get_ref().rmul(self, heap) { [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/values/layout/value.rs:579:9 [INFO] [stdout] | [INFO] [stdout] 579 | } else if let Some(r) = other.get_ref().rmul(self, heap) { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/values/layout/value.rs:581:9 [INFO] [stdout] | [INFO] [stdout] 581 | } 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] 577 ~ match self.get_ref().mul(other, heap) { Some(r) => { [INFO] [stdout] 578 | r [INFO] [stdout] 579 ~ } _ => { match other.get_ref().rmul(self, heap) { Some(r) => { [INFO] [stdout] 580 | r [INFO] [stdout] 581 ~ } _ => { [INFO] [stdout] 582 | ValueError::unsupported_owned(self.get_type(), "*", Some(other.get_type())) [INFO] [stdout] 583 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/values/layout/value.rs:719:12 [INFO] [stdout] | [INFO] [stdout] 719 | if let Some(v) = self.get_ref().add(other, heap) { [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] 720 | v [INFO] [stdout] 721 | } else if let Some(v) = other.get_ref().radd(self, heap) { [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/values/layout/value.rs:721:9 [INFO] [stdout] | [INFO] [stdout] 721 | } else if let Some(v) = other.get_ref().radd(self, heap) { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/values/layout/value.rs:723:9 [INFO] [stdout] | [INFO] [stdout] 723 | } 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] 719 ~ match self.get_ref().add(other, heap) { Some(v) => { [INFO] [stdout] 720 | v [INFO] [stdout] 721 ~ } _ => { match other.get_ref().radd(self, heap) { Some(v) => { [INFO] [stdout] 722 | v [INFO] [stdout] 723 ~ } _ => { [INFO] [stdout] 724 | ValueError::unsupported_owned(self.get_type(), "+", Some(other.get_type())) [INFO] [stdout] 725 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl ExactSizeIterator + Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/values/types/dict/refs.rs:112:27 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn iter(&self) -> impl ExactSizeIterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/values/types/dict/refs.rs:112:17 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn iter(&self) -> impl ExactSizeIterator { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 112 | pub fn iter(&self) -> impl ExactSizeIterator + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/values/types/string/dot_format.rs:141:11 [INFO] [stdout] | [INFO] [stdout] 141 | while let Some(token) = parser.next()? { [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/values/types/string/dot_format.rs:149:5 [INFO] [stdout] | [INFO] [stdout] 149 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl ExactSizeIterator + Iterator, layout::value::FrozenValue)> + 'f` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/values/types/structs/refs.rs:72:27 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn iter(&self) -> impl ExactSizeIterator + 'f { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/values/types/structs/refs.rs:72:17 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn iter(&self) -> impl ExactSizeIterator + 'f { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 72 | pub fn iter(&self) -> impl ExactSizeIterator + 'f + use<'f> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/values/typing/type_compiled/compiled.rs:459:19 [INFO] [stdout] | [INFO] [stdout] 459 | } else if let Some(ty) = ty.get_ref().eval_type() { [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/values/typing/type_compiled/compiled.rs:461:9 [INFO] [stdout] | [INFO] [stdout] 461 | } 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] 459 ~ } else { match ty.get_ref().eval_type() { Some(ty) => { [INFO] [stdout] 460 | Ok(TypeCompiled::from_ty(&ty, heap)) [INFO] [stdout] 461 ~ } _ => { [INFO] [stdout] 462 | Err(invalid_type_annotation(ty, heap).into()) [INFO] [stdout] 463 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/values/typing/type_compiled/compiled.rs:490:15 [INFO] [stdout] | [INFO] [stdout] 490 | } else if let Some(name) = ty [INFO] [stdout] | ________________^ - [INFO] [stdout] | | ________________________________| [INFO] [stdout] 491 | || .get_attr("type", heap) [INFO] [stdout] | ||_______________________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 492 | | .ok() [INFO] [stdout] 493 | | .flatten() [INFO] [stdout] 494 | | .and_then(|v| v.unpack_str()) [INFO] [stdout] | |______________________________________^ [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/values/typing/type_compiled/compiled.rs:497:5 [INFO] [stdout] | [INFO] [stdout] 497 | } 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] 490 ~ } else { match ty [INFO] [stdout] 491 | .get_attr("type", heap) [INFO] [stdout] ... [INFO] [stdout] 494 | .and_then(|v| v.unpack_str()) [INFO] [stdout] 495 ~ { Some(name) => { [INFO] [stdout] 496 | TypingError::PerhapsYouMeant(ty.to_str(), name.into()) [INFO] [stdout] 497 ~ } _ => { [INFO] [stdout] 498 | TypingError::InvalidTypeAnnotation(ty.to_str()) [INFO] [stdout] 499 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/values/unpack.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 200 | if let Some(left) = TLeft::unpack_value(value) { [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/values/unpack.rs:202:9 [INFO] [stdout] | [INFO] [stdout] 202 | } 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] 200 ~ match TLeft::unpack_value(value) { Some(left) => { [INFO] [stdout] 201 | Some(Self::Left(left)) [INFO] [stdout] 202 ~ } _ => { [INFO] [stdout] 203 | TRight::unpack_value(value).map(Self::Right) [INFO] [stdout] 204 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::hint::must_use` that must be used [INFO] [stdout] --> src/tests/uncategorized.rs:993:5 [INFO] [stdout] | [INFO] [stdout] 993 | format!("{:?}", res); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this warning originates in the macro `format` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::hint::must_use` that must be used [INFO] [stdout] --> src/tests/uncategorized.rs:1003:5 [INFO] [stdout] | [INFO] [stdout] 1003 | format!("{:?}", res); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `format` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 266 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 54.69s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Compiling starlark v0.12.0 (/tmp/fixit) [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/eval/runtime/evaluator.rs:352:18 [INFO] [stdout] | [INFO] [stdout] 352 | .gen(self.heap(), HeapProfileFormat::Summary), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 352 | .r#gen(self.heap(), HeapProfileFormat::Summary), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/eval/runtime/evaluator.rs:352:18 [INFO] [stdout] | [INFO] [stdout] 352 | .gen(self.heap(), HeapProfileFormat::Summary), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 352 | .r#gen(self.heap(), HeapProfileFormat::Summary), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/eval/runtime/evaluator.rs:355:18 [INFO] [stdout] | [INFO] [stdout] 355 | .gen(self.heap(), HeapProfileFormat::FlameGraph), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 355 | .r#gen(self.heap(), HeapProfileFormat::FlameGraph), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/eval/runtime/evaluator.rs:355:18 [INFO] [stdout] | [INFO] [stdout] 355 | .gen(self.heap(), HeapProfileFormat::FlameGraph), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 355 | .r#gen(self.heap(), HeapProfileFormat::FlameGraph), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/eval/runtime/evaluator.rs:359:57 [INFO] [stdout] | [INFO] [stdout] 359 | ProfileMode::Statement => self.stmt_profile.gen(), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 359 | ProfileMode::Statement => self.stmt_profile.r#gen(), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/eval/runtime/evaluator.rs:359:57 [INFO] [stdout] | [INFO] [stdout] 359 | ProfileMode::Statement => self.stmt_profile.gen(), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 359 | ProfileMode::Statement => self.stmt_profile.r#gen(), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/eval/runtime/evaluator.rs:363:63 [INFO] [stdout] | [INFO] [stdout] 363 | ProfileMode::TimeFlame => self.time_flame_profile.gen(), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 363 | ProfileMode::TimeFlame => self.time_flame_profile.r#gen(), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/eval/runtime/evaluator.rs:363:63 [INFO] [stdout] | [INFO] [stdout] 363 | ProfileMode::TimeFlame => self.time_flame_profile.gen(), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 363 | ProfileMode::TimeFlame => self.time_flame_profile.r#gen(), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/eval/runtime/evaluator.rs:364:62 [INFO] [stdout] | [INFO] [stdout] 364 | ProfileMode::Typecheck => self.typecheck_profile.gen(), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 364 | ProfileMode::Typecheck => self.typecheck_profile.r#gen(), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/eval/runtime/evaluator.rs:364:62 [INFO] [stdout] | [INFO] [stdout] 364 | ProfileMode::Typecheck => self.typecheck_profile.gen(), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 364 | ProfileMode::Typecheck => self.typecheck_profile.r#gen(), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/eval/runtime/profile/bc.rs:286:50 [INFO] [stdout] | [INFO] [stdout] 286 | let csv = eval.gen_bc_profile().unwrap().gen().unwrap(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 286 | let csv = eval.gen_bc_profile().unwrap().r#gen().unwrap(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/eval/runtime/profile/bc.rs:286:50 [INFO] [stdout] | [INFO] [stdout] 286 | let csv = eval.gen_bc_profile().unwrap().gen().unwrap(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 286 | let csv = eval.gen_bc_profile().unwrap().r#gen().unwrap(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/eval/runtime/profile/bc.rs:305:56 [INFO] [stdout] | [INFO] [stdout] 305 | let csv = eval.gen_bc_pairs_profile().unwrap().gen().unwrap(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 305 | let csv = eval.gen_bc_pairs_profile().unwrap().r#gen().unwrap(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/eval/runtime/profile/bc.rs:305:56 [INFO] [stdout] | [INFO] [stdout] 305 | let csv = eval.gen_bc_pairs_profile().unwrap().gen().unwrap(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 305 | let csv = eval.gen_bc_pairs_profile().unwrap().r#gen().unwrap(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/eval/runtime/profile/data.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn gen(&self) -> anyhow::Result { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 70 | pub fn r#gen(&self) -> anyhow::Result { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/eval/runtime/profile/data.rs:95:30 [INFO] [stdout] | [INFO] [stdout] 95 | fs::write(path, self.gen()?).with_context(|| { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 95 | fs::write(path, self.r#gen()?).with_context(|| { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/eval/runtime/profile/data.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn gen(&self) -> anyhow::Result { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 70 | pub fn r#gen(&self) -> anyhow::Result { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/eval/runtime/profile/data.rs:95:30 [INFO] [stdout] | [INFO] [stdout] 95 | fs::write(path, self.gen()?).with_context(|| { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 95 | fs::write(path, self.r#gen()?).with_context(|| { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/eval/runtime/profile/heap.rs:87:19 [INFO] [stdout] | [INFO] [stdout] 87 | pub(crate) fn gen( [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 87 | pub(crate) fn r#gen( [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/eval/runtime/profile/heap.rs:87:19 [INFO] [stdout] | [INFO] [stdout] 87 | pub(crate) fn gen( [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 87 | pub(crate) fn r#gen( [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/eval/runtime/profile/stmt.rs:186:19 [INFO] [stdout] | [INFO] [stdout] 186 | pub(crate) fn gen(&self) -> anyhow::Result { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 186 | pub(crate) fn r#gen(&self) -> anyhow::Result { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/eval/runtime/profile/stmt.rs:186:19 [INFO] [stdout] | [INFO] [stdout] 186 | pub(crate) fn gen(&self) -> anyhow::Result { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 186 | pub(crate) fn r#gen(&self) -> anyhow::Result { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/eval/runtime/profile/time_flame.rs:244:19 [INFO] [stdout] | [INFO] [stdout] 244 | pub(crate) fn gen(&self) -> anyhow::Result { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 244 | pub(crate) fn r#gen(&self) -> anyhow::Result { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/eval/runtime/profile/time_flame.rs:335:51 [INFO] [stdout] | [INFO] [stdout] 335 | let profile = eval.gen_profile().unwrap().gen().unwrap(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 335 | let profile = eval.gen_profile().unwrap().r#gen().unwrap(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/eval/runtime/profile/time_flame.rs:244:19 [INFO] [stdout] | [INFO] [stdout] 244 | pub(crate) fn gen(&self) -> anyhow::Result { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 244 | pub(crate) fn r#gen(&self) -> anyhow::Result { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/eval/runtime/profile/time_flame.rs:335:51 [INFO] [stdout] | [INFO] [stdout] 335 | let profile = eval.gen_profile().unwrap().gen().unwrap(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 335 | let profile = eval.gen_profile().unwrap().r#gen().unwrap(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/eval/runtime/profile/typecheck.rs:71:19 [INFO] [stdout] | [INFO] [stdout] 71 | pub(crate) fn gen(&self) -> anyhow::Result { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 71 | pub(crate) fn r#gen(&self) -> anyhow::Result { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/eval/runtime/profile/typecheck.rs:71:19 [INFO] [stdout] | [INFO] [stdout] 71 | pub(crate) fn gen(&self) -> anyhow::Result { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 71 | pub(crate) fn r#gen(&self) -> anyhow::Result { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/typing/user.rs:405:33 [INFO] [stdout] | [INFO] [stdout] 405 | TypeInstanceId::gen(), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 405 | TypeInstanceId::r#gen(), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/typing/user.rs:405:33 [INFO] [stdout] | [INFO] [stdout] 405 | TypeInstanceId::gen(), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 405 | TypeInstanceId::r#gen(), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/typing/user.rs:416:33 [INFO] [stdout] | [INFO] [stdout] 416 | TypeInstanceId::gen(), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 416 | TypeInstanceId::r#gen(), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/typing/user.rs:416:33 [INFO] [stdout] | [INFO] [stdout] 416 | TypeInstanceId::gen(), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 416 | TypeInstanceId::r#gen(), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/values/types/enumeration/enum_type.rs:184:34 [INFO] [stdout] | [INFO] [stdout] 184 | let id = TypeInstanceId::gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 184 | let id = TypeInstanceId::r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/values/types/enumeration/enum_type.rs:321:33 [INFO] [stdout] | [INFO] [stdout] 321 | TypeInstanceId::gen(), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 321 | TypeInstanceId::r#gen(), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/values/types/enumeration/enum_type.rs:184:34 [INFO] [stdout] | [INFO] [stdout] 184 | let id = TypeInstanceId::gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 184 | let id = TypeInstanceId::r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/values/types/enumeration/enum_type.rs:321:33 [INFO] [stdout] | [INFO] [stdout] 321 | TypeInstanceId::gen(), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 321 | TypeInstanceId::r#gen(), [WARN] too many lines in the log, truncating it