[INFO] fetching crate gdnative-core 0.11.3... [INFO] checking gdnative-core-0.11.3 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate gdnative-core 0.11.3 into /workspace/builds/worker-7-tc2/source [INFO] validating manifest of crates.io crate gdnative-core 0.11.3 on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate gdnative-core 0.11.3 [INFO] finished tweaking crates.io crate gdnative-core 0.11.3 [INFO] tweaked toml for crates.io crate gdnative-core 0.11.3 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 73 packages to latest compatible versions [INFO] [stderr] Adding bindgen v0.63.0 (available: v0.70.1) [INFO] [stderr] Adding bitflags v1.3.2 (available: v2.6.0) [INFO] [stderr] Adding glam v0.22.0 (available: v0.29.0) [INFO] [stderr] Adding hashbrown v0.12.3 (available: v0.14.5) [INFO] [stderr] Adding indexmap v1.9.3 (available: v2.5.0) [INFO] [stderr] Adding peeking_take_while v0.1.2 (available: v1.0.0) [INFO] [stderr] Adding proc-macro-crate v1.3.1 (available: v3.2.0) [INFO] [stderr] Adding rustc-hash v1.1.0 (available: v2.0.0) [INFO] [stderr] Adding syn v1.0.109 (available: v2.0.77) [INFO] [stderr] Adding toml_edit v0.19.15 (available: v0.22.22) [INFO] [stderr] Adding wasi v0.11.0+wasi-snapshot-preview1 (available: v0.13.2+wasi-0.2.1) [INFO] [stderr] Adding winnow v0.5.40 (available: v0.6.20) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] aab2d552e1a876e43f7e27a08ecd3b1bd958d4d14900c3da7444aa9526bb3d25 [INFO] running `Command { std: "docker" "start" "-a" "aab2d552e1a876e43f7e27a08ecd3b1bd958d4d14900c3da7444aa9526bb3d25", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "aab2d552e1a876e43f7e27a08ecd3b1bd958d4d14900c3da7444aa9526bb3d25", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "aab2d552e1a876e43f7e27a08ecd3b1bd958d4d14900c3da7444aa9526bb3d25", kill_on_drop: false }` [INFO] [stdout] aab2d552e1a876e43f7e27a08ecd3b1bd958d4d14900c3da7444aa9526bb3d25 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a30608c382fe0495be788c707a9d02da8b9956100c94a68ac5918a6268c9373d [INFO] running `Command { std: "docker" "start" "-a" "a30608c382fe0495be788c707a9d02da8b9956100c94a68ac5918a6268c9373d", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Fixed Cargo.toml (2 fixes) [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling glob v0.3.1 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling regex-syntax v0.8.4 [INFO] [stderr] Compiling bindgen v0.63.0 [INFO] [stderr] Compiling equivalent v1.0.1 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling rustc-hash v1.1.0 [INFO] [stderr] Compiling libloading v0.8.5 [INFO] [stderr] Compiling peeking_take_while v0.1.2 [INFO] [stderr] Compiling lazycell v1.3.0 [INFO] [stderr] Compiling libc v0.2.159 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Compiling toml_datetime v0.6.8 [INFO] [stderr] Compiling winnow v0.5.40 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling once_cell v1.19.0 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Checking approx v0.5.1 [INFO] [stderr] Checking glam v0.22.0 [INFO] [stderr] Checking atomic-take v1.1.0 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Compiling clang-sys v1.8.1 [INFO] [stderr] Compiling indexmap v2.5.0 [INFO] [stderr] Compiling toml_edit v0.19.15 [INFO] [stderr] Compiling regex-automata v0.4.7 [INFO] [stderr] Compiling cexpr v0.6.0 [INFO] [stderr] Compiling mini-internal v0.1.40 [INFO] [stderr] Compiling miniserde v0.1.40 [INFO] [stderr] Compiling proc-macro-crate v1.3.1 [INFO] [stderr] Compiling regex v1.10.6 [INFO] [stderr] Compiling gdnative-impl-proc-macros v0.11.3 [INFO] [stderr] Compiling gdnative-derive v0.11.3 [INFO] [stderr] Compiling gdnative-sys v0.11.3 [INFO] [stderr] Checking gdnative-core v0.11.3 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `gdnative_core` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/core_types/mod.rs [INFO] [stderr] * src/core_types/variant.rs [INFO] [stderr] * src/export/method.rs [INFO] [stderr] * src/macros.rs [INFO] [stderr] * src/private.rs [INFO] [stderr] * src/profiler.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/macros.rs:20:6 [INFO] [stderr] | [INFO] [stderr] 20 | ($val: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/macros.rs:32:6 [INFO] [stderr] | [INFO] [stderr] 32 | ($val:expr_2021,) => { $crate::godot_dbg!($val) }; [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/macros.rs:33:8 [INFO] [stderr] | [INFO] [stderr] 33 | ($($val: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/core_types/variant.rs:66:6 [INFO] [stderr] | [INFO] [stderr] 66 | ($v:expr_2021, $variant:ident ( $inner:ty )) => { [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/core_types/variant.rs:69:6 [INFO] [stderr] | [INFO] [stderr] 69 | ($v:expr_2021, $variant:ident) => { [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/export/method.rs:429:13 [INFO] [stderr] | [INFO] [stderr] 429 | ($_t:tt $sub: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/profiler.rs:177:6 [INFO] [stderr] | [INFO] [stderr] 177 | ($tag: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: ambiguous glob re-exports [INFO] [stderr] --> src/core_types/mod.rs:45:9 [INFO] [stderr] | [INFO] [stderr] 34 | pub use dictionary::*; [INFO] [stderr] | ------------- but the name `Iter` in the type namespace is also re-exported here [INFO] [stderr] ... [INFO] [stderr] 45 | pub use variant_array::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ the name `Iter` in the type namespace is first re-exported here [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ambiguous_glob_reexports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: ambiguous glob re-exports [INFO] [stderr] --> src/core_types/mod.rs:45:9 [INFO] [stderr] | [INFO] [stderr] 34 | pub use dictionary::*; [INFO] [stderr] | ------------- but the name `IntoIter` in the type namespace is also re-exported here [INFO] [stderr] ... [INFO] [stderr] 45 | pub use variant_array::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ the name `IntoIter` in the type namespace is first re-exported here [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/private.rs:277:17 [INFO] [stderr] | [INFO] [stderr] 277 | &mut TABLE [INFO] [stderr] | ^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] ... [INFO] [stderr] 305 | / make_method_table!(struct ObjectMethodTable for Object { [INFO] [stderr] 306 | | get_class, [INFO] [stderr] 307 | | is_class, [INFO] [stderr] 308 | | }); [INFO] [stderr] | |__- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility` [INFO] [stderr] = note: this warning originates in the macro `make_method_table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 277 | addr_of_mut!(TABLE) [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/private.rs:277:17 [INFO] [stderr] | [INFO] [stderr] 277 | &mut TABLE [INFO] [stderr] | ^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] ... [INFO] [stderr] 310 | / make_method_table!(struct ReferenceMethodTable for Reference { [INFO] [stderr] 311 | | reference, [INFO] [stderr] 312 | | unreference, [INFO] [stderr] 313 | | init_ref, [INFO] [stderr] 314 | | }); [INFO] [stderr] | |__- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:20:11 [INFO] [stdout] | [INFO] [stdout] 20 | ($val: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] 20 | ($val:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:32:11 [INFO] [stdout] | [INFO] [stdout] 32 | ($val:expr,) => { $crate::godot_dbg!($val) }; [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] 32 | ($val:expr_2021,) => { $crate::godot_dbg!($val) }; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this warning originates in the macro `make_method_table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:33:13 [INFO] [stdout] | [INFO] [stdout] 33 | ($($val: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] 33 | ($($val:expr_2021),+ $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/core_types/variant.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | ($v:expr, $variant:ident ( $inner:ty )) => { [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] 66 | ($v:expr_2021, $variant:ident ( $inner:ty )) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stderr] 277 | addr_of_mut!(TABLE) [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/private.rs:277:17 [INFO] [stderr] | [INFO] [stderr] 277 | &mut TABLE [INFO] [stderr] | ^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] ... [INFO] [stderr] 318 | / make_method_table!(struct NativeScriptMethodTable for NativeScript { [INFO] [stderr] 319 | | set_class_name, [INFO] [stderr] 320 | | set_library, [INFO] [stderr] 321 | | new, [INFO] [stderr] 322 | | }); [INFO] [stderr] | |__- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/core_types/variant.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | ($v:expr, $variant:ident) => { [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] 69 | ($v:expr_2021, $variant:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/core_types/mod.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 34 | pub use dictionary::*; [INFO] [stdout] | ------------- but the name `Iter` in the type namespace is also re-exported here [INFO] [stdout] ... [INFO] [stdout] 45 | pub use variant_array::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ the name `Iter` in the type namespace is first re-exported here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ambiguous_glob_reexports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this warning originates in the macro `make_method_table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/core_types/mod.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 34 | pub use dictionary::*; [INFO] [stdout] | ------------- but the name `IntoIter` in the type namespace is also re-exported here [INFO] [stdout] ... [INFO] [stdout] 45 | pub use variant_array::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ the name `IntoIter` in the type namespace is first re-exported here [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] warning: unused import: `gdnative_derive::godot_wrap_method` [INFO] [stdout] --> src/export/macros.rs:2:9 [INFO] [stdout] | [INFO] [stdout] 2 | pub use gdnative_derive::godot_wrap_method; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stderr] 277 | addr_of_mut!(TABLE) [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] error: aborting due to 7 previous errors; 5 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: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/export/method.rs:429:18 [INFO] [stdout] | [INFO] [stdout] 429 | ($_t:tt $sub: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] 429 | ($_t:tt $sub:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/profiler.rs:177:11 [INFO] [stdout] | [INFO] [stdout] 177 | ($tag: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] 177 | ($tag:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged [INFO] [stdout] --> src/private.rs:277:17 [INFO] [stdout] | [INFO] [stdout] 277 | &mut TABLE [INFO] [stdout] | ^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] ... [INFO] [stdout] 305 | / make_method_table!(struct ObjectMethodTable for Object { [INFO] [stdout] 306 | | get_class, [INFO] [stdout] 307 | | is_class, [INFO] [stdout] 308 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] = note: this warning originates in the macro `make_method_table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 277 | addr_of_mut!(TABLE) [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged [INFO] [stdout] --> src/private.rs:277:17 [INFO] [stdout] | [INFO] [stdout] 277 | &mut TABLE [INFO] [stdout] | ^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] ... [INFO] [stdout] 310 | / make_method_table!(struct ReferenceMethodTable for Reference { [INFO] [stdout] 311 | | reference, [INFO] [stdout] 312 | | unreference, [INFO] [stdout] 313 | | init_ref, [INFO] [stdout] 314 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] = note: this warning originates in the macro `make_method_table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 277 | addr_of_mut!(TABLE) [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged [INFO] [stdout] --> src/private.rs:277:17 [INFO] [stdout] | [INFO] [stdout] 277 | &mut TABLE [INFO] [stdout] | ^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] ... [INFO] [stdout] 318 | / make_method_table!(struct NativeScriptMethodTable for NativeScript { [INFO] [stdout] 319 | | set_class_name, [INFO] [stdout] 320 | | set_library, [INFO] [stdout] 321 | | new, [INFO] [stdout] 322 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] = note: this warning originates in the macro `make_method_table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 277 | addr_of_mut!(TABLE) [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `core_types::variant::Variant::cast_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/dictionary.rs:145:9 [INFO] [stdout] | [INFO] [stdout] 145 | / Variant::cast_ref((get_api().godot_dictionary_operator_index_const)( [INFO] [stdout] 146 | | self.sys(), [INFO] [stdout] 147 | | key.owned_to_variant().sys(), [INFO] [stdout] 148 | | )) [INFO] [stdout] | |__________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/dictionary.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 141 | / pub unsafe fn get_ref(&self, key: K) -> &Variant [INFO] [stdout] 142 | | where [INFO] [stdout] 143 | | K: OwnedToVariant + ToVariantEq, [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 is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/dictionary.rs:145:27 [INFO] [stdout] | [INFO] [stdout] 145 | Variant::cast_ref((get_api().godot_dictionary_operator_index_const)( [INFO] [stdout] | ___________________________^ [INFO] [stdout] 146 | | self.sys(), [INFO] [stdout] 147 | | key.owned_to_variant().sys(), [INFO] [stdout] 148 | | )) [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/dictionary.rs:167:31 [INFO] [stdout] | [INFO] [stdout] 167 | Variant::cast_mut_ref((get_api().godot_dictionary_operator_index)( [INFO] [stdout] | _______________________________^ [INFO] [stdout] 168 | | self.sys_mut(), [INFO] [stdout] 169 | | key.owned_to_variant().sys(), [INFO] [stdout] 170 | | )) [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/dictionary.rs:163:5 [INFO] [stdout] | [INFO] [stdout] 163 | / pub unsafe fn get_mut_ref(&self, key: K) -> &mut Variant [INFO] [stdout] 164 | | where [INFO] [stdout] 165 | | K: OwnedToVariant + ToVariantEq, [INFO] [stdout] | |________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `core_types::dictionary::Dictionary::::cast_access` is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/dictionary.rs:280:9 [INFO] [stdout] | [INFO] [stdout] 280 | self.cast_access() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/dictionary.rs:279:5 [INFO] [stdout] | [INFO] [stdout] 279 | pub unsafe fn assume_unique(self) -> Dictionary { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/dictionary.rs:408:20 [INFO] [stdout] | [INFO] [stdout] 408 | let next_ptr = (get_api().godot_dictionary_next)(dic.sys(), last_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/core_types/dictionary.rs:403:1 [INFO] [stdout] | [INFO] [stdout] 403 | / unsafe fn iter_next( [INFO] [stdout] 404 | | dic: &Dictionary, [INFO] [stdout] 405 | | last_key: &mut Option, [INFO] [stdout] 406 | | ) -> Option<(Variant, Variant)> { [INFO] [stdout] | |_______________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `core_types::variant::Variant::cast_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/dictionary.rs:413:19 [INFO] [stdout] | [INFO] [stdout] 413 | let key = Variant::cast_ref(next_ptr).clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/error.rs:75:13 [INFO] [stdout] | [INFO] [stdout] 75 | Err(std::mem::transmute(err 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/core_types/error.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | pub unsafe fn result_from_sys(err: sys::godot_error) -> Result<(), Self> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/pool_array.rs:384:19 [INFO] [stdout] | [INFO] [stdout] 384 | let len = (T::size_fn(get_api()))(arr) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/core_types/pool_array.rs:383:5 [INFO] [stdout] | [INFO] [stdout] 383 | unsafe fn new(arr: *const T::SysArray) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/pool_array.rs:385:22 [INFO] [stdout] | [INFO] [stdout] 385 | let access = (T::read_fn(get_api()))(arr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/pool_array.rs:444:19 [INFO] [stdout] | [INFO] [stdout] 444 | let len = (T::size_fn(get_api()))(arr) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/core_types/pool_array.rs:443:5 [INFO] [stdout] | [INFO] [stdout] 443 | unsafe fn new(arr: *mut T::SysArray) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/pool_array.rs:445:22 [INFO] [stdout] | [INFO] [stdout] 445 | let access = (T::write_fn(get_api()))(arr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/rid.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | (get_api().godot_rid_get_id)(&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/core_types/rid.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | pub unsafe fn get_id(self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/variant.rs:335:9 [INFO] [stdout] | [INFO] [stdout] 335 | (api.godot_variant_new_object)(&mut dest, val); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/variant.rs:332:5 [INFO] [stdout] | [INFO] [stdout] 332 | pub unsafe fn from_object_ptr(val: *mut sys::godot_object) -> Variant { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/variant.rs:486:23 [INFO] [stdout] | [INFO] [stdout] 486 | let variant = (api.godot_variant_call)( [INFO] [stdout] | _______________________^ [INFO] [stdout] 487 | | &mut self.0, [INFO] [stdout] 488 | | &method.0, [INFO] [stdout] 489 | | arg_refs.as_mut_ptr(), [INFO] [stdout] 490 | | args.len() as i32, [INFO] [stdout] 491 | | &mut err, [INFO] [stdout] 492 | | ); [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/variant.rs:476:5 [INFO] [stdout] | [INFO] [stdout] 476 | / pub unsafe fn call( [INFO] [stdout] 477 | | &mut self, [INFO] [stdout] 478 | | method: impl Into, [INFO] [stdout] 479 | | args: &[Variant], [INFO] [stdout] 480 | | ) -> Result { [INFO] [stdout] | |___________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/variant.rs:532:10 [INFO] [stdout] | [INFO] [stdout] 532 | &*(ptr as *const variant::Variant) [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/core_types/variant.rs:531:5 [INFO] [stdout] | [INFO] [stdout] 531 | pub(crate) unsafe fn cast_ref<'l>(ptr: *const sys::godot_variant) -> &'l Variant { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `core_types::variant::Variant::cast_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/variant_array.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | / Variant::cast_ref((get_api().godot_array_operator_index_const)( [INFO] [stdout] 68 | | self.sys(), [INFO] [stdout] 69 | | idx, [INFO] [stdout] 70 | | )) [INFO] [stdout] | |__________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/variant_array.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | pub unsafe fn get_ref(&self, idx: i32) -> &Variant { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/variant_array.rs:67:27 [INFO] [stdout] | [INFO] [stdout] 67 | Variant::cast_ref((get_api().godot_array_operator_index_const)( [INFO] [stdout] | ___________________________^ [INFO] [stdout] 68 | | self.sys(), [INFO] [stdout] 69 | | idx, [INFO] [stdout] 70 | | )) [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/variant_array.rs:84:31 [INFO] [stdout] | [INFO] [stdout] 84 | Variant::cast_mut_ref((get_api().godot_array_operator_index)(self.sys_mut(), idx)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/variant_array.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | pub unsafe fn get_mut_ref(&self, idx: i32) -> &mut Variant { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `core_types::variant_array::VariantArray::::cast_access` is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/variant_array.rs:298:9 [INFO] [stdout] | [INFO] [stdout] 298 | self.cast_access() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/variant_array.rs:297:5 [INFO] [stdout] | [INFO] [stdout] 297 | pub unsafe fn assume_unique(self) -> VariantArray { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/method.rs:326:20 [INFO] [stdout] | [INFO] [stdout] 326 | let args = std::slice::from_raw_parts(args, num_args as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/export/method.rs:325:5 [INFO] [stdout] | [INFO] [stdout] 325 | pub unsafe fn from_sys(num_args: libc::c_int, args: *mut *mut sys::godot_variant) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/method.rs:327:20 [INFO] [stdout] | [INFO] [stdout] 327 | let args = std::mem::transmute::<&[*mut sys::godot_variant], &[&Variant]>(args); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/export/method.rs:879:23 [INFO] [stdout] | [INFO] [stdout] 879 | let method = &*(method_data as *const F); [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/export/method.rs:846:1 [INFO] [stdout] | [INFO] [stdout] 846 | / unsafe extern "C" fn method_wrapper>( [INFO] [stdout] 847 | | this: *mut sys::godot_object, [INFO] [stdout] 848 | | method_data: *mut libc::c_void, [INFO] [stdout] 849 | | user_data: *mut libc::c_void, [INFO] [stdout] 850 | | num_args: libc::c_int, [INFO] [stdout] 851 | | args: *mut *mut sys::godot_variant, [INFO] [stdout] 852 | | ) -> sys::godot_variant { [INFO] [stdout] | |_______________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/method.rs:881:42 [INFO] [stdout] | [INFO] [stdout] 881 | let this: Ref = Ref::from_sys(this); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `object::Ref::::assume_safe_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/method.rs:882:42 [INFO] [stdout] | [INFO] [stdout] 882 | let this: TRef<'_, C::Base, _> = this.assume_safe_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 `object::instance::TInstance::<'a, T, Own>::from_raw_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/method.rs:883:41 [INFO] [stdout] | [INFO] [stdout] 883 | let this: TInstance<'_, C, _> = TInstance::from_raw_unchecked(this, user_data); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `export::method::Varargs::<'a>::from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/method.rs:885:20 [INFO] [stdout] | [INFO] [stdout] 885 | let args = Varargs::from_sys(num_args, args); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/method.rs:903:10 [INFO] [stdout] | [INFO] [stdout] 903 | drop(Box::from_raw(method_data as *mut 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/export/method.rs:902:1 [INFO] [stdout] | [INFO] [stdout] 902 | unsafe extern "C" fn free_func(method_data: *mut libc::c_void) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/export/type_tag.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | *(&tag as *const Tag as *const *const libc::c_void) [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/export/type_tag.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | / pub(crate) unsafe fn create() -> *const libc::c_void [INFO] [stdout] 44 | | where [INFO] [stdout] 45 | | T: NativeClass, [INFO] [stdout] | |___________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/export/type_tag.rs:54:20 [INFO] [stdout] | [INFO] [stdout] 54 | let tags = TAGS.get_or_insert_with(IndexSet::default); [INFO] [stdout] | ^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/export/type_tag.rs:70:27 [INFO] [stdout] | [INFO] [stdout] 70 | Tag::of::() == *(&tag as *const *const libc::c_void as *const Tag) [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/export/type_tag.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | / pub(crate) unsafe fn check(tag: *const libc::c_void) -> bool [INFO] [stdout] 65 | | where [INFO] [stdout] 66 | | T: NativeClass, [INFO] [stdout] | |___________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/export/type_tag.rs:72:20 [INFO] [stdout] | [INFO] [stdout] 72 | let tags = TAGS.as_ref().expect("tag should be created by `create`"); [INFO] [stdout] | ^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/export/type_tag.rs:86:25 [INFO] [stdout] | [INFO] [stdout] 86 | if let Some(tags) = TAGS.take() { [INFO] [stdout] | ^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/export/type_tag.rs:84:1 [INFO] [stdout] | [INFO] [stdout] 84 | pub(crate) unsafe fn cleanup() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:275:19 [INFO] [stdout] | [INFO] [stdout] 275 | lock: Arc::from_raw(ptr as *const Mutex), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/export/user_data.rs:273:5 [INFO] [stdout] | [INFO] [stdout] 273 | unsafe fn consume_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:282:24 [INFO] [stdout] | [INFO] [stdout] 282 | let borrowed = Arc::from_raw(ptr as *const Mutex); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/export/user_data.rs:281:5 [INFO] [stdout] | [INFO] [stdout] 281 | unsafe fn clone_from_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:376:19 [INFO] [stdout] | [INFO] [stdout] 376 | lock: Arc::from_raw(ptr as *const RwLock), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/export/user_data.rs:374:5 [INFO] [stdout] | [INFO] [stdout] 374 | unsafe fn consume_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:383:24 [INFO] [stdout] | [INFO] [stdout] 383 | let borrowed = Arc::from_raw(ptr as *const RwLock); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/export/user_data.rs:382:5 [INFO] [stdout] | [INFO] [stdout] 382 | unsafe fn clone_from_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:490:17 [INFO] [stdout] | [INFO] [stdout] 490 | ArcData(Arc::from_raw(ptr as *const T)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/export/user_data.rs:489:5 [INFO] [stdout] | [INFO] [stdout] 489 | unsafe fn consume_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:495:24 [INFO] [stdout] | [INFO] [stdout] 495 | let borrowed = Arc::from_raw(ptr as *const T); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/export/user_data.rs:494:5 [INFO] [stdout] | [INFO] [stdout] 494 | unsafe fn clone_from_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:657:20 [INFO] [stdout] | [INFO] [stdout] 657 | inner: Arc::from_raw(ptr as *const local_cell::LocalCell), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/export/user_data.rs:655:5 [INFO] [stdout] | [INFO] [stdout] 655 | unsafe fn consume_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:663:24 [INFO] [stdout] | [INFO] [stdout] 663 | let borrowed = Arc::from_raw(ptr as *const local_cell::LocalCell); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/export/user_data.rs:662:5 [INFO] [stdout] | [INFO] [stdout] 662 | unsafe fn clone_from_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:810:14 [INFO] [stdout] | [INFO] [stdout] 810 | Once(Arc::from_raw(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/export/user_data.rs:809:5 [INFO] [stdout] | [INFO] [stdout] 809 | unsafe fn consume_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:815:24 [INFO] [stdout] | [INFO] [stdout] 815 | let borrowed = Arc::from_raw(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/export/user_data.rs:814:5 [INFO] [stdout] | [INFO] [stdout] 814 | unsafe fn clone_from_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/init/info.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | } = *options; [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/init/info.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | pub unsafe fn new(options: *mut crate::sys::godot_gdnative_init_options) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/init/info.rs:40:63 [INFO] [stdout] | [INFO] [stdout] 40 | let active_library_path = GodotString::clone_from_sys(*active_library_path); [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/init/info.rs:86:74 [INFO] [stdout] | [INFO] [stdout] 86 | let crate::sys::godot_gdnative_terminate_options { in_editor } = *options; [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/init/info.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | pub unsafe fn new(options: *mut crate::sys::godot_gdnative_terminate_options) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::RawObject::::try_from_sys_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/init/init_handle.rs:163:39 [INFO] [stdout] | [INFO] [stdout] 163 | let owner = match RawObject::::try_from_sys_ref(this) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/init/init_handle.rs:145:17 [INFO] [stdout] | [INFO] [stdout] 145 | / unsafe extern "C" fn constructor( [INFO] [stdout] 146 | | this: *mut sys::godot_object, [INFO] [stdout] 147 | | _method_data: *mut libc::c_void, [INFO] [stdout] 148 | | ) -> *mut libc::c_void { [INFO] [stdout] | |______________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `export::user_data::UserData::consume_user_data_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/init/init_handle.rs:216:35 [INFO] [stdout] | [INFO] [stdout] 216 | let wrapper = C::UserData::consume_user_data_unchecked(user_data); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/init/init_handle.rs:203:17 [INFO] [stdout] | [INFO] [stdout] 203 | / unsafe extern "C" fn destructor( [INFO] [stdout] 204 | | _this: *mut sys::godot_object, [INFO] [stdout] 205 | | _method_data: *mut libc::c_void, [INFO] [stdout] 206 | | user_data: *mut libc::c_void, [INFO] [stdout] 207 | | ) { [INFO] [stdout] | |_________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::RawObject::::try_from_sys_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 58 | if RawObject::::try_from_sys_ref(ptr).is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/bounds.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | / unsafe fn impl_from_maybe_ref_counted>( [INFO] [stdout] 56 | | ptr: NonNull, [INFO] [stdout] 57 | | ) -> Option> { [INFO] [stdout] | |_______________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::init_from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:59:18 [INFO] [stdout] | [INFO] [stdout] 59 | drop(Ref::::init_from_sys(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 `object::Ref::::init_from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:62:23 [INFO] [stdout] | [INFO] [stdout] 62 | let obj = Ref::::init_from_sys(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 `object::Ref::::cast_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:65:22 [INFO] [stdout] | [INFO] [stdout] 65 | Some(obj.cast_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 `object::Ref::::is_instance_sane` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 78 | this.is_instance_sane(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/bounds.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | / unsafe fn impl_assume_safe<'a, T: GodotObject>( [INFO] [stdout] 75 | | this: &Ref, [INFO] [stdout] 76 | | ) -> TRef<'a, T, Shared> { [INFO] [stdout] | |____________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::assume_safe_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 81 | this.assume_safe_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 `object::Ref::::is_instance_sane` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | this.is_instance_sane(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/bounds.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | / unsafe fn impl_assume_unique>( [INFO] [stdout] 86 | | this: Ref, [INFO] [stdout] 87 | | ) -> Ref { [INFO] [stdout] | |_______________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::cast_access` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | this.cast_access() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `object::raw::RawObject::::try_from_sys_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 108 | if RawObject::::try_from_sys_ref(ptr).is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/bounds.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | / unsafe fn impl_from_maybe_ref_counted>( [INFO] [stdout] 106 | | ptr: NonNull, [INFO] [stdout] 107 | | ) -> Option> { [INFO] [stdout] | |_______________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::init_from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:109:23 [INFO] [stdout] | [INFO] [stdout] 109 | let obj = Ref::::init_from_sys(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 `object::Ref::::cast_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:112:22 [INFO] [stdout] | [INFO] [stdout] 112 | Some(obj.cast_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 `object::raw::RawObject::::free` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:117:13 [INFO] [stdout] | [INFO] [stdout] 117 | RawObject::::from_sys_ref_unchecked(ptr).free(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `object::raw::RawObject::::from_sys_ref_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:117:13 [INFO] [stdout] | [INFO] [stdout] 117 | RawObject::::from_sys_ref_unchecked(ptr).free(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `object::Ref::::assume_safe_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | this.assume_safe_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/object/bounds.rs:123:5 [INFO] [stdout] | [INFO] [stdout] 123 | / unsafe fn impl_assume_safe<'a, T: GodotObject>( [INFO] [stdout] 124 | | this: &Ref, [INFO] [stdout] 125 | | ) -> TRef<'a, T, Shared> { [INFO] [stdout] | |____________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::cast_access` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:133:9 [INFO] [stdout] | [INFO] [stdout] 133 | this.cast_access() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/bounds.rs:130:5 [INFO] [stdout] | [INFO] [stdout] 130 | / unsafe fn impl_assume_unique>( [INFO] [stdout] 131 | | this: Ref, [INFO] [stdout] 132 | | ) -> Ref { [INFO] [stdout] | |_______________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::RawObject::::init_ref_count` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:143:9 [INFO] [stdout] | [INFO] [stdout] 143 | raw.init_ref_count(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/bounds.rs:142:5 [INFO] [stdout] | [INFO] [stdout] 142 | unsafe fn maybe_init_ref>(raw: &RawObject) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `core_types::variant::Variant::from_object_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/as_arg.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | crate::core_types::Variant::from_object_ptr(self.as_arg_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/object/as_arg.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | unsafe fn to_arg_variant(&self) -> crate::core_types::Variant { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::assume_safe` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/instance.rs:334:20 [INFO] [stdout] | [INFO] [stdout] 334 | owner: self.owner.assume_safe(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/instance.rs:329:5 [INFO] [stdout] | [INFO] [stdout] 329 | / pub unsafe fn assume_safe<'a, 'r>(&'r self) -> TInstance<'a, T, Shared> [INFO] [stdout] 330 | | where [INFO] [stdout] 331 | | AssumeSafeLifetime<'a, 'r>: LifetimeConstraint<::Memory>, [INFO] [stdout] | |_________________________________________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::is_instance_sane` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/instance.rs:353:9 [INFO] [stdout] | [INFO] [stdout] 353 | self.owner.is_instance_sane() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/instance.rs:352:5 [INFO] [stdout] | [INFO] [stdout] 352 | pub unsafe fn is_instance_sane(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::assume_unique` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/instance.rs:423:20 [INFO] [stdout] | [INFO] [stdout] 423 | owner: self.owner.assume_unique(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/instance.rs:421:5 [INFO] [stdout] | [INFO] [stdout] 421 | pub unsafe fn assume_unique(self) -> Instance { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::assume_thread_local` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/instance.rs:445:20 [INFO] [stdout] | [INFO] [stdout] 445 | owner: self.owner.assume_thread_local(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/instance.rs:443:5 [INFO] [stdout] | [INFO] [stdout] 443 | pub unsafe fn assume_thread_local(self) -> Instance { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `export::user_data::UserData::clone_from_user_data_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/instance.rs:478:22 [INFO] [stdout] | [INFO] [stdout] 478 | let script = T::UserData::clone_from_user_data_unchecked(user_data); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/instance.rs:474:5 [INFO] [stdout] | [INFO] [stdout] 474 | / pub unsafe fn from_raw_unchecked( [INFO] [stdout] 475 | | owner: TRef<'a, T::Base, Own>, [INFO] [stdout] 476 | | user_data: *mut libc::c_void, [INFO] [stdout] 477 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:31:10 [INFO] [stdout] | [INFO] [stdout] 31 | &*(obj.as_ptr() as *mut Self) [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/object/raw.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub unsafe fn from_sys_ref_unchecked<'a>(obj: NonNull) -> &'a Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::ptr_is_class` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 42 | if ptr_is_class(obj.as_ptr(), T::class_name()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/raw.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | pub unsafe fn try_from_sys_ref<'a>(obj: NonNull) -> Option<&'a Self> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::RawObject::::from_sys_ref_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:43:18 [INFO] [stdout] | [INFO] [stdout] 43 | Some(Self::from_sys_ref_unchecked(obj)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `object::raw::RawObject::::from_sys_ref_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:110:9 [INFO] [stdout] | [INFO] [stdout] 110 | RawObject::from_sys_ref_unchecked(self.sys()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/raw.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 106 | / pub unsafe fn cast_unchecked(&self) -> &RawObject [INFO] [stdout] 107 | | where [INFO] [stdout] 108 | | U: GodotObject, [INFO] [stdout] | |_______________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 120 | (get_api().godot_object_destroy)(self.sys().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/object/raw.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | pub unsafe fn free(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:164:9 [INFO] [stdout] | [INFO] [stdout] 164 | / (api.godot_method_bind_ptrcall)( [INFO] [stdout] 165 | | unref_method, [INFO] [stdout] 166 | | self.sys().as_ptr(), [INFO] [stdout] 167 | | argument_buffer.as_mut_ptr() as *mut _, [INFO] [stdout] 168 | | ret_ptr as *mut _, [INFO] [stdout] 169 | | ); [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/raw.rs:157:5 [INFO] [stdout] | [INFO] [stdout] 157 | pub unsafe fn unref(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::RawObject::::unref` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:183:30 [INFO] [stdout] | [INFO] [stdout] 183 | let last_reference = self.unref(); [INFO] [stdout] | ^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/raw.rs:182:5 [INFO] [stdout] | [INFO] [stdout] 182 | pub unsafe fn unref_and_free_if_last(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::RawObject::::free` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:186:13 [INFO] [stdout] | [INFO] [stdout] 186 | self.free(); [INFO] [stdout] | ^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:207:9 [INFO] [stdout] | [INFO] [stdout] 207 | / (api.godot_method_bind_ptrcall)( [INFO] [stdout] 208 | | init_method, [INFO] [stdout] 209 | | obj, [INFO] [stdout] 210 | | argument_buffer.as_mut_ptr() as *mut _, [INFO] [stdout] 211 | | ret_ptr as *mut _, [INFO] [stdout] 212 | | ); [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/raw.rs:198:5 [INFO] [stdout] | [INFO] [stdout] 198 | pub unsafe fn init_ref_count(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:235:26 [INFO] [stdout] | [INFO] [stdout] 235 | let mut class_name = (api.godot_string_chars_to_utf8_with_len)( [INFO] [stdout] | __________________________^ [INFO] [stdout] 236 | | class_name.as_ptr() as *const _, [INFO] [stdout] 237 | | class_name.len() as _, [INFO] [stdout] 238 | | ); [INFO] [stdout] | |_____^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/raw.rs:231:1 [INFO] [stdout] | [INFO] [stdout] 231 | unsafe fn ptr_is_class(obj: *mut sys::godot_object, class_name: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:245:5 [INFO] [stdout] | [INFO] [stdout] 245 | / (api.godot_method_bind_ptrcall)( [INFO] [stdout] 246 | | method_bind, [INFO] [stdout] 247 | | obj, [INFO] [stdout] 248 | | argument_buffer.as_mut_ptr() as *mut _, [INFO] [stdout] 249 | | ret_ptr as *mut _, [INFO] [stdout] 250 | | ); [INFO] [stdout] | |_____^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:252:5 [INFO] [stdout] | [INFO] [stdout] 252 | (api.godot_string_destroy)(&mut class_name); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `object::Ref::::from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:141:9 [INFO] [stdout] | [INFO] [stdout] 141 | Ref::from_sys(self.as_raw().sys()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:137:5 [INFO] [stdout] | [INFO] [stdout] 137 | / unsafe fn assume_shared(&self) -> Ref [INFO] [stdout] 138 | | where [INFO] [stdout] 139 | | Self: Sized, [INFO] [stdout] | |____________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:155:9 [INFO] [stdout] | [INFO] [stdout] 155 | Ref::from_sys(self.as_raw().sys()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:151:5 [INFO] [stdout] | [INFO] [stdout] 151 | / unsafe fn assume_thread_local(&self) -> Ref [INFO] [stdout] 152 | | where [INFO] [stdout] 153 | | Self: Sized + GodotObject, [INFO] [stdout] | |_______________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:172:9 [INFO] [stdout] | [INFO] [stdout] 172 | Ref::from_sys(self.as_raw().sys()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:168:5 [INFO] [stdout] | [INFO] [stdout] 168 | / unsafe fn assume_unique(&self) -> Ref [INFO] [stdout] 169 | | where [INFO] [stdout] 170 | | Self: Sized, [INFO] [stdout] | |____________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::TRef::<'a, T>::try_from_instance_id` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:184:9 [INFO] [stdout] | [INFO] [stdout] 184 | TRef::try_from_instance_id(id) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:183:5 [INFO] [stdout] | [INFO] [stdout] 183 | unsafe fn try_from_instance_id<'a>(id: i64) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::TRef::<'a, T>::from_instance_id` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:202:9 [INFO] [stdout] | [INFO] [stdout] 202 | TRef::from_instance_id(id) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:201:5 [INFO] [stdout] | [INFO] [stdout] 201 | unsafe fn from_instance_id<'a>(id: i64) -> TRef<'a, Self, Shared> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::move_from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:484:19 [INFO] [stdout] | [INFO] [stdout] 484 | let ret = Ref::move_from_sys(self.ptr.as_non_null()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:480:5 [INFO] [stdout] | [INFO] [stdout] 480 | / unsafe fn cast_unchecked(self) -> Ref [INFO] [stdout] 481 | | where [INFO] [stdout] 482 | | U: GodotObject, [INFO] [stdout] | |___________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::bounds::MemorySpec::impl_assume_safe` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:555:9 [INFO] [stdout] | [INFO] [stdout] 555 | T::Memory::impl_assume_safe(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/object/mod.rs:551:5 [INFO] [stdout] | [INFO] [stdout] 551 | / pub unsafe fn assume_safe<'a, 'r>(&'r self) -> TRef<'a, T, Shared> [INFO] [stdout] 552 | | where [INFO] [stdout] 553 | | AssumeSafeLifetime<'a, 'r>: LifetimeConstraint, [INFO] [stdout] | |__________________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::bounds::MemorySpec::impl_assume_unique` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:570:9 [INFO] [stdout] | [INFO] [stdout] 570 | T::Memory::impl_assume_unique(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/object/mod.rs:569:5 [INFO] [stdout] | [INFO] [stdout] 569 | pub unsafe fn assume_unique(self) -> Ref { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:586:13 [INFO] [stdout] | [INFO] [stdout] 586 | if !(api.godot_is_instance_valid)(self.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/object/mod.rs:584:5 [INFO] [stdout] | [INFO] [stdout] 584 | pub unsafe fn is_instance_sane(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::as_raw_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:590:9 [INFO] [stdout] | [INFO] [stdout] 590 | self.as_raw_unchecked().is_class::() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `object::Ref::::is_instance_sane` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:602:12 [INFO] [stdout] | [INFO] [stdout] 602 | if self.is_instance_sane() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:601:5 [INFO] [stdout] | [INFO] [stdout] 601 | pub unsafe fn assume_safe_if_sane<'a>(&self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::assume_safe_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:603:18 [INFO] [stdout] | [INFO] [stdout] 603 | Some(self.assume_safe_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 `object::Ref::::is_instance_sane` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:619:12 [INFO] [stdout] | [INFO] [stdout] 619 | if self.is_instance_sane() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:618:5 [INFO] [stdout] | [INFO] [stdout] 618 | pub unsafe fn assume_unique_if_sane(self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::cast_access` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:620:18 [INFO] [stdout] | [INFO] [stdout] 620 | Some(self.cast_access()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `object::Ref::::cast_access` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:641:9 [INFO] [stdout] | [INFO] [stdout] 641 | self.cast_access() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:640:5 [INFO] [stdout] | [INFO] [stdout] 640 | pub unsafe fn assume_thread_local(self) -> Ref { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::RawObject::::from_sys_ref_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:769:9 [INFO] [stdout] | [INFO] [stdout] 769 | RawObject::from_sys_ref_unchecked(self.ptr.as_non_null()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:768:5 [INFO] [stdout] | [INFO] [stdout] 768 | pub unsafe fn as_raw_unchecked<'a>(&self) -> &'a RawObject { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::move_from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:798:19 [INFO] [stdout] | [INFO] [stdout] 798 | let ret = Self::move_from_sys(obj); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:797:5 [INFO] [stdout] | [INFO] [stdout] 797 | pub unsafe fn from_sys(obj: NonNull) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::bounds::MemorySpec::maybe_add_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:799:9 [INFO] [stdout] | [INFO] [stdout] 799 | ::maybe_add_ref(ret.as_raw_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 `object::Ref::::as_raw_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:799:50 [INFO] [stdout] | [INFO] [stdout] 799 | ::maybe_add_ref(ret.as_raw_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 `object::Ref::::move_from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:812:19 [INFO] [stdout] | [INFO] [stdout] 812 | let ret = Self::move_from_sys(obj); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:811:5 [INFO] [stdout] | [INFO] [stdout] 811 | pub unsafe fn init_from_sys(obj: NonNull) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::bounds::MemorySpec::maybe_init_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:813:9 [INFO] [stdout] | [INFO] [stdout] 813 | ::maybe_init_ref(ret.as_raw_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 `object::Ref::::as_raw_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:813:51 [INFO] [stdout] | [INFO] [stdout] 813 | ::maybe_init_ref(ret.as_raw_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 `object::Ref::::move_from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:823:19 [INFO] [stdout] | [INFO] [stdout] 823 | let ret = Ref::move_from_sys(self.ptr.as_non_null()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:822:5 [INFO] [stdout] | [INFO] [stdout] 822 | unsafe fn cast_access(self) -> Ref { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::as_raw_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:839:31 [INFO] [stdout] | [INFO] [stdout] 839 | TRef::new(T::cast_ref(self.as_raw_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/object/mod.rs:838:5 [INFO] [stdout] | [INFO] [stdout] 838 | pub unsafe fn assume_safe_unchecked<'a>(&self) -> TRef<'a, T, Own> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:973:32 [INFO] [stdout] | [INFO] [stdout] 973 | let ptr = NonNull::new((api.godot_instance_from_id)(id as sys::godot_int))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:971:5 [INFO] [stdout] | [INFO] [stdout] 971 | pub unsafe fn try_from_instance_id(id: i64) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::RawObject::::try_from_sys_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:974:19 [INFO] [stdout] | [INFO] [stdout] 974 | let raw = RawObject::try_from_sys_ref(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 `object::TRef::<'a, T>::try_from_instance_id` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:993:9 [INFO] [stdout] | [INFO] [stdout] 993 | Self::try_from_instance_id(id).expect("instance should be alive") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:992:5 [INFO] [stdout] | [INFO] [stdout] 992 | pub unsafe fn from_instance_id(id: i64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ffi::CStr::from_bytes_with_nul_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/profiler.rs:52:19 [INFO] [stdout] | [INFO] [stdout] 52 | let sig = CStr::from_bytes_with_nul_unchecked(bytes); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/profiler.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | pub unsafe fn from_bytes_with_nul_unchecked(bytes: &'a [u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `private::check_api_compatibility` is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:19:23 [INFO] [stdout] | [INFO] [stdout] 19 | if let Err(err) = check_api_compatibility(options) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/private.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | pub unsafe fn bind_api(options: *mut sys::godot_gdnative_init_options) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `private::report_init_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | report_init_error(options, err); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `sys::GodotApi::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:24:21 [INFO] [stdout] | [INFO] [stdout] 24 | let api = match sys::GodotApi::from_raw((*options).api_struct) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/private.rs:24:45 [INFO] [stdout] | [INFO] [stdout] 24 | let api = match sys::GodotApi::from_raw((*options).api_struct) { [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 `private::report_init_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | report_init_error(options, e); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | GODOT_API = Some(api); [INFO] [stdout] | ^^^^^^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | GDNATIVE_LIBRARY_SYS = Some((*options).gd_native_library); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:33:33 [INFO] [stdout] | [INFO] [stdout] 33 | GDNATIVE_LIBRARY_SYS = Some((*options).gd_native_library); [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/private.rs:46:38 [INFO] [stdout] | [INFO] [stdout] 46 | let mut api: *const api_struct = (*options).api_struct as *const api_struct; [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/private.rs:42:1 [INFO] [stdout] | [INFO] [stdout] 42 | / unsafe fn check_api_compatibility( [INFO] [stdout] 43 | | options: *const sys::godot_gdnative_init_options, [INFO] [stdout] 44 | | ) -> Result<(), sys::InitError> { [INFO] [stdout] | |_______________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | } = *api; [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 `export::type_tag::cleanup` is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:153:5 [INFO] [stdout] | [INFO] [stdout] 153 | crate::export::type_tag::cleanup(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/private.rs:152:1 [INFO] [stdout] | [INFO] [stdout] 152 | pub unsafe fn cleanup_internal_state() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:156:5 [INFO] [stdout] | [INFO] [stdout] 156 | GODOT_API = None; [INFO] [stdout] | ^^^^^^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:171:30 [INFO] [stdout] | [INFO] [stdout] 171 | if let Some(f) = (*options).report_version_mismatch { [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/private.rs:161:1 [INFO] [stdout] | [INFO] [stdout] 161 | / unsafe fn report_init_error( [INFO] [stdout] 162 | | options: *const sys::godot_gdnative_init_options, [INFO] [stdout] 163 | | error: sys::InitError, [INFO] [stdout] 164 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:173:17 [INFO] [stdout] | [INFO] [stdout] 173 | f((*options).gd_native_library, message.as_ptr(), want, got); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/private.rs:173:19 [INFO] [stdout] | [INFO] [stdout] 173 | f((*options).gd_native_library, message.as_ptr(), want, got); [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/private.rs:177:30 [INFO] [stdout] | [INFO] [stdout] 177 | if let Some(f) = (*options).report_loading_error { [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 is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:179:17 [INFO] [stdout] | [INFO] [stdout] 179 | f((*options).gd_native_library, message.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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:179:19 [INFO] [stdout] | [INFO] [stdout] 179 | f((*options).gd_native_library, message.as_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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:277:22 [INFO] [stdout] | [INFO] [stdout] 277 | &mut TABLE [INFO] [stdout] | ^^^^^ use of mutable static [INFO] [stdout] ... [INFO] [stdout] 305 | / make_method_table!(struct ObjectMethodTable for Object { [INFO] [stdout] 306 | | get_class, [INFO] [stdout] 307 | | is_class, [INFO] [stdout] 308 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/private.rs:272:13 [INFO] [stdout] | [INFO] [stdout] 272 | unsafe fn get_mut() -> &'static mut Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | / make_method_table!(struct ObjectMethodTable for Object { [INFO] [stdout] 306 | | get_class, [INFO] [stdout] 307 | | is_class, [INFO] [stdout] 308 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `make_method_table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:277:22 [INFO] [stdout] | [INFO] [stdout] 277 | &mut TABLE [INFO] [stdout] | ^^^^^ use of mutable static [INFO] [stdout] ... [INFO] [stdout] 310 | / make_method_table!(struct ReferenceMethodTable for Reference { [INFO] [stdout] 311 | | reference, [INFO] [stdout] 312 | | unreference, [INFO] [stdout] 313 | | init_ref, [INFO] [stdout] 314 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/private.rs:272:13 [INFO] [stdout] | [INFO] [stdout] 272 | unsafe fn get_mut() -> &'static mut Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 310 | / make_method_table!(struct ReferenceMethodTable for Reference { [INFO] [stdout] 311 | | reference, [INFO] [stdout] 312 | | unreference, [INFO] [stdout] 313 | | init_ref, [INFO] [stdout] 314 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `make_method_table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:277:22 [INFO] [stdout] | [INFO] [stdout] 277 | &mut TABLE [INFO] [stdout] | ^^^^^ use of mutable static [INFO] [stdout] ... [INFO] [stdout] 318 | / make_method_table!(struct NativeScriptMethodTable for NativeScript { [INFO] [stdout] 319 | | set_class_name, [INFO] [stdout] 320 | | set_library, [INFO] [stdout] 321 | | new, [INFO] [stdout] 322 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/private.rs:272:13 [INFO] [stdout] | [INFO] [stdout] 272 | unsafe fn get_mut() -> &'static mut Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 318 | / make_method_table!(struct NativeScriptMethodTable for NativeScript { [INFO] [stdout] 319 | | set_class_name, [INFO] [stdout] 320 | | set_library, [INFO] [stdout] 321 | | new, [INFO] [stdout] 322 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `make_method_table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/core_types/geom/rect2.rs:264:24 [INFO] [stdout] | [INFO] [stdout] 264 | pub struct MarginError(i64); [INFO] [stdout] | ----------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `MarginError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/export/property/accessor.rs:245:28 [INFO] [stdout] | [INFO] [stdout] 245 | if let Err(err) = SelfArg::map_set(&user_data, func, owner, val) { [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/export/property/accessor.rs:247:25 [INFO] [stdout] | [INFO] [stdout] 247 | } [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] 245 ~ match SelfArg::map_set(&user_data, func, owner, val) { Err(err) => { [INFO] [stdout] 246 | godot_error!("gdnative-core: cannot call property setter: {:?}", err); [INFO] [stdout] 247 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/export/property/hint.rs:433:12 [INFO] [stdout] | [INFO] [stdout] 433 | if let Some(element_hint) = self.element_hint { [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/export/property/hint.rs:459:9 [INFO] [stdout] | [INFO] [stdout] 459 | } 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] 433 ~ match self.element_hint { Some(element_hint) => { [INFO] [stdout] 434 | let hint_string = match (element_hint.variant_type, element_hint.hint_kind) { [INFO] [stdout] ... [INFO] [stdout] 458 | } [INFO] [stdout] 459 ~ } _ => { [INFO] [stdout] 460 | ExportInfo { [INFO] [stdout] ... [INFO] [stdout] 464 | } [INFO] [stdout] 465 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/export/type_tag.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 86 | if let Some(tags) = TAGS.take() { [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/export/type_tag.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 88 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 86 ~ match TAGS.take() { Some(tags) => { [INFO] [stdout] 87 | drop(tags); [INFO] [stdout] 88 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/private.rs:189:8 [INFO] [stdout] | [INFO] [stdout] 189 | if let Err(e) = __result { [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/private.rs:192:5 [INFO] [stdout] | [INFO] [stdout] 192 | } [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 __result { Err(e) => { [INFO] [stdout] 190 | godot_error!("gdnative-core: {} callback panicked", context); [INFO] [stdout] 191 | print_panic_error(e); [INFO] [stdout] 192 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/private.rs:196:8 [INFO] [stdout] | [INFO] [stdout] 196 | if let Some(s) = err.downcast_ref::() { [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] 197 | godot_error!("Panic message: {}", s); [INFO] [stdout] 198 | } else if let Some(s) = err.downcast_ref::<&'static str>() { [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/private.rs:198:5 [INFO] [stdout] | [INFO] [stdout] 198 | } else if let Some(s) = err.downcast_ref::<&'static str>() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/private.rs:200:5 [INFO] [stdout] | [INFO] [stdout] 200 | } 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] 196 ~ match err.downcast_ref::() { Some(s) => { [INFO] [stdout] 197 | godot_error!("Panic message: {}", s); [INFO] [stdout] 198 ~ } _ => { match err.downcast_ref::<&'static str>() { Some(s) => { [INFO] [stdout] 199 | godot_error!("Panic message: {}", s); [INFO] [stdout] 200 ~ } _ => { [INFO] [stdout] 201 | godot_error!("Panic message unknown, type {:?}", err.type_id()); [INFO] [stdout] 202 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 149 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 `gdnative_core` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/core_types/mod.rs [INFO] [stderr] * src/core_types/variant.rs [INFO] [stderr] * src/export/method.rs [INFO] [stderr] * src/macros.rs [INFO] [stderr] * src/private.rs [INFO] [stderr] * src/profiler.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/macros.rs:20:6 [INFO] [stderr] | [INFO] [stderr] 20 | ($val: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/macros.rs:32:6 [INFO] [stderr] | [INFO] [stderr] 32 | ($val:expr_2021,) => { $crate::godot_dbg!($val) }; [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/macros.rs:33:8 [INFO] [stderr] | [INFO] [stderr] 33 | ($($val: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/core_types/variant.rs:66:6 [INFO] [stderr] | [INFO] [stderr] 66 | ($v:expr_2021, $variant:ident ( $inner:ty )) => { [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/core_types/variant.rs:69:6 [INFO] [stderr] | [INFO] [stderr] 69 | ($v:expr_2021, $variant:ident) => { [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/export/method.rs:429:13 [INFO] [stderr] | [INFO] [stderr] 429 | ($_t:tt $sub: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/profiler.rs:177:6 [INFO] [stderr] | [INFO] [stderr] 177 | ($tag: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: ambiguous glob re-exports [INFO] [stderr] --> src/core_types/mod.rs:45:9 [INFO] [stderr] | [INFO] [stderr] 34 | pub use dictionary::*; [INFO] [stderr] | ------------- but the name `Iter` in the type namespace is also re-exported here [INFO] [stderr] ... [INFO] [stderr] 45 | pub use variant_array::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ the name `Iter` in the type namespace is first re-exported here [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ambiguous_glob_reexports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: ambiguous glob re-exports [INFO] [stderr] --> src/core_types/mod.rs:45:9 [INFO] [stderr] | [INFO] [stderr] 34 | pub use dictionary::*; [INFO] [stderr] | ------------- but the name `IntoIter` in the type namespace is also re-exported here [INFO] [stderr] ... [INFO] [stderr] 45 | pub use variant_array::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ the name `IntoIter` in the type namespace is first re-exported here [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/private.rs:277:17 [INFO] [stderr] | [INFO] [stderr] 277 | &mut TABLE [INFO] [stderr] | ^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] ... [INFO] [stderr] 305 | / make_method_table!(struct ObjectMethodTable for Object { [INFO] [stderr] 306 | | get_class, [INFO] [stderr] 307 | | is_class, [INFO] [stderr] 308 | | }); [INFO] [stderr] | |__- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility` [INFO] [stderr] = note: this warning originates in the macro `make_method_table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 277 | addr_of_mut!(TABLE) [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/private.rs:277:17 [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:20:11 [INFO] [stdout] | [INFO] [stdout] 20 | ($val: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] 20 | ($val:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 277 | &mut TABLE [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:32:11 [INFO] [stdout] | [INFO] [stdout] 32 | ($val:expr,) => { $crate::godot_dbg!($val) }; [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] 32 | ($val:expr_2021,) => { $crate::godot_dbg!($val) }; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:33:13 [INFO] [stdout] | [INFO] [stdout] 33 | ($($val: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] 33 | ($($val:expr_2021),+ $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] ... [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/core_types/variant.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | ($v:expr, $variant:ident ( $inner:ty )) => { [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] 66 | ($v:expr_2021, $variant:ident ( $inner:ty )) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 310 | / make_method_table!(struct ReferenceMethodTable for Reference { [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/core_types/variant.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | ($v:expr, $variant:ident) => { [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] 69 | ($v:expr_2021, $variant:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 311 | | reference, [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/core_types/mod.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 34 | pub use dictionary::*; [INFO] [stdout] | ------------- but the name `Iter` in the type namespace is also re-exported here [INFO] [stdout] ... [INFO] [stdout] 45 | pub use variant_array::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ the name `Iter` in the type namespace is first re-exported here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ambiguous_glob_reexports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 312 | | unreference, [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/core_types/mod.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 34 | pub use dictionary::*; [INFO] [stdout] | ------------- but the name `IntoIter` in the type namespace is also re-exported here [INFO] [stdout] ... [INFO] [stdout] 45 | pub use variant_array::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ the name `IntoIter` in the type namespace is first re-exported here [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 313 | | init_ref, [INFO] [stdout] warning: unused import: `gdnative_derive::godot_wrap_method` [INFO] [stdout] --> src/export/macros.rs:2:9 [INFO] [stdout] | [INFO] [stdout] 2 | pub use gdnative_derive::godot_wrap_method; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 314 | | }); [INFO] [stderr] | |__- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] = note: this warning originates in the macro `make_method_table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/export/method.rs:429:18 [INFO] [stdout] | [INFO] [stdout] 429 | ($_t:tt $sub: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] 429 | ($_t:tt $sub:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 277 | addr_of_mut!(TABLE) [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static is discouraged [INFO] [stderr] --> src/private.rs:277:17 [INFO] [stderr] | [INFO] [stderr] 277 | &mut TABLE [INFO] [stderr] | ^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] ... [INFO] [stderr] 318 | / make_method_table!(struct NativeScriptMethodTable for NativeScript { [INFO] [stderr] 319 | | set_class_name, [INFO] [stderr] 320 | | set_library, [INFO] [stderr] 321 | | new, [INFO] [stderr] 322 | | }); [INFO] [stderr] | |__- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: for more information, see issue #114447 [INFO] [stderr] = note: this will be a hard error in the 2024 edition [INFO] [stderr] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stderr] = note: this warning originates in the macro `make_method_table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/profiler.rs:177:11 [INFO] [stdout] | [INFO] [stdout] 177 | ($tag: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] 177 | ($tag:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stderr] 277 | addr_of_mut!(TABLE) [INFO] [stderr] | ~~~~~~~~~~~~~ + [INFO] [stderr] [INFO] [stderr] error: aborting due to 7 previous errors; 5 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: creating a mutable reference to mutable static is discouraged [INFO] [stdout] --> src/private.rs:277:17 [INFO] [stdout] | [INFO] [stdout] 277 | &mut TABLE [INFO] [stdout] | ^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] ... [INFO] [stdout] 305 | / make_method_table!(struct ObjectMethodTable for Object { [INFO] [stdout] 306 | | get_class, [INFO] [stdout] 307 | | is_class, [INFO] [stdout] 308 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] = note: this warning originates in the macro `make_method_table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 277 | addr_of_mut!(TABLE) [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged [INFO] [stdout] --> src/private.rs:277:17 [INFO] [stdout] | [INFO] [stdout] 277 | &mut TABLE [INFO] [stdout] | ^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] ... [INFO] [stdout] 310 | / make_method_table!(struct ReferenceMethodTable for Reference { [INFO] [stdout] 311 | | reference, [INFO] [stdout] 312 | | unreference, [INFO] [stdout] 313 | | init_ref, [INFO] [stdout] 314 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] = note: this warning originates in the macro `make_method_table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 277 | addr_of_mut!(TABLE) [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged [INFO] [stdout] --> src/private.rs:277:17 [INFO] [stdout] | [INFO] [stdout] 277 | &mut TABLE [INFO] [stdout] | ^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] ... [INFO] [stdout] 318 | / make_method_table!(struct NativeScriptMethodTable for NativeScript { [INFO] [stdout] 319 | | set_class_name, [INFO] [stdout] 320 | | set_library, [INFO] [stdout] 321 | | new, [INFO] [stdout] 322 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] = note: this warning originates in the macro `make_method_table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 277 | addr_of_mut!(TABLE) [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `core_types::variant::Variant::cast_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/dictionary.rs:145:9 [INFO] [stdout] | [INFO] [stdout] 145 | / Variant::cast_ref((get_api().godot_dictionary_operator_index_const)( [INFO] [stdout] 146 | | self.sys(), [INFO] [stdout] 147 | | key.owned_to_variant().sys(), [INFO] [stdout] 148 | | )) [INFO] [stdout] | |__________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/dictionary.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 141 | / pub unsafe fn get_ref(&self, key: K) -> &Variant [INFO] [stdout] 142 | | where [INFO] [stdout] 143 | | K: OwnedToVariant + ToVariantEq, [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 is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/dictionary.rs:145:27 [INFO] [stdout] | [INFO] [stdout] 145 | Variant::cast_ref((get_api().godot_dictionary_operator_index_const)( [INFO] [stdout] | ___________________________^ [INFO] [stdout] 146 | | self.sys(), [INFO] [stdout] 147 | | key.owned_to_variant().sys(), [INFO] [stdout] 148 | | )) [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/dictionary.rs:167:31 [INFO] [stdout] | [INFO] [stdout] 167 | Variant::cast_mut_ref((get_api().godot_dictionary_operator_index)( [INFO] [stdout] | _______________________________^ [INFO] [stdout] 168 | | self.sys_mut(), [INFO] [stdout] 169 | | key.owned_to_variant().sys(), [INFO] [stdout] 170 | | )) [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/dictionary.rs:163:5 [INFO] [stdout] | [INFO] [stdout] 163 | / pub unsafe fn get_mut_ref(&self, key: K) -> &mut Variant [INFO] [stdout] 164 | | where [INFO] [stdout] 165 | | K: OwnedToVariant + ToVariantEq, [INFO] [stdout] | |________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `core_types::dictionary::Dictionary::::cast_access` is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/dictionary.rs:280:9 [INFO] [stdout] | [INFO] [stdout] 280 | self.cast_access() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/dictionary.rs:279:5 [INFO] [stdout] | [INFO] [stdout] 279 | pub unsafe fn assume_unique(self) -> Dictionary { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/dictionary.rs:408:20 [INFO] [stdout] | [INFO] [stdout] 408 | let next_ptr = (get_api().godot_dictionary_next)(dic.sys(), last_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/core_types/dictionary.rs:403:1 [INFO] [stdout] | [INFO] [stdout] 403 | / unsafe fn iter_next( [INFO] [stdout] 404 | | dic: &Dictionary, [INFO] [stdout] 405 | | last_key: &mut Option, [INFO] [stdout] 406 | | ) -> Option<(Variant, Variant)> { [INFO] [stdout] | |_______________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `core_types::variant::Variant::cast_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/dictionary.rs:413:19 [INFO] [stdout] | [INFO] [stdout] 413 | let key = Variant::cast_ref(next_ptr).clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/error.rs:75:13 [INFO] [stdout] | [INFO] [stdout] 75 | Err(std::mem::transmute(err 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/core_types/error.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | pub unsafe fn result_from_sys(err: sys::godot_error) -> Result<(), Self> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/pool_array.rs:384:19 [INFO] [stdout] | [INFO] [stdout] 384 | let len = (T::size_fn(get_api()))(arr) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/core_types/pool_array.rs:383:5 [INFO] [stdout] | [INFO] [stdout] 383 | unsafe fn new(arr: *const T::SysArray) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/pool_array.rs:385:22 [INFO] [stdout] | [INFO] [stdout] 385 | let access = (T::read_fn(get_api()))(arr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/pool_array.rs:444:19 [INFO] [stdout] | [INFO] [stdout] 444 | let len = (T::size_fn(get_api()))(arr) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/core_types/pool_array.rs:443:5 [INFO] [stdout] | [INFO] [stdout] 443 | unsafe fn new(arr: *mut T::SysArray) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/pool_array.rs:445:22 [INFO] [stdout] | [INFO] [stdout] 445 | let access = (T::write_fn(get_api()))(arr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/rid.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | (get_api().godot_rid_get_id)(&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/core_types/rid.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | pub unsafe fn get_id(self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/variant.rs:335:9 [INFO] [stdout] | [INFO] [stdout] 335 | (api.godot_variant_new_object)(&mut dest, val); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/variant.rs:332:5 [INFO] [stdout] | [INFO] [stdout] 332 | pub unsafe fn from_object_ptr(val: *mut sys::godot_object) -> Variant { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/variant.rs:486:23 [INFO] [stdout] | [INFO] [stdout] 486 | let variant = (api.godot_variant_call)( [INFO] [stdout] | _______________________^ [INFO] [stdout] 487 | | &mut self.0, [INFO] [stdout] 488 | | &method.0, [INFO] [stdout] 489 | | arg_refs.as_mut_ptr(), [INFO] [stdout] 490 | | args.len() as i32, [INFO] [stdout] 491 | | &mut err, [INFO] [stdout] 492 | | ); [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/variant.rs:476:5 [INFO] [stdout] | [INFO] [stdout] 476 | / pub unsafe fn call( [INFO] [stdout] 477 | | &mut self, [INFO] [stdout] 478 | | method: impl Into, [INFO] [stdout] 479 | | args: &[Variant], [INFO] [stdout] 480 | | ) -> Result { [INFO] [stdout] | |___________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/variant.rs:532:10 [INFO] [stdout] | [INFO] [stdout] 532 | &*(ptr as *const variant::Variant) [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/core_types/variant.rs:531:5 [INFO] [stdout] | [INFO] [stdout] 531 | pub(crate) unsafe fn cast_ref<'l>(ptr: *const sys::godot_variant) -> &'l Variant { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `core_types::variant::Variant::cast_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/variant_array.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | / Variant::cast_ref((get_api().godot_array_operator_index_const)( [INFO] [stdout] 68 | | self.sys(), [INFO] [stdout] 69 | | idx, [INFO] [stdout] 70 | | )) [INFO] [stdout] | |__________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/variant_array.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | pub unsafe fn get_ref(&self, idx: i32) -> &Variant { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/variant_array.rs:67:27 [INFO] [stdout] | [INFO] [stdout] 67 | Variant::cast_ref((get_api().godot_array_operator_index_const)( [INFO] [stdout] | ___________________________^ [INFO] [stdout] 68 | | self.sys(), [INFO] [stdout] 69 | | idx, [INFO] [stdout] 70 | | )) [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/variant_array.rs:84:31 [INFO] [stdout] | [INFO] [stdout] 84 | Variant::cast_mut_ref((get_api().godot_array_operator_index)(self.sys_mut(), idx)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/variant_array.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | pub unsafe fn get_mut_ref(&self, idx: i32) -> &mut Variant { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `core_types::variant_array::VariantArray::::cast_access` is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/variant_array.rs:298:9 [INFO] [stdout] | [INFO] [stdout] 298 | self.cast_access() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/variant_array.rs:297:5 [INFO] [stdout] | [INFO] [stdout] 297 | pub unsafe fn assume_unique(self) -> VariantArray { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/method.rs:326:20 [INFO] [stdout] | [INFO] [stdout] 326 | let args = std::slice::from_raw_parts(args, num_args as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/export/method.rs:325:5 [INFO] [stdout] | [INFO] [stdout] 325 | pub unsafe fn from_sys(num_args: libc::c_int, args: *mut *mut sys::godot_variant) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/method.rs:327:20 [INFO] [stdout] | [INFO] [stdout] 327 | let args = std::mem::transmute::<&[*mut sys::godot_variant], &[&Variant]>(args); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/export/method.rs:879:23 [INFO] [stdout] | [INFO] [stdout] 879 | let method = &*(method_data as *const F); [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/export/method.rs:846:1 [INFO] [stdout] | [INFO] [stdout] 846 | / unsafe extern "C" fn method_wrapper>( [INFO] [stdout] 847 | | this: *mut sys::godot_object, [INFO] [stdout] 848 | | method_data: *mut libc::c_void, [INFO] [stdout] 849 | | user_data: *mut libc::c_void, [INFO] [stdout] 850 | | num_args: libc::c_int, [INFO] [stdout] 851 | | args: *mut *mut sys::godot_variant, [INFO] [stdout] 852 | | ) -> sys::godot_variant { [INFO] [stdout] | |_______________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/method.rs:881:42 [INFO] [stdout] | [INFO] [stdout] 881 | let this: Ref = Ref::from_sys(this); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `object::Ref::::assume_safe_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/method.rs:882:42 [INFO] [stdout] | [INFO] [stdout] 882 | let this: TRef<'_, C::Base, _> = this.assume_safe_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 `object::instance::TInstance::<'a, T, Own>::from_raw_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/method.rs:883:41 [INFO] [stdout] | [INFO] [stdout] 883 | let this: TInstance<'_, C, _> = TInstance::from_raw_unchecked(this, user_data); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `export::method::Varargs::<'a>::from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/method.rs:885:20 [INFO] [stdout] | [INFO] [stdout] 885 | let args = Varargs::from_sys(num_args, args); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/method.rs:903:10 [INFO] [stdout] | [INFO] [stdout] 903 | drop(Box::from_raw(method_data as *mut 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/export/method.rs:902:1 [INFO] [stdout] | [INFO] [stdout] 902 | unsafe extern "C" fn free_func(method_data: *mut libc::c_void) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/export/type_tag.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | *(&tag as *const Tag as *const *const libc::c_void) [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/export/type_tag.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | / pub(crate) unsafe fn create() -> *const libc::c_void [INFO] [stdout] 44 | | where [INFO] [stdout] 45 | | T: NativeClass, [INFO] [stdout] | |___________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/export/type_tag.rs:54:20 [INFO] [stdout] | [INFO] [stdout] 54 | let tags = TAGS.get_or_insert_with(IndexSet::default); [INFO] [stdout] | ^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/export/type_tag.rs:70:27 [INFO] [stdout] | [INFO] [stdout] 70 | Tag::of::() == *(&tag as *const *const libc::c_void as *const Tag) [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/export/type_tag.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | / pub(crate) unsafe fn check(tag: *const libc::c_void) -> bool [INFO] [stdout] 65 | | where [INFO] [stdout] 66 | | T: NativeClass, [INFO] [stdout] | |___________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/export/type_tag.rs:72:20 [INFO] [stdout] | [INFO] [stdout] 72 | let tags = TAGS.as_ref().expect("tag should be created by `create`"); [INFO] [stdout] | ^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/export/type_tag.rs:86:25 [INFO] [stdout] | [INFO] [stdout] 86 | if let Some(tags) = TAGS.take() { [INFO] [stdout] | ^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/export/type_tag.rs:84:1 [INFO] [stdout] | [INFO] [stdout] 84 | pub(crate) unsafe fn cleanup() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:275:19 [INFO] [stdout] | [INFO] [stdout] 275 | lock: Arc::from_raw(ptr as *const Mutex), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/export/user_data.rs:273:5 [INFO] [stdout] | [INFO] [stdout] 273 | unsafe fn consume_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:282:24 [INFO] [stdout] | [INFO] [stdout] 282 | let borrowed = Arc::from_raw(ptr as *const Mutex); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/export/user_data.rs:281:5 [INFO] [stdout] | [INFO] [stdout] 281 | unsafe fn clone_from_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:376:19 [INFO] [stdout] | [INFO] [stdout] 376 | lock: Arc::from_raw(ptr as *const RwLock), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/export/user_data.rs:374:5 [INFO] [stdout] | [INFO] [stdout] 374 | unsafe fn consume_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:383:24 [INFO] [stdout] | [INFO] [stdout] 383 | let borrowed = Arc::from_raw(ptr as *const RwLock); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/export/user_data.rs:382:5 [INFO] [stdout] | [INFO] [stdout] 382 | unsafe fn clone_from_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:490:17 [INFO] [stdout] | [INFO] [stdout] 490 | ArcData(Arc::from_raw(ptr as *const T)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/export/user_data.rs:489:5 [INFO] [stdout] | [INFO] [stdout] 489 | unsafe fn consume_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:495:24 [INFO] [stdout] | [INFO] [stdout] 495 | let borrowed = Arc::from_raw(ptr as *const T); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/export/user_data.rs:494:5 [INFO] [stdout] | [INFO] [stdout] 494 | unsafe fn clone_from_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:657:20 [INFO] [stdout] | [INFO] [stdout] 657 | inner: Arc::from_raw(ptr as *const local_cell::LocalCell), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/export/user_data.rs:655:5 [INFO] [stdout] | [INFO] [stdout] 655 | unsafe fn consume_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:663:24 [INFO] [stdout] | [INFO] [stdout] 663 | let borrowed = Arc::from_raw(ptr as *const local_cell::LocalCell); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/export/user_data.rs:662:5 [INFO] [stdout] | [INFO] [stdout] 662 | unsafe fn clone_from_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:810:14 [INFO] [stdout] | [INFO] [stdout] 810 | Once(Arc::from_raw(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/export/user_data.rs:809:5 [INFO] [stdout] | [INFO] [stdout] 809 | unsafe fn consume_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:815:24 [INFO] [stdout] | [INFO] [stdout] 815 | let borrowed = Arc::from_raw(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/export/user_data.rs:814:5 [INFO] [stdout] | [INFO] [stdout] 814 | unsafe fn clone_from_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/init/info.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | } = *options; [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/init/info.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | pub unsafe fn new(options: *mut crate::sys::godot_gdnative_init_options) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/init/info.rs:40:63 [INFO] [stdout] | [INFO] [stdout] 40 | let active_library_path = GodotString::clone_from_sys(*active_library_path); [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/init/info.rs:86:74 [INFO] [stdout] | [INFO] [stdout] 86 | let crate::sys::godot_gdnative_terminate_options { in_editor } = *options; [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/init/info.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | pub unsafe fn new(options: *mut crate::sys::godot_gdnative_terminate_options) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::RawObject::::try_from_sys_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/init/init_handle.rs:163:39 [INFO] [stdout] | [INFO] [stdout] 163 | let owner = match RawObject::::try_from_sys_ref(this) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/init/init_handle.rs:145:17 [INFO] [stdout] | [INFO] [stdout] 145 | / unsafe extern "C" fn constructor( [INFO] [stdout] 146 | | this: *mut sys::godot_object, [INFO] [stdout] 147 | | _method_data: *mut libc::c_void, [INFO] [stdout] 148 | | ) -> *mut libc::c_void { [INFO] [stdout] | |______________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `export::user_data::UserData::consume_user_data_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/init/init_handle.rs:216:35 [INFO] [stdout] | [INFO] [stdout] 216 | let wrapper = C::UserData::consume_user_data_unchecked(user_data); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/init/init_handle.rs:203:17 [INFO] [stdout] | [INFO] [stdout] 203 | / unsafe extern "C" fn destructor( [INFO] [stdout] 204 | | _this: *mut sys::godot_object, [INFO] [stdout] 205 | | _method_data: *mut libc::c_void, [INFO] [stdout] 206 | | user_data: *mut libc::c_void, [INFO] [stdout] 207 | | ) { [INFO] [stdout] | |_________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::RawObject::::try_from_sys_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 58 | if RawObject::::try_from_sys_ref(ptr).is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/bounds.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | / unsafe fn impl_from_maybe_ref_counted>( [INFO] [stdout] 56 | | ptr: NonNull, [INFO] [stdout] 57 | | ) -> Option> { [INFO] [stdout] | |_______________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::init_from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:59:18 [INFO] [stdout] | [INFO] [stdout] 59 | drop(Ref::::init_from_sys(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 `object::Ref::::init_from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:62:23 [INFO] [stdout] | [INFO] [stdout] 62 | let obj = Ref::::init_from_sys(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 `object::Ref::::cast_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:65:22 [INFO] [stdout] | [INFO] [stdout] 65 | Some(obj.cast_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 `object::Ref::::is_instance_sane` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 78 | this.is_instance_sane(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/bounds.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | / unsafe fn impl_assume_safe<'a, T: GodotObject>( [INFO] [stdout] 75 | | this: &Ref, [INFO] [stdout] 76 | | ) -> TRef<'a, T, Shared> { [INFO] [stdout] | |____________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::assume_safe_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 81 | this.assume_safe_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 `object::Ref::::is_instance_sane` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | this.is_instance_sane(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/bounds.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | / unsafe fn impl_assume_unique>( [INFO] [stdout] 86 | | this: Ref, [INFO] [stdout] 87 | | ) -> Ref { [INFO] [stdout] | |_______________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::cast_access` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | this.cast_access() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `object::raw::RawObject::::try_from_sys_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 108 | if RawObject::::try_from_sys_ref(ptr).is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/bounds.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | / unsafe fn impl_from_maybe_ref_counted>( [INFO] [stdout] 106 | | ptr: NonNull, [INFO] [stdout] 107 | | ) -> Option> { [INFO] [stdout] | |_______________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::init_from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:109:23 [INFO] [stdout] | [INFO] [stdout] 109 | let obj = Ref::::init_from_sys(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 `object::Ref::::cast_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:112:22 [INFO] [stdout] | [INFO] [stdout] 112 | Some(obj.cast_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 `object::raw::RawObject::::free` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:117:13 [INFO] [stdout] | [INFO] [stdout] 117 | RawObject::::from_sys_ref_unchecked(ptr).free(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `object::raw::RawObject::::from_sys_ref_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:117:13 [INFO] [stdout] | [INFO] [stdout] 117 | RawObject::::from_sys_ref_unchecked(ptr).free(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `object::Ref::::assume_safe_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | this.assume_safe_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/object/bounds.rs:123:5 [INFO] [stdout] | [INFO] [stdout] 123 | / unsafe fn impl_assume_safe<'a, T: GodotObject>( [INFO] [stdout] 124 | | this: &Ref, [INFO] [stdout] 125 | | ) -> TRef<'a, T, Shared> { [INFO] [stdout] | |____________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::cast_access` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:133:9 [INFO] [stdout] | [INFO] [stdout] 133 | this.cast_access() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/bounds.rs:130:5 [INFO] [stdout] | [INFO] [stdout] 130 | / unsafe fn impl_assume_unique>( [INFO] [stdout] 131 | | this: Ref, [INFO] [stdout] 132 | | ) -> Ref { [INFO] [stdout] | |_______________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::RawObject::::init_ref_count` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:143:9 [INFO] [stdout] | [INFO] [stdout] 143 | raw.init_ref_count(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/bounds.rs:142:5 [INFO] [stdout] | [INFO] [stdout] 142 | unsafe fn maybe_init_ref>(raw: &RawObject) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `core_types::variant::Variant::from_object_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/as_arg.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | crate::core_types::Variant::from_object_ptr(self.as_arg_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/object/as_arg.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | unsafe fn to_arg_variant(&self) -> crate::core_types::Variant { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::assume_safe` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/instance.rs:334:20 [INFO] [stdout] | [INFO] [stdout] 334 | owner: self.owner.assume_safe(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/instance.rs:329:5 [INFO] [stdout] | [INFO] [stdout] 329 | / pub unsafe fn assume_safe<'a, 'r>(&'r self) -> TInstance<'a, T, Shared> [INFO] [stdout] 330 | | where [INFO] [stdout] 331 | | AssumeSafeLifetime<'a, 'r>: LifetimeConstraint<::Memory>, [INFO] [stdout] | |_________________________________________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::is_instance_sane` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/instance.rs:353:9 [INFO] [stdout] | [INFO] [stdout] 353 | self.owner.is_instance_sane() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/instance.rs:352:5 [INFO] [stdout] | [INFO] [stdout] 352 | pub unsafe fn is_instance_sane(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::assume_unique` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/instance.rs:423:20 [INFO] [stdout] | [INFO] [stdout] 423 | owner: self.owner.assume_unique(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/instance.rs:421:5 [INFO] [stdout] | [INFO] [stdout] 421 | pub unsafe fn assume_unique(self) -> Instance { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::assume_thread_local` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/instance.rs:445:20 [INFO] [stdout] | [INFO] [stdout] 445 | owner: self.owner.assume_thread_local(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/instance.rs:443:5 [INFO] [stdout] | [INFO] [stdout] 443 | pub unsafe fn assume_thread_local(self) -> Instance { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `export::user_data::UserData::clone_from_user_data_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/instance.rs:478:22 [INFO] [stdout] | [INFO] [stdout] 478 | let script = T::UserData::clone_from_user_data_unchecked(user_data); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/instance.rs:474:5 [INFO] [stdout] | [INFO] [stdout] 474 | / pub unsafe fn from_raw_unchecked( [INFO] [stdout] 475 | | owner: TRef<'a, T::Base, Own>, [INFO] [stdout] 476 | | user_data: *mut libc::c_void, [INFO] [stdout] 477 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:31:10 [INFO] [stdout] | [INFO] [stdout] 31 | &*(obj.as_ptr() as *mut Self) [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/object/raw.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub unsafe fn from_sys_ref_unchecked<'a>(obj: NonNull) -> &'a Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::ptr_is_class` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 42 | if ptr_is_class(obj.as_ptr(), T::class_name()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/raw.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | pub unsafe fn try_from_sys_ref<'a>(obj: NonNull) -> Option<&'a Self> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::RawObject::::from_sys_ref_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:43:18 [INFO] [stdout] | [INFO] [stdout] 43 | Some(Self::from_sys_ref_unchecked(obj)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `object::raw::RawObject::::from_sys_ref_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:110:9 [INFO] [stdout] | [INFO] [stdout] 110 | RawObject::from_sys_ref_unchecked(self.sys()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/raw.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 106 | / pub unsafe fn cast_unchecked(&self) -> &RawObject [INFO] [stdout] 107 | | where [INFO] [stdout] 108 | | U: GodotObject, [INFO] [stdout] | |_______________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 120 | (get_api().godot_object_destroy)(self.sys().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/object/raw.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | pub unsafe fn free(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:164:9 [INFO] [stdout] | [INFO] [stdout] 164 | / (api.godot_method_bind_ptrcall)( [INFO] [stdout] 165 | | unref_method, [INFO] [stdout] 166 | | self.sys().as_ptr(), [INFO] [stdout] 167 | | argument_buffer.as_mut_ptr() as *mut _, [INFO] [stdout] 168 | | ret_ptr as *mut _, [INFO] [stdout] 169 | | ); [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/raw.rs:157:5 [INFO] [stdout] | [INFO] [stdout] 157 | pub unsafe fn unref(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::RawObject::::unref` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:183:30 [INFO] [stdout] | [INFO] [stdout] 183 | let last_reference = self.unref(); [INFO] [stdout] | ^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/raw.rs:182:5 [INFO] [stdout] | [INFO] [stdout] 182 | pub unsafe fn unref_and_free_if_last(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::RawObject::::free` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:186:13 [INFO] [stdout] | [INFO] [stdout] 186 | self.free(); [INFO] [stdout] | ^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:207:9 [INFO] [stdout] | [INFO] [stdout] 207 | / (api.godot_method_bind_ptrcall)( [INFO] [stdout] 208 | | init_method, [INFO] [stdout] 209 | | obj, [INFO] [stdout] 210 | | argument_buffer.as_mut_ptr() as *mut _, [INFO] [stdout] 211 | | ret_ptr as *mut _, [INFO] [stdout] 212 | | ); [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/raw.rs:198:5 [INFO] [stdout] | [INFO] [stdout] 198 | pub unsafe fn init_ref_count(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:235:26 [INFO] [stdout] | [INFO] [stdout] 235 | let mut class_name = (api.godot_string_chars_to_utf8_with_len)( [INFO] [stdout] | __________________________^ [INFO] [stdout] 236 | | class_name.as_ptr() as *const _, [INFO] [stdout] 237 | | class_name.len() as _, [INFO] [stdout] 238 | | ); [INFO] [stdout] | |_____^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/raw.rs:231:1 [INFO] [stdout] | [INFO] [stdout] 231 | unsafe fn ptr_is_class(obj: *mut sys::godot_object, class_name: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:245:5 [INFO] [stdout] | [INFO] [stdout] 245 | / (api.godot_method_bind_ptrcall)( [INFO] [stdout] 246 | | method_bind, [INFO] [stdout] 247 | | obj, [INFO] [stdout] 248 | | argument_buffer.as_mut_ptr() as *mut _, [INFO] [stdout] 249 | | ret_ptr as *mut _, [INFO] [stdout] 250 | | ); [INFO] [stdout] | |_____^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:252:5 [INFO] [stdout] | [INFO] [stdout] 252 | (api.godot_string_destroy)(&mut class_name); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `object::Ref::::from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:141:9 [INFO] [stdout] | [INFO] [stdout] 141 | Ref::from_sys(self.as_raw().sys()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:137:5 [INFO] [stdout] | [INFO] [stdout] 137 | / unsafe fn assume_shared(&self) -> Ref [INFO] [stdout] 138 | | where [INFO] [stdout] 139 | | Self: Sized, [INFO] [stdout] | |____________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:155:9 [INFO] [stdout] | [INFO] [stdout] 155 | Ref::from_sys(self.as_raw().sys()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:151:5 [INFO] [stdout] | [INFO] [stdout] 151 | / unsafe fn assume_thread_local(&self) -> Ref [INFO] [stdout] 152 | | where [INFO] [stdout] 153 | | Self: Sized + GodotObject, [INFO] [stdout] | |_______________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:172:9 [INFO] [stdout] | [INFO] [stdout] 172 | Ref::from_sys(self.as_raw().sys()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:168:5 [INFO] [stdout] | [INFO] [stdout] 168 | / unsafe fn assume_unique(&self) -> Ref [INFO] [stdout] 169 | | where [INFO] [stdout] 170 | | Self: Sized, [INFO] [stdout] | |____________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::TRef::<'a, T>::try_from_instance_id` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:184:9 [INFO] [stdout] | [INFO] [stdout] 184 | TRef::try_from_instance_id(id) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:183:5 [INFO] [stdout] | [INFO] [stdout] 183 | unsafe fn try_from_instance_id<'a>(id: i64) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::TRef::<'a, T>::from_instance_id` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:202:9 [INFO] [stdout] | [INFO] [stdout] 202 | TRef::from_instance_id(id) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:201:5 [INFO] [stdout] | [INFO] [stdout] 201 | unsafe fn from_instance_id<'a>(id: i64) -> TRef<'a, Self, Shared> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::move_from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:484:19 [INFO] [stdout] | [INFO] [stdout] 484 | let ret = Ref::move_from_sys(self.ptr.as_non_null()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:480:5 [INFO] [stdout] | [INFO] [stdout] 480 | / unsafe fn cast_unchecked(self) -> Ref [INFO] [stdout] 481 | | where [INFO] [stdout] 482 | | U: GodotObject, [INFO] [stdout] | |___________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::bounds::MemorySpec::impl_assume_safe` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:555:9 [INFO] [stdout] | [INFO] [stdout] 555 | T::Memory::impl_assume_safe(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/object/mod.rs:551:5 [INFO] [stdout] | [INFO] [stdout] 551 | / pub unsafe fn assume_safe<'a, 'r>(&'r self) -> TRef<'a, T, Shared> [INFO] [stdout] 552 | | where [INFO] [stdout] 553 | | AssumeSafeLifetime<'a, 'r>: LifetimeConstraint, [INFO] [stdout] | |__________________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::bounds::MemorySpec::impl_assume_unique` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:570:9 [INFO] [stdout] | [INFO] [stdout] 570 | T::Memory::impl_assume_unique(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/object/mod.rs:569:5 [INFO] [stdout] | [INFO] [stdout] 569 | pub unsafe fn assume_unique(self) -> Ref { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:586:13 [INFO] [stdout] | [INFO] [stdout] 586 | if !(api.godot_is_instance_valid)(self.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/object/mod.rs:584:5 [INFO] [stdout] | [INFO] [stdout] 584 | pub unsafe fn is_instance_sane(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::as_raw_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:590:9 [INFO] [stdout] | [INFO] [stdout] 590 | self.as_raw_unchecked().is_class::() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `object::Ref::::is_instance_sane` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:602:12 [INFO] [stdout] | [INFO] [stdout] 602 | if self.is_instance_sane() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:601:5 [INFO] [stdout] | [INFO] [stdout] 601 | pub unsafe fn assume_safe_if_sane<'a>(&self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::assume_safe_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:603:18 [INFO] [stdout] | [INFO] [stdout] 603 | Some(self.assume_safe_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 `object::Ref::::is_instance_sane` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:619:12 [INFO] [stdout] | [INFO] [stdout] 619 | if self.is_instance_sane() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:618:5 [INFO] [stdout] | [INFO] [stdout] 618 | pub unsafe fn assume_unique_if_sane(self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::cast_access` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:620:18 [INFO] [stdout] | [INFO] [stdout] 620 | Some(self.cast_access()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `object::Ref::::cast_access` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:641:9 [INFO] [stdout] | [INFO] [stdout] 641 | self.cast_access() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:640:5 [INFO] [stdout] | [INFO] [stdout] 640 | pub unsafe fn assume_thread_local(self) -> Ref { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::RawObject::::from_sys_ref_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:769:9 [INFO] [stdout] | [INFO] [stdout] 769 | RawObject::from_sys_ref_unchecked(self.ptr.as_non_null()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:768:5 [INFO] [stdout] | [INFO] [stdout] 768 | pub unsafe fn as_raw_unchecked<'a>(&self) -> &'a RawObject { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::move_from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:798:19 [INFO] [stdout] | [INFO] [stdout] 798 | let ret = Self::move_from_sys(obj); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:797:5 [INFO] [stdout] | [INFO] [stdout] 797 | pub unsafe fn from_sys(obj: NonNull) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::bounds::MemorySpec::maybe_add_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:799:9 [INFO] [stdout] | [INFO] [stdout] 799 | ::maybe_add_ref(ret.as_raw_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 `object::Ref::::as_raw_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:799:50 [INFO] [stdout] | [INFO] [stdout] 799 | ::maybe_add_ref(ret.as_raw_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 `object::Ref::::move_from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:812:19 [INFO] [stdout] | [INFO] [stdout] 812 | let ret = Self::move_from_sys(obj); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:811:5 [INFO] [stdout] | [INFO] [stdout] 811 | pub unsafe fn init_from_sys(obj: NonNull) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::bounds::MemorySpec::maybe_init_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:813:9 [INFO] [stdout] | [INFO] [stdout] 813 | ::maybe_init_ref(ret.as_raw_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 `object::Ref::::as_raw_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:813:51 [INFO] [stdout] | [INFO] [stdout] 813 | ::maybe_init_ref(ret.as_raw_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 `object::Ref::::move_from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:823:19 [INFO] [stdout] | [INFO] [stdout] 823 | let ret = Ref::move_from_sys(self.ptr.as_non_null()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:822:5 [INFO] [stdout] | [INFO] [stdout] 822 | unsafe fn cast_access(self) -> Ref { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::as_raw_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:839:31 [INFO] [stdout] | [INFO] [stdout] 839 | TRef::new(T::cast_ref(self.as_raw_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/object/mod.rs:838:5 [INFO] [stdout] | [INFO] [stdout] 838 | pub unsafe fn assume_safe_unchecked<'a>(&self) -> TRef<'a, T, Own> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:973:32 [INFO] [stdout] | [INFO] [stdout] 973 | let ptr = NonNull::new((api.godot_instance_from_id)(id as sys::godot_int))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:971:5 [INFO] [stdout] | [INFO] [stdout] 971 | pub unsafe fn try_from_instance_id(id: i64) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::RawObject::::try_from_sys_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:974:19 [INFO] [stdout] | [INFO] [stdout] 974 | let raw = RawObject::try_from_sys_ref(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 `object::TRef::<'a, T>::try_from_instance_id` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:993:9 [INFO] [stdout] | [INFO] [stdout] 993 | Self::try_from_instance_id(id).expect("instance should be alive") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:992:5 [INFO] [stdout] | [INFO] [stdout] 992 | pub unsafe fn from_instance_id(id: i64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ffi::CStr::from_bytes_with_nul_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/profiler.rs:52:19 [INFO] [stdout] | [INFO] [stdout] 52 | let sig = CStr::from_bytes_with_nul_unchecked(bytes); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/profiler.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | pub unsafe fn from_bytes_with_nul_unchecked(bytes: &'a [u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `private::check_api_compatibility` is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:19:23 [INFO] [stdout] | [INFO] [stdout] 19 | if let Err(err) = check_api_compatibility(options) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/private.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | pub unsafe fn bind_api(options: *mut sys::godot_gdnative_init_options) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `private::report_init_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | report_init_error(options, err); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `sys::GodotApi::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:24:21 [INFO] [stdout] | [INFO] [stdout] 24 | let api = match sys::GodotApi::from_raw((*options).api_struct) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/private.rs:24:45 [INFO] [stdout] | [INFO] [stdout] 24 | let api = match sys::GodotApi::from_raw((*options).api_struct) { [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 `private::report_init_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | report_init_error(options, e); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | GODOT_API = Some(api); [INFO] [stdout] | ^^^^^^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | GDNATIVE_LIBRARY_SYS = Some((*options).gd_native_library); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:33:33 [INFO] [stdout] | [INFO] [stdout] 33 | GDNATIVE_LIBRARY_SYS = Some((*options).gd_native_library); [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/private.rs:46:38 [INFO] [stdout] | [INFO] [stdout] 46 | let mut api: *const api_struct = (*options).api_struct as *const api_struct; [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/private.rs:42:1 [INFO] [stdout] | [INFO] [stdout] 42 | / unsafe fn check_api_compatibility( [INFO] [stdout] 43 | | options: *const sys::godot_gdnative_init_options, [INFO] [stdout] 44 | | ) -> Result<(), sys::InitError> { [INFO] [stdout] | |_______________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | } = *api; [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 `export::type_tag::cleanup` is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:153:5 [INFO] [stdout] | [INFO] [stdout] 153 | crate::export::type_tag::cleanup(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/private.rs:152:1 [INFO] [stdout] | [INFO] [stdout] 152 | pub unsafe fn cleanup_internal_state() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:156:5 [INFO] [stdout] | [INFO] [stdout] 156 | GODOT_API = None; [INFO] [stdout] | ^^^^^^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:171:30 [INFO] [stdout] | [INFO] [stdout] 171 | if let Some(f) = (*options).report_version_mismatch { [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/private.rs:161:1 [INFO] [stdout] | [INFO] [stdout] 161 | / unsafe fn report_init_error( [INFO] [stdout] 162 | | options: *const sys::godot_gdnative_init_options, [INFO] [stdout] 163 | | error: sys::InitError, [INFO] [stdout] 164 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:173:17 [INFO] [stdout] | [INFO] [stdout] 173 | f((*options).gd_native_library, message.as_ptr(), want, got); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/private.rs:173:19 [INFO] [stdout] | [INFO] [stdout] 173 | f((*options).gd_native_library, message.as_ptr(), want, got); [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/private.rs:177:30 [INFO] [stdout] | [INFO] [stdout] 177 | if let Some(f) = (*options).report_loading_error { [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 is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:179:17 [INFO] [stdout] | [INFO] [stdout] 179 | f((*options).gd_native_library, message.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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:179:19 [INFO] [stdout] | [INFO] [stdout] 179 | f((*options).gd_native_library, message.as_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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:277:22 [INFO] [stdout] | [INFO] [stdout] 277 | &mut TABLE [INFO] [stdout] | ^^^^^ use of mutable static [INFO] [stdout] ... [INFO] [stdout] 305 | / make_method_table!(struct ObjectMethodTable for Object { [INFO] [stdout] 306 | | get_class, [INFO] [stdout] 307 | | is_class, [INFO] [stdout] 308 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/private.rs:272:13 [INFO] [stdout] | [INFO] [stdout] 272 | unsafe fn get_mut() -> &'static mut Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | / make_method_table!(struct ObjectMethodTable for Object { [INFO] [stdout] 306 | | get_class, [INFO] [stdout] 307 | | is_class, [INFO] [stdout] 308 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `make_method_table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:277:22 [INFO] [stdout] | [INFO] [stdout] 277 | &mut TABLE [INFO] [stdout] | ^^^^^ use of mutable static [INFO] [stdout] ... [INFO] [stdout] 310 | / make_method_table!(struct ReferenceMethodTable for Reference { [INFO] [stdout] 311 | | reference, [INFO] [stdout] 312 | | unreference, [INFO] [stdout] 313 | | init_ref, [INFO] [stdout] 314 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/private.rs:272:13 [INFO] [stdout] | [INFO] [stdout] 272 | unsafe fn get_mut() -> &'static mut Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 310 | / make_method_table!(struct ReferenceMethodTable for Reference { [INFO] [stdout] 311 | | reference, [INFO] [stdout] 312 | | unreference, [INFO] [stdout] 313 | | init_ref, [INFO] [stdout] 314 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `make_method_table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:277:22 [INFO] [stdout] | [INFO] [stdout] 277 | &mut TABLE [INFO] [stdout] | ^^^^^ use of mutable static [INFO] [stdout] ... [INFO] [stdout] 318 | / make_method_table!(struct NativeScriptMethodTable for NativeScript { [INFO] [stdout] 319 | | set_class_name, [INFO] [stdout] 320 | | set_library, [INFO] [stdout] 321 | | new, [INFO] [stdout] 322 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/private.rs:272:13 [INFO] [stdout] | [INFO] [stdout] 272 | unsafe fn get_mut() -> &'static mut Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 318 | / make_method_table!(struct NativeScriptMethodTable for NativeScript { [INFO] [stdout] 319 | | set_class_name, [INFO] [stdout] 320 | | set_library, [INFO] [stdout] 321 | | new, [INFO] [stdout] 322 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `make_method_table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/core_types/geom/rect2.rs:264:24 [INFO] [stdout] | [INFO] [stdout] 264 | pub struct MarginError(i64); [INFO] [stdout] | ----------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `MarginError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/export/property/accessor.rs:245:28 [INFO] [stdout] | [INFO] [stdout] 245 | if let Err(err) = SelfArg::map_set(&user_data, func, owner, val) { [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/export/property/accessor.rs:247:25 [INFO] [stdout] | [INFO] [stdout] 247 | } [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] 245 ~ match SelfArg::map_set(&user_data, func, owner, val) { Err(err) => { [INFO] [stdout] 246 | godot_error!("gdnative-core: cannot call property setter: {:?}", err); [INFO] [stdout] 247 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/export/property/hint.rs:433:12 [INFO] [stdout] | [INFO] [stdout] 433 | if let Some(element_hint) = self.element_hint { [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/export/property/hint.rs:459:9 [INFO] [stdout] | [INFO] [stdout] 459 | } 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] 433 ~ match self.element_hint { Some(element_hint) => { [INFO] [stdout] 434 | let hint_string = match (element_hint.variant_type, element_hint.hint_kind) { [INFO] [stdout] ... [INFO] [stdout] 458 | } [INFO] [stdout] 459 ~ } _ => { [INFO] [stdout] 460 | ExportInfo { [INFO] [stdout] ... [INFO] [stdout] 464 | } [INFO] [stdout] 465 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/export/type_tag.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 86 | if let Some(tags) = TAGS.take() { [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/export/type_tag.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 88 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 86 ~ match TAGS.take() { Some(tags) => { [INFO] [stdout] 87 | drop(tags); [INFO] [stdout] 88 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/private.rs:189:8 [INFO] [stdout] | [INFO] [stdout] 189 | if let Err(e) = __result { [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/private.rs:192:5 [INFO] [stdout] | [INFO] [stdout] 192 | } [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 __result { Err(e) => { [INFO] [stdout] 190 | godot_error!("gdnative-core: {} callback panicked", context); [INFO] [stdout] 191 | print_panic_error(e); [INFO] [stdout] 192 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/private.rs:196:8 [INFO] [stdout] | [INFO] [stdout] 196 | if let Some(s) = err.downcast_ref::() { [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] 197 | godot_error!("Panic message: {}", s); [INFO] [stdout] 198 | } else if let Some(s) = err.downcast_ref::<&'static str>() { [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/private.rs:198:5 [INFO] [stdout] | [INFO] [stdout] 198 | } else if let Some(s) = err.downcast_ref::<&'static str>() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/private.rs:200:5 [INFO] [stdout] | [INFO] [stdout] 200 | } 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] 196 ~ match err.downcast_ref::() { Some(s) => { [INFO] [stdout] 197 | godot_error!("Panic message: {}", s); [INFO] [stdout] 198 ~ } _ => { match err.downcast_ref::<&'static str>() { Some(s) => { [INFO] [stdout] 199 | godot_error!("Panic message: {}", s); [INFO] [stdout] 200 ~ } _ => { [INFO] [stdout] 201 | godot_error!("Panic message unknown, type {:?}", err.type_id()); [INFO] [stdout] 202 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 149 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 13.15s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking gdnative-core v0.11.3 (/tmp/fixit) [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/core_types/mod.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 34 | pub use dictionary::*; [INFO] [stdout] | ------------- but the name `Iter` in the type namespace is also re-exported here [INFO] [stdout] ... [INFO] [stdout] 45 | pub use variant_array::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ the name `Iter` in the type namespace is first re-exported here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ambiguous_glob_reexports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/core_types/mod.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 34 | pub use dictionary::*; [INFO] [stdout] | ------------- but the name `IntoIter` in the type namespace is also re-exported here [INFO] [stdout] ... [INFO] [stdout] 45 | pub use variant_array::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ the name `IntoIter` in the type namespace is first re-exported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `gdnative_derive::godot_wrap_method` [INFO] [stdout] --> src/export/macros.rs:2:9 [INFO] [stdout] | [INFO] [stdout] 2 | pub use gdnative_derive::godot_wrap_method; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/core_types/mod.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 34 | pub use dictionary::*; [INFO] [stdout] | ------------- but the name `Iter` in the type namespace is also re-exported here [INFO] [stdout] ... [INFO] [stdout] 45 | pub use variant_array::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ the name `Iter` in the type namespace is first re-exported here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ambiguous_glob_reexports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/core_types/mod.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 34 | pub use dictionary::*; [INFO] [stdout] | ------------- but the name `IntoIter` in the type namespace is also re-exported here [INFO] [stdout] ... [INFO] [stdout] 45 | pub use variant_array::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ the name `IntoIter` in the type namespace is first re-exported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `gdnative_derive::godot_wrap_method` [INFO] [stdout] --> src/export/macros.rs:2:9 [INFO] [stdout] | [INFO] [stdout] 2 | pub use gdnative_derive::godot_wrap_method; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0796]: creating a mutable reference to a mutable static [INFO] [stdout] --> src/private.rs:277:17 [INFO] [stdout] | [INFO] [stdout] 277 | &mut TABLE [INFO] [stdout] | ^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] ... [INFO] [stdout] 305 | / make_method_table!(struct ObjectMethodTable for Object { [INFO] [stdout] 306 | | get_class, [INFO] [stdout] 307 | | is_class, [INFO] [stdout] 308 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] = note: this error originates in the macro `make_method_table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 277 | addr_of_mut!(TABLE) [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0796]: creating a mutable reference to a mutable static [INFO] [stdout] --> src/private.rs:277:17 [INFO] [stdout] | [INFO] [stdout] 277 | &mut TABLE [INFO] [stdout] | ^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] ... [INFO] [stdout] 310 | / make_method_table!(struct ReferenceMethodTable for Reference { [INFO] [stdout] 311 | | reference, [INFO] [stdout] 312 | | unreference, [INFO] [stdout] 313 | | init_ref, [INFO] [stdout] 314 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] = note: this error originates in the macro `make_method_table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 277 | addr_of_mut!(TABLE) [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0796]: creating a mutable reference to a mutable static [INFO] [stdout] --> src/private.rs:277:17 [INFO] [stdout] | [INFO] [stdout] 277 | &mut TABLE [INFO] [stdout] | ^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] ... [INFO] [stdout] 318 | / make_method_table!(struct NativeScriptMethodTable for NativeScript { [INFO] [stdout] 319 | | set_class_name, [INFO] [stdout] 320 | | set_library, [INFO] [stdout] 321 | | new, [INFO] [stdout] 322 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] = note: this error originates in the macro `make_method_table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 277 | addr_of_mut!(TABLE) [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0796]: creating a mutable reference to a mutable static [INFO] [stdout] --> src/private.rs:277:17 [INFO] [stdout] | [INFO] [stdout] 277 | &mut TABLE [INFO] [stdout] | ^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] ... [INFO] [stdout] 305 | / make_method_table!(struct ObjectMethodTable for Object { [INFO] [stdout] 306 | | get_class, [INFO] [stdout] 307 | | is_class, [INFO] [stdout] 308 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] = note: this error originates in the macro `make_method_table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 277 | addr_of_mut!(TABLE) [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0796]: creating a mutable reference to a mutable static [INFO] [stdout] --> src/private.rs:277:17 [INFO] [stdout] | [INFO] [stdout] 277 | &mut TABLE [INFO] [stdout] | ^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] ... [INFO] [stdout] 310 | / make_method_table!(struct ReferenceMethodTable for Reference { [INFO] [stdout] 311 | | reference, [INFO] [stdout] 312 | | unreference, [INFO] [stdout] 313 | | init_ref, [INFO] [stdout] 314 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] = note: this error originates in the macro `make_method_table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 277 | addr_of_mut!(TABLE) [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0796]: creating a mutable reference to a mutable static [INFO] [stdout] --> src/private.rs:277:17 [INFO] [stdout] | [INFO] [stdout] 277 | &mut TABLE [INFO] [stdout] | ^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] ... [INFO] [stdout] 318 | / make_method_table!(struct NativeScriptMethodTable for NativeScript { [INFO] [stdout] 319 | | set_class_name, [INFO] [stdout] 320 | | set_library, [INFO] [stdout] 321 | | new, [INFO] [stdout] 322 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior [INFO] [stdout] = note: this error originates in the macro `make_method_table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 277 | addr_of_mut!(TABLE) [INFO] [stdout] | ~~~~~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `core_types::variant::Variant::cast_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/dictionary.rs:145:9 [INFO] [stdout] | [INFO] [stdout] 145 | / Variant::cast_ref((get_api().godot_dictionary_operator_index_const)( [INFO] [stdout] 146 | | self.sys(), [INFO] [stdout] 147 | | key.owned_to_variant().sys(), [INFO] [stdout] 148 | | )) [INFO] [stdout] | |__________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/dictionary.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 141 | / pub unsafe fn get_ref(&self, key: K) -> &Variant [INFO] [stdout] 142 | | where [INFO] [stdout] 143 | | K: OwnedToVariant + ToVariantEq, [INFO] [stdout] | |________________________________________^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/dictionary.rs:145:27 [INFO] [stdout] | [INFO] [stdout] 145 | Variant::cast_ref((get_api().godot_dictionary_operator_index_const)( [INFO] [stdout] | ___________________________^ [INFO] [stdout] 146 | | self.sys(), [INFO] [stdout] 147 | | key.owned_to_variant().sys(), [INFO] [stdout] 148 | | )) [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/dictionary.rs:167:31 [INFO] [stdout] | [INFO] [stdout] 167 | Variant::cast_mut_ref((get_api().godot_dictionary_operator_index)( [INFO] [stdout] | _______________________________^ [INFO] [stdout] 168 | | self.sys_mut(), [INFO] [stdout] 169 | | key.owned_to_variant().sys(), [INFO] [stdout] 170 | | )) [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/dictionary.rs:163:5 [INFO] [stdout] | [INFO] [stdout] 163 | / pub unsafe fn get_mut_ref(&self, key: K) -> &mut Variant [INFO] [stdout] 164 | | where [INFO] [stdout] 165 | | K: OwnedToVariant + ToVariantEq, [INFO] [stdout] | |________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `core_types::dictionary::Dictionary::::cast_access` is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/dictionary.rs:280:9 [INFO] [stdout] | [INFO] [stdout] 280 | self.cast_access() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/dictionary.rs:279:5 [INFO] [stdout] | [INFO] [stdout] 279 | pub unsafe fn assume_unique(self) -> Dictionary { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/dictionary.rs:408:20 [INFO] [stdout] | [INFO] [stdout] 408 | let next_ptr = (get_api().godot_dictionary_next)(dic.sys(), last_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/core_types/dictionary.rs:403:1 [INFO] [stdout] | [INFO] [stdout] 403 | / unsafe fn iter_next( [INFO] [stdout] 404 | | dic: &Dictionary, [INFO] [stdout] 405 | | last_key: &mut Option, [INFO] [stdout] 406 | | ) -> Option<(Variant, Variant)> { [INFO] [stdout] | |_______________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `core_types::variant::Variant::cast_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/dictionary.rs:413:19 [INFO] [stdout] | [INFO] [stdout] 413 | let key = Variant::cast_ref(next_ptr).clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/error.rs:75:13 [INFO] [stdout] | [INFO] [stdout] 75 | Err(std::mem::transmute(err 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/core_types/error.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | pub unsafe fn result_from_sys(err: sys::godot_error) -> Result<(), Self> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/pool_array.rs:384:19 [INFO] [stdout] | [INFO] [stdout] 384 | let len = (T::size_fn(get_api()))(arr) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/core_types/pool_array.rs:383:5 [INFO] [stdout] | [INFO] [stdout] 383 | unsafe fn new(arr: *const T::SysArray) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/pool_array.rs:385:22 [INFO] [stdout] | [INFO] [stdout] 385 | let access = (T::read_fn(get_api()))(arr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/pool_array.rs:444:19 [INFO] [stdout] | [INFO] [stdout] 444 | let len = (T::size_fn(get_api()))(arr) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/core_types/pool_array.rs:443:5 [INFO] [stdout] | [INFO] [stdout] 443 | unsafe fn new(arr: *mut T::SysArray) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/pool_array.rs:445:22 [INFO] [stdout] | [INFO] [stdout] 445 | let access = (T::write_fn(get_api()))(arr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/rid.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | (get_api().godot_rid_get_id)(&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/core_types/rid.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | pub unsafe fn get_id(self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/variant.rs:335:9 [INFO] [stdout] | [INFO] [stdout] 335 | (api.godot_variant_new_object)(&mut dest, val); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/variant.rs:332:5 [INFO] [stdout] | [INFO] [stdout] 332 | pub unsafe fn from_object_ptr(val: *mut sys::godot_object) -> Variant { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/variant.rs:486:23 [INFO] [stdout] | [INFO] [stdout] 486 | let variant = (api.godot_variant_call)( [INFO] [stdout] | _______________________^ [INFO] [stdout] 487 | | &mut self.0, [INFO] [stdout] 488 | | &method.0, [INFO] [stdout] 489 | | arg_refs.as_mut_ptr(), [INFO] [stdout] 490 | | args.len() as i32, [INFO] [stdout] 491 | | &mut err, [INFO] [stdout] 492 | | ); [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/variant.rs:476:5 [INFO] [stdout] | [INFO] [stdout] 476 | / pub unsafe fn call( [INFO] [stdout] 477 | | &mut self, [INFO] [stdout] 478 | | method: impl Into, [INFO] [stdout] 479 | | args: &[Variant], [INFO] [stdout] 480 | | ) -> Result { [INFO] [stdout] | |___________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `core_types::variant::Variant::cast_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/dictionary.rs:145:9 [INFO] [stdout] | [INFO] [stdout] 145 | / Variant::cast_ref((get_api().godot_dictionary_operator_index_const)( [INFO] [stdout] 146 | | self.sys(), [INFO] [stdout] 147 | | key.owned_to_variant().sys(), [INFO] [stdout] 148 | | )) [INFO] [stdout] | |__________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/dictionary.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 141 | / pub unsafe fn get_ref(&self, key: K) -> &Variant [INFO] [stdout] 142 | | where [INFO] [stdout] 143 | | K: OwnedToVariant + ToVariantEq, [INFO] [stdout] | |________________________________________^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/dictionary.rs:145:27 [INFO] [stdout] | [INFO] [stdout] 145 | Variant::cast_ref((get_api().godot_dictionary_operator_index_const)( [INFO] [stdout] | ___________________________^ [INFO] [stdout] 146 | | self.sys(), [INFO] [stdout] 147 | | key.owned_to_variant().sys(), [INFO] [stdout] 148 | | )) [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/dictionary.rs:167:31 [INFO] [stdout] | [INFO] [stdout] 167 | Variant::cast_mut_ref((get_api().godot_dictionary_operator_index)( [INFO] [stdout] | _______________________________^ [INFO] [stdout] 168 | | self.sys_mut(), [INFO] [stdout] 169 | | key.owned_to_variant().sys(), [INFO] [stdout] 170 | | )) [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/dictionary.rs:163:5 [INFO] [stdout] | [INFO] [stdout] 163 | / pub unsafe fn get_mut_ref(&self, key: K) -> &mut Variant [INFO] [stdout] 164 | | where [INFO] [stdout] 165 | | K: OwnedToVariant + ToVariantEq, [INFO] [stdout] | |________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/variant.rs:532:10 [INFO] [stdout] | [INFO] [stdout] 532 | &*(ptr as *const variant::Variant) [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/core_types/variant.rs:531:5 [INFO] [stdout] | [INFO] [stdout] 531 | pub(crate) unsafe fn cast_ref<'l>(ptr: *const sys::godot_variant) -> &'l Variant { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `core_types::dictionary::Dictionary::::cast_access` is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/dictionary.rs:280:9 [INFO] [stdout] | [INFO] [stdout] 280 | self.cast_access() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/dictionary.rs:279:5 [INFO] [stdout] | [INFO] [stdout] 279 | pub unsafe fn assume_unique(self) -> Dictionary { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/dictionary.rs:408:20 [INFO] [stdout] | [INFO] [stdout] 408 | let next_ptr = (get_api().godot_dictionary_next)(dic.sys(), last_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/core_types/dictionary.rs:403:1 [INFO] [stdout] | [INFO] [stdout] 403 | / unsafe fn iter_next( [INFO] [stdout] 404 | | dic: &Dictionary, [INFO] [stdout] 405 | | last_key: &mut Option, [INFO] [stdout] 406 | | ) -> Option<(Variant, Variant)> { [INFO] [stdout] | |_______________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `core_types::variant::Variant::cast_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/dictionary.rs:413:19 [INFO] [stdout] | [INFO] [stdout] 413 | let key = Variant::cast_ref(next_ptr).clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/error.rs:75:13 [INFO] [stdout] | [INFO] [stdout] 75 | Err(std::mem::transmute(err 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/core_types/error.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | pub unsafe fn result_from_sys(err: sys::godot_error) -> Result<(), Self> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/pool_array.rs:384:19 [INFO] [stdout] | [INFO] [stdout] 384 | let len = (T::size_fn(get_api()))(arr) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/core_types/pool_array.rs:383:5 [INFO] [stdout] | [INFO] [stdout] 383 | unsafe fn new(arr: *const T::SysArray) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/pool_array.rs:385:22 [INFO] [stdout] | [INFO] [stdout] 385 | let access = (T::read_fn(get_api()))(arr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/pool_array.rs:444:19 [INFO] [stdout] | [INFO] [stdout] 444 | let len = (T::size_fn(get_api()))(arr) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/core_types/pool_array.rs:443:5 [INFO] [stdout] | [INFO] [stdout] 443 | unsafe fn new(arr: *mut T::SysArray) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/pool_array.rs:445:22 [INFO] [stdout] | [INFO] [stdout] 445 | let access = (T::write_fn(get_api()))(arr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/rid.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | (get_api().godot_rid_get_id)(&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/core_types/rid.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | pub unsafe fn get_id(self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/variant.rs:335:9 [INFO] [stdout] | [INFO] [stdout] 335 | (api.godot_variant_new_object)(&mut dest, val); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/variant.rs:332:5 [INFO] [stdout] | [INFO] [stdout] 332 | pub unsafe fn from_object_ptr(val: *mut sys::godot_object) -> Variant { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/variant.rs:486:23 [INFO] [stdout] | [INFO] [stdout] 486 | let variant = (api.godot_variant_call)( [INFO] [stdout] | _______________________^ [INFO] [stdout] 487 | | &mut self.0, [INFO] [stdout] 488 | | &method.0, [INFO] [stdout] 489 | | arg_refs.as_mut_ptr(), [INFO] [stdout] 490 | | args.len() as i32, [INFO] [stdout] 491 | | &mut err, [INFO] [stdout] 492 | | ); [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/variant.rs:476:5 [INFO] [stdout] | [INFO] [stdout] 476 | / pub unsafe fn call( [INFO] [stdout] 477 | | &mut self, [INFO] [stdout] 478 | | method: impl Into, [INFO] [stdout] 479 | | args: &[Variant], [INFO] [stdout] 480 | | ) -> Result { [INFO] [stdout] | |___________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/variant.rs:532:10 [INFO] [stdout] | [INFO] [stdout] 532 | &*(ptr as *const variant::Variant) [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/core_types/variant.rs:531:5 [INFO] [stdout] | [INFO] [stdout] 531 | pub(crate) unsafe fn cast_ref<'l>(ptr: *const sys::godot_variant) -> &'l Variant { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `core_types::variant::Variant::cast_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/variant_array.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | / Variant::cast_ref((get_api().godot_array_operator_index_const)( [INFO] [stdout] 68 | | self.sys(), [INFO] [stdout] 69 | | idx, [INFO] [stdout] 70 | | )) [INFO] [stdout] | |__________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/variant_array.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | pub unsafe fn get_ref(&self, idx: i32) -> &Variant { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/variant_array.rs:67:27 [INFO] [stdout] | [INFO] [stdout] 67 | Variant::cast_ref((get_api().godot_array_operator_index_const)( [INFO] [stdout] | ___________________________^ [INFO] [stdout] 68 | | self.sys(), [INFO] [stdout] 69 | | idx, [INFO] [stdout] 70 | | )) [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/variant_array.rs:84:31 [INFO] [stdout] | [INFO] [stdout] 84 | Variant::cast_mut_ref((get_api().godot_array_operator_index)(self.sys_mut(), idx)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/variant_array.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | pub unsafe fn get_mut_ref(&self, idx: i32) -> &mut Variant { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `core_types::variant_array::VariantArray::::cast_access` is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/variant_array.rs:298:9 [INFO] [stdout] | [INFO] [stdout] 298 | self.cast_access() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/variant_array.rs:297:5 [INFO] [stdout] | [INFO] [stdout] 297 | pub unsafe fn assume_unique(self) -> VariantArray { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/method.rs:326:20 [INFO] [stdout] | [INFO] [stdout] 326 | let args = std::slice::from_raw_parts(args, num_args as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/export/method.rs:325:5 [INFO] [stdout] | [INFO] [stdout] 325 | pub unsafe fn from_sys(num_args: libc::c_int, args: *mut *mut sys::godot_variant) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/method.rs:327:20 [INFO] [stdout] | [INFO] [stdout] 327 | let args = std::mem::transmute::<&[*mut sys::godot_variant], &[&Variant]>(args); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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_types::variant::Variant::cast_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/variant_array.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | / Variant::cast_ref((get_api().godot_array_operator_index_const)( [INFO] [stdout] 68 | | self.sys(), [INFO] [stdout] 69 | | idx, [INFO] [stdout] 70 | | )) [INFO] [stdout] | |__________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/variant_array.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | pub unsafe fn get_ref(&self, idx: i32) -> &Variant { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/variant_array.rs:67:27 [INFO] [stdout] | [INFO] [stdout] 67 | Variant::cast_ref((get_api().godot_array_operator_index_const)( [INFO] [stdout] | ___________________________^ [INFO] [stdout] 68 | | self.sys(), [INFO] [stdout] 69 | | idx, [INFO] [stdout] 70 | | )) [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/variant_array.rs:84:31 [INFO] [stdout] | [INFO] [stdout] 84 | Variant::cast_mut_ref((get_api().godot_array_operator_index)(self.sys_mut(), idx)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/variant_array.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | pub unsafe fn get_mut_ref(&self, idx: i32) -> &mut Variant { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `core_types::variant_array::VariantArray::::cast_access` is unsafe and requires unsafe block [INFO] [stdout] --> src/core_types/variant_array.rs:298:9 [INFO] [stdout] | [INFO] [stdout] 298 | self.cast_access() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/core_types/variant_array.rs:297:5 [INFO] [stdout] | [INFO] [stdout] 297 | pub unsafe fn assume_unique(self) -> VariantArray { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/export/method.rs:879:23 [INFO] [stdout] | [INFO] [stdout] 879 | let method = &*(method_data as *const F); [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/export/method.rs:846:1 [INFO] [stdout] | [INFO] [stdout] 846 | / unsafe extern "C" fn method_wrapper>( [INFO] [stdout] 847 | | this: *mut sys::godot_object, [INFO] [stdout] 848 | | method_data: *mut libc::c_void, [INFO] [stdout] 849 | | user_data: *mut libc::c_void, [INFO] [stdout] 850 | | num_args: libc::c_int, [INFO] [stdout] 851 | | args: *mut *mut sys::godot_variant, [INFO] [stdout] 852 | | ) -> sys::godot_variant { [INFO] [stdout] | |_______________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/method.rs:881:42 [INFO] [stdout] | [INFO] [stdout] 881 | let this: Ref = Ref::from_sys(this); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `object::Ref::::assume_safe_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/method.rs:882:42 [INFO] [stdout] | [INFO] [stdout] 882 | let this: TRef<'_, C::Base, _> = this.assume_safe_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 `object::instance::TInstance::<'a, T, Own>::from_raw_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/method.rs:883:41 [INFO] [stdout] | [INFO] [stdout] 883 | let this: TInstance<'_, C, _> = TInstance::from_raw_unchecked(this, user_data); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `export::method::Varargs::<'a>::from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/method.rs:885:20 [INFO] [stdout] | [INFO] [stdout] 885 | let args = Varargs::from_sys(num_args, args); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/method.rs:903:10 [INFO] [stdout] | [INFO] [stdout] 903 | drop(Box::from_raw(method_data as *mut 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/export/method.rs:902:1 [INFO] [stdout] | [INFO] [stdout] 902 | unsafe extern "C" fn free_func(method_data: *mut libc::c_void) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/method.rs:326:20 [INFO] [stdout] | [INFO] [stdout] 326 | let args = std::slice::from_raw_parts(args, num_args as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/export/method.rs:325:5 [INFO] [stdout] | [INFO] [stdout] 325 | pub unsafe fn from_sys(num_args: libc::c_int, args: *mut *mut sys::godot_variant) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/method.rs:327:20 [INFO] [stdout] | [INFO] [stdout] 327 | let args = std::mem::transmute::<&[*mut sys::godot_variant], &[&Variant]>(args); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/export/type_tag.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | *(&tag as *const Tag as *const *const libc::c_void) [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/export/type_tag.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | / pub(crate) unsafe fn create() -> *const libc::c_void [INFO] [stdout] 44 | | where [INFO] [stdout] 45 | | T: NativeClass, [INFO] [stdout] | |___________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/export/type_tag.rs:54:20 [INFO] [stdout] | [INFO] [stdout] 54 | let tags = TAGS.get_or_insert_with(IndexSet::default); [INFO] [stdout] | ^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/export/type_tag.rs:70:27 [INFO] [stdout] | [INFO] [stdout] 70 | Tag::of::() == *(&tag as *const *const libc::c_void as *const Tag) [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/export/type_tag.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | / pub(crate) unsafe fn check(tag: *const libc::c_void) -> bool [INFO] [stdout] 65 | | where [INFO] [stdout] 66 | | T: NativeClass, [INFO] [stdout] | |___________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/export/type_tag.rs:72:20 [INFO] [stdout] | [INFO] [stdout] 72 | let tags = TAGS.as_ref().expect("tag should be created by `create`"); [INFO] [stdout] | ^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/export/type_tag.rs:86:25 [INFO] [stdout] | [INFO] [stdout] 86 | if let Some(tags) = TAGS.take() { [INFO] [stdout] | ^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/export/type_tag.rs:84:1 [INFO] [stdout] | [INFO] [stdout] 84 | pub(crate) unsafe fn cleanup() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/export/method.rs:879:23 [INFO] [stdout] | [INFO] [stdout] 879 | let method = &*(method_data as *const F); [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/export/method.rs:846:1 [INFO] [stdout] | [INFO] [stdout] 846 | / unsafe extern "C" fn method_wrapper>( [INFO] [stdout] 847 | | this: *mut sys::godot_object, [INFO] [stdout] 848 | | method_data: *mut libc::c_void, [INFO] [stdout] 849 | | user_data: *mut libc::c_void, [INFO] [stdout] 850 | | num_args: libc::c_int, [INFO] [stdout] 851 | | args: *mut *mut sys::godot_variant, [INFO] [stdout] 852 | | ) -> sys::godot_variant { [INFO] [stdout] | |_______________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/method.rs:881:42 [INFO] [stdout] | [INFO] [stdout] 881 | let this: Ref = Ref::from_sys(this); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `object::Ref::::assume_safe_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/method.rs:882:42 [INFO] [stdout] | [INFO] [stdout] 882 | let this: TRef<'_, C::Base, _> = this.assume_safe_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 `object::instance::TInstance::<'a, T, Own>::from_raw_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/method.rs:883:41 [INFO] [stdout] | [INFO] [stdout] 883 | let this: TInstance<'_, C, _> = TInstance::from_raw_unchecked(this, user_data); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `export::method::Varargs::<'a>::from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/method.rs:885:20 [INFO] [stdout] | [INFO] [stdout] 885 | let args = Varargs::from_sys(num_args, args); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/method.rs:903:10 [INFO] [stdout] | [INFO] [stdout] 903 | drop(Box::from_raw(method_data as *mut 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/export/method.rs:902:1 [INFO] [stdout] | [INFO] [stdout] 902 | unsafe extern "C" fn free_func(method_data: *mut libc::c_void) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:275:19 [INFO] [stdout] | [INFO] [stdout] 275 | lock: Arc::from_raw(ptr as *const Mutex), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/export/user_data.rs:273:5 [INFO] [stdout] | [INFO] [stdout] 273 | unsafe fn consume_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:282:24 [INFO] [stdout] | [INFO] [stdout] 282 | let borrowed = Arc::from_raw(ptr as *const Mutex); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/export/user_data.rs:281:5 [INFO] [stdout] | [INFO] [stdout] 281 | unsafe fn clone_from_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:376:19 [INFO] [stdout] | [INFO] [stdout] 376 | lock: Arc::from_raw(ptr as *const RwLock), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/export/user_data.rs:374:5 [INFO] [stdout] | [INFO] [stdout] 374 | unsafe fn consume_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:383:24 [INFO] [stdout] | [INFO] [stdout] 383 | let borrowed = Arc::from_raw(ptr as *const RwLock); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/export/user_data.rs:382:5 [INFO] [stdout] | [INFO] [stdout] 382 | unsafe fn clone_from_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:490:17 [INFO] [stdout] | [INFO] [stdout] 490 | ArcData(Arc::from_raw(ptr as *const T)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/export/user_data.rs:489:5 [INFO] [stdout] | [INFO] [stdout] 489 | unsafe fn consume_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:495:24 [INFO] [stdout] | [INFO] [stdout] 495 | let borrowed = Arc::from_raw(ptr as *const T); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/export/user_data.rs:494:5 [INFO] [stdout] | [INFO] [stdout] 494 | unsafe fn clone_from_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:657:20 [INFO] [stdout] | [INFO] [stdout] 657 | inner: Arc::from_raw(ptr as *const local_cell::LocalCell), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/export/user_data.rs:655:5 [INFO] [stdout] | [INFO] [stdout] 655 | unsafe fn consume_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:663:24 [INFO] [stdout] | [INFO] [stdout] 663 | let borrowed = Arc::from_raw(ptr as *const local_cell::LocalCell); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/export/user_data.rs:662:5 [INFO] [stdout] | [INFO] [stdout] 662 | unsafe fn clone_from_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:810:14 [INFO] [stdout] | [INFO] [stdout] 810 | Once(Arc::from_raw(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/export/user_data.rs:809:5 [INFO] [stdout] | [INFO] [stdout] 809 | unsafe fn consume_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:815:24 [INFO] [stdout] | [INFO] [stdout] 815 | let borrowed = Arc::from_raw(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/export/user_data.rs:814:5 [INFO] [stdout] | [INFO] [stdout] 814 | unsafe fn clone_from_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/init/info.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | } = *options; [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/init/info.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | pub unsafe fn new(options: *mut crate::sys::godot_gdnative_init_options) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/init/info.rs:40:63 [INFO] [stdout] | [INFO] [stdout] 40 | let active_library_path = GodotString::clone_from_sys(*active_library_path); [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/init/info.rs:86:74 [INFO] [stdout] | [INFO] [stdout] 86 | let crate::sys::godot_gdnative_terminate_options { in_editor } = *options; [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/init/info.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | pub unsafe fn new(options: *mut crate::sys::godot_gdnative_terminate_options) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::RawObject::::try_from_sys_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/init/init_handle.rs:163:39 [INFO] [stdout] | [INFO] [stdout] 163 | let owner = match RawObject::::try_from_sys_ref(this) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/init/init_handle.rs:145:17 [INFO] [stdout] | [INFO] [stdout] 145 | / unsafe extern "C" fn constructor( [INFO] [stdout] 146 | | this: *mut sys::godot_object, [INFO] [stdout] 147 | | _method_data: *mut libc::c_void, [INFO] [stdout] 148 | | ) -> *mut libc::c_void { [INFO] [stdout] | |______________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `export::user_data::UserData::consume_user_data_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/init/init_handle.rs:216:35 [INFO] [stdout] | [INFO] [stdout] 216 | let wrapper = C::UserData::consume_user_data_unchecked(user_data); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/init/init_handle.rs:203:17 [INFO] [stdout] | [INFO] [stdout] 203 | / unsafe extern "C" fn destructor( [INFO] [stdout] 204 | | _this: *mut sys::godot_object, [INFO] [stdout] 205 | | _method_data: *mut libc::c_void, [INFO] [stdout] 206 | | user_data: *mut libc::c_void, [INFO] [stdout] 207 | | ) { [INFO] [stdout] | |_________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::RawObject::::try_from_sys_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 58 | if RawObject::::try_from_sys_ref(ptr).is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/bounds.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | / unsafe fn impl_from_maybe_ref_counted>( [INFO] [stdout] 56 | | ptr: NonNull, [INFO] [stdout] 57 | | ) -> Option> { [INFO] [stdout] | |_______________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::init_from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:59:18 [INFO] [stdout] | [INFO] [stdout] 59 | drop(Ref::::init_from_sys(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 `object::Ref::::init_from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:62:23 [INFO] [stdout] | [INFO] [stdout] 62 | let obj = Ref::::init_from_sys(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 `object::Ref::::cast_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:65:22 [INFO] [stdout] | [INFO] [stdout] 65 | Some(obj.cast_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 `object::Ref::::is_instance_sane` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 78 | this.is_instance_sane(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/bounds.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | / unsafe fn impl_assume_safe<'a, T: GodotObject>( [INFO] [stdout] 75 | | this: &Ref, [INFO] [stdout] 76 | | ) -> TRef<'a, T, Shared> { [INFO] [stdout] | |____________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::assume_safe_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 81 | this.assume_safe_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 `object::Ref::::is_instance_sane` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | this.is_instance_sane(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/bounds.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | / unsafe fn impl_assume_unique>( [INFO] [stdout] 86 | | this: Ref, [INFO] [stdout] 87 | | ) -> Ref { [INFO] [stdout] | |_______________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::cast_access` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | this.cast_access() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `object::raw::RawObject::::try_from_sys_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 108 | if RawObject::::try_from_sys_ref(ptr).is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/bounds.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | / unsafe fn impl_from_maybe_ref_counted>( [INFO] [stdout] 106 | | ptr: NonNull, [INFO] [stdout] 107 | | ) -> Option> { [INFO] [stdout] | |_______________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::init_from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:109:23 [INFO] [stdout] | [INFO] [stdout] 109 | let obj = Ref::::init_from_sys(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 `object::Ref::::cast_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:112:22 [INFO] [stdout] | [INFO] [stdout] 112 | Some(obj.cast_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 `object::raw::RawObject::::free` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:117:13 [INFO] [stdout] | [INFO] [stdout] 117 | RawObject::::from_sys_ref_unchecked(ptr).free(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `object::raw::RawObject::::from_sys_ref_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:117:13 [INFO] [stdout] | [INFO] [stdout] 117 | RawObject::::from_sys_ref_unchecked(ptr).free(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `object::Ref::::assume_safe_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | this.assume_safe_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/object/bounds.rs:123:5 [INFO] [stdout] | [INFO] [stdout] 123 | / unsafe fn impl_assume_safe<'a, T: GodotObject>( [INFO] [stdout] 124 | | this: &Ref, [INFO] [stdout] 125 | | ) -> TRef<'a, T, Shared> { [INFO] [stdout] | |____________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::cast_access` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:133:9 [INFO] [stdout] | [INFO] [stdout] 133 | this.cast_access() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/bounds.rs:130:5 [INFO] [stdout] | [INFO] [stdout] 130 | / unsafe fn impl_assume_unique>( [INFO] [stdout] 131 | | this: Ref, [INFO] [stdout] 132 | | ) -> Ref { [INFO] [stdout] | |_______________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::RawObject::::init_ref_count` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:143:9 [INFO] [stdout] | [INFO] [stdout] 143 | raw.init_ref_count(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/bounds.rs:142:5 [INFO] [stdout] | [INFO] [stdout] 142 | unsafe fn maybe_init_ref>(raw: &RawObject) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `core_types::variant::Variant::from_object_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/as_arg.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | crate::core_types::Variant::from_object_ptr(self.as_arg_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/object/as_arg.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | unsafe fn to_arg_variant(&self) -> crate::core_types::Variant { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::assume_safe` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/instance.rs:334:20 [INFO] [stdout] | [INFO] [stdout] 334 | owner: self.owner.assume_safe(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/instance.rs:329:5 [INFO] [stdout] | [INFO] [stdout] 329 | / pub unsafe fn assume_safe<'a, 'r>(&'r self) -> TInstance<'a, T, Shared> [INFO] [stdout] 330 | | where [INFO] [stdout] 331 | | AssumeSafeLifetime<'a, 'r>: LifetimeConstraint<::Memory>, [INFO] [stdout] | |_________________________________________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::is_instance_sane` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/instance.rs:353:9 [INFO] [stdout] | [INFO] [stdout] 353 | self.owner.is_instance_sane() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/instance.rs:352:5 [INFO] [stdout] | [INFO] [stdout] 352 | pub unsafe fn is_instance_sane(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::assume_unique` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/instance.rs:423:20 [INFO] [stdout] | [INFO] [stdout] 423 | owner: self.owner.assume_unique(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/instance.rs:421:5 [INFO] [stdout] | [INFO] [stdout] 421 | pub unsafe fn assume_unique(self) -> Instance { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::assume_thread_local` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/instance.rs:445:20 [INFO] [stdout] | [INFO] [stdout] 445 | owner: self.owner.assume_thread_local(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/instance.rs:443:5 [INFO] [stdout] | [INFO] [stdout] 443 | pub unsafe fn assume_thread_local(self) -> Instance { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `export::user_data::UserData::clone_from_user_data_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/instance.rs:478:22 [INFO] [stdout] | [INFO] [stdout] 478 | let script = T::UserData::clone_from_user_data_unchecked(user_data); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/instance.rs:474:5 [INFO] [stdout] | [INFO] [stdout] 474 | / pub unsafe fn from_raw_unchecked( [INFO] [stdout] 475 | | owner: TRef<'a, T::Base, Own>, [INFO] [stdout] 476 | | user_data: *mut libc::c_void, [INFO] [stdout] 477 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/export/type_tag.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | *(&tag as *const Tag as *const *const libc::c_void) [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/export/type_tag.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | / pub(crate) unsafe fn create() -> *const libc::c_void [INFO] [stdout] 44 | | where [INFO] [stdout] 45 | | T: NativeClass, [INFO] [stdout] | |___________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/export/type_tag.rs:54:20 [INFO] [stdout] | [INFO] [stdout] 54 | let tags = TAGS.get_or_insert_with(IndexSet::default); [INFO] [stdout] | ^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/export/type_tag.rs:70:27 [INFO] [stdout] | [INFO] [stdout] 70 | Tag::of::() == *(&tag as *const *const libc::c_void as *const Tag) [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/export/type_tag.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | / pub(crate) unsafe fn check(tag: *const libc::c_void) -> bool [INFO] [stdout] 65 | | where [INFO] [stdout] 66 | | T: NativeClass, [INFO] [stdout] | |___________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/export/type_tag.rs:72:20 [INFO] [stdout] | [INFO] [stdout] 72 | let tags = TAGS.as_ref().expect("tag should be created by `create`"); [INFO] [stdout] | ^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/export/type_tag.rs:86:25 [INFO] [stdout] | [INFO] [stdout] 86 | if let Some(tags) = TAGS.take() { [INFO] [stdout] | ^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/export/type_tag.rs:84:1 [INFO] [stdout] | [INFO] [stdout] 84 | pub(crate) unsafe fn cleanup() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:31:10 [INFO] [stdout] | [INFO] [stdout] 31 | &*(obj.as_ptr() as *mut Self) [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/object/raw.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub unsafe fn from_sys_ref_unchecked<'a>(obj: NonNull) -> &'a Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::ptr_is_class` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 42 | if ptr_is_class(obj.as_ptr(), T::class_name()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/raw.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | pub unsafe fn try_from_sys_ref<'a>(obj: NonNull) -> Option<&'a Self> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::RawObject::::from_sys_ref_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:43:18 [INFO] [stdout] | [INFO] [stdout] 43 | Some(Self::from_sys_ref_unchecked(obj)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `object::raw::RawObject::::from_sys_ref_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:110:9 [INFO] [stdout] | [INFO] [stdout] 110 | RawObject::from_sys_ref_unchecked(self.sys()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/raw.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 106 | / pub unsafe fn cast_unchecked(&self) -> &RawObject [INFO] [stdout] 107 | | where [INFO] [stdout] 108 | | U: GodotObject, [INFO] [stdout] | |_______________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 120 | (get_api().godot_object_destroy)(self.sys().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/object/raw.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | pub unsafe fn free(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:275:19 [INFO] [stdout] | [INFO] [stdout] 275 | lock: Arc::from_raw(ptr as *const Mutex), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/export/user_data.rs:273:5 [INFO] [stdout] | [INFO] [stdout] 273 | unsafe fn consume_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:164:9 [INFO] [stdout] | [INFO] [stdout] 164 | / (api.godot_method_bind_ptrcall)( [INFO] [stdout] 165 | | unref_method, [INFO] [stdout] 166 | | self.sys().as_ptr(), [INFO] [stdout] 167 | | argument_buffer.as_mut_ptr() as *mut _, [INFO] [stdout] 168 | | ret_ptr as *mut _, [INFO] [stdout] 169 | | ); [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/raw.rs:157:5 [INFO] [stdout] | [INFO] [stdout] 157 | pub unsafe fn unref(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:282:24 [INFO] [stdout] | [INFO] [stdout] 282 | let borrowed = Arc::from_raw(ptr as *const Mutex); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/export/user_data.rs:281:5 [INFO] [stdout] | [INFO] [stdout] 281 | unsafe fn clone_from_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::RawObject::::unref` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:183:30 [INFO] [stdout] | [INFO] [stdout] 183 | let last_reference = self.unref(); [INFO] [stdout] | ^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/raw.rs:182:5 [INFO] [stdout] | [INFO] [stdout] 182 | pub unsafe fn unref_and_free_if_last(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::RawObject::::free` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:186:13 [INFO] [stdout] | [INFO] [stdout] 186 | self.free(); [INFO] [stdout] | ^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:207:9 [INFO] [stdout] | [INFO] [stdout] 207 | / (api.godot_method_bind_ptrcall)( [INFO] [stdout] 208 | | init_method, [INFO] [stdout] 209 | | obj, [INFO] [stdout] 210 | | argument_buffer.as_mut_ptr() as *mut _, [INFO] [stdout] 211 | | ret_ptr as *mut _, [INFO] [stdout] 212 | | ); [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/raw.rs:198:5 [INFO] [stdout] | [INFO] [stdout] 198 | pub unsafe fn init_ref_count(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:235:26 [INFO] [stdout] | [INFO] [stdout] 235 | let mut class_name = (api.godot_string_chars_to_utf8_with_len)( [INFO] [stdout] | __________________________^ [INFO] [stdout] 236 | | class_name.as_ptr() as *const _, [INFO] [stdout] 237 | | class_name.len() as _, [INFO] [stdout] 238 | | ); [INFO] [stdout] | |_____^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/raw.rs:231:1 [INFO] [stdout] | [INFO] [stdout] 231 | unsafe fn ptr_is_class(obj: *mut sys::godot_object, class_name: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:245:5 [INFO] [stdout] | [INFO] [stdout] 245 | / (api.godot_method_bind_ptrcall)( [INFO] [stdout] 246 | | method_bind, [INFO] [stdout] 247 | | obj, [INFO] [stdout] 248 | | argument_buffer.as_mut_ptr() as *mut _, [INFO] [stdout] 249 | | ret_ptr as *mut _, [INFO] [stdout] 250 | | ); [INFO] [stdout] | |_____^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:252:5 [INFO] [stdout] | [INFO] [stdout] 252 | (api.godot_string_destroy)(&mut class_name); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:376:19 [INFO] [stdout] | [INFO] [stdout] 376 | lock: Arc::from_raw(ptr as *const RwLock), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/export/user_data.rs:374:5 [INFO] [stdout] | [INFO] [stdout] 374 | unsafe fn consume_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:383:24 [INFO] [stdout] | [INFO] [stdout] 383 | let borrowed = Arc::from_raw(ptr as *const RwLock); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/export/user_data.rs:382:5 [INFO] [stdout] | [INFO] [stdout] 382 | unsafe fn clone_from_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:141:9 [INFO] [stdout] | [INFO] [stdout] 141 | Ref::from_sys(self.as_raw().sys()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:137:5 [INFO] [stdout] | [INFO] [stdout] 137 | / unsafe fn assume_shared(&self) -> Ref [INFO] [stdout] 138 | | where [INFO] [stdout] 139 | | Self: Sized, [INFO] [stdout] | |____________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:155:9 [INFO] [stdout] | [INFO] [stdout] 155 | Ref::from_sys(self.as_raw().sys()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:151:5 [INFO] [stdout] | [INFO] [stdout] 151 | / unsafe fn assume_thread_local(&self) -> Ref [INFO] [stdout] 152 | | where [INFO] [stdout] 153 | | Self: Sized + GodotObject, [INFO] [stdout] | |_______________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:172:9 [INFO] [stdout] | [INFO] [stdout] 172 | Ref::from_sys(self.as_raw().sys()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:168:5 [INFO] [stdout] | [INFO] [stdout] 168 | / unsafe fn assume_unique(&self) -> Ref [INFO] [stdout] 169 | | where [INFO] [stdout] 170 | | Self: Sized, [INFO] [stdout] | |____________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::TRef::<'a, T>::try_from_instance_id` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:184:9 [INFO] [stdout] | [INFO] [stdout] 184 | TRef::try_from_instance_id(id) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:183:5 [INFO] [stdout] | [INFO] [stdout] 183 | unsafe fn try_from_instance_id<'a>(id: i64) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::TRef::<'a, T>::from_instance_id` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:202:9 [INFO] [stdout] | [INFO] [stdout] 202 | TRef::from_instance_id(id) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:201:5 [INFO] [stdout] | [INFO] [stdout] 201 | unsafe fn from_instance_id<'a>(id: i64) -> TRef<'a, Self, Shared> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:490:17 [INFO] [stdout] | [INFO] [stdout] 490 | ArcData(Arc::from_raw(ptr as *const T)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/export/user_data.rs:489:5 [INFO] [stdout] | [INFO] [stdout] 489 | unsafe fn consume_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:495:24 [INFO] [stdout] | [INFO] [stdout] 495 | let borrowed = Arc::from_raw(ptr as *const T); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/export/user_data.rs:494:5 [INFO] [stdout] | [INFO] [stdout] 494 | unsafe fn clone_from_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::move_from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:484:19 [INFO] [stdout] | [INFO] [stdout] 484 | let ret = Ref::move_from_sys(self.ptr.as_non_null()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:480:5 [INFO] [stdout] | [INFO] [stdout] 480 | / unsafe fn cast_unchecked(self) -> Ref [INFO] [stdout] 481 | | where [INFO] [stdout] 482 | | U: GodotObject, [INFO] [stdout] | |___________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::bounds::MemorySpec::impl_assume_safe` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:555:9 [INFO] [stdout] | [INFO] [stdout] 555 | T::Memory::impl_assume_safe(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/object/mod.rs:551:5 [INFO] [stdout] | [INFO] [stdout] 551 | / pub unsafe fn assume_safe<'a, 'r>(&'r self) -> TRef<'a, T, Shared> [INFO] [stdout] 552 | | where [INFO] [stdout] 553 | | AssumeSafeLifetime<'a, 'r>: LifetimeConstraint, [INFO] [stdout] | |__________________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::bounds::MemorySpec::impl_assume_unique` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:570:9 [INFO] [stdout] | [INFO] [stdout] 570 | T::Memory::impl_assume_unique(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/object/mod.rs:569:5 [INFO] [stdout] | [INFO] [stdout] 569 | pub unsafe fn assume_unique(self) -> Ref { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:586:13 [INFO] [stdout] | [INFO] [stdout] 586 | if !(api.godot_is_instance_valid)(self.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/object/mod.rs:584:5 [INFO] [stdout] | [INFO] [stdout] 584 | pub unsafe fn is_instance_sane(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::as_raw_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:590:9 [INFO] [stdout] | [INFO] [stdout] 590 | self.as_raw_unchecked().is_class::() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `object::Ref::::is_instance_sane` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:602:12 [INFO] [stdout] | [INFO] [stdout] 602 | if self.is_instance_sane() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:601:5 [INFO] [stdout] | [INFO] [stdout] 601 | pub unsafe fn assume_safe_if_sane<'a>(&self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::assume_safe_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:603:18 [INFO] [stdout] | [INFO] [stdout] 603 | Some(self.assume_safe_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 `object::Ref::::is_instance_sane` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:619:12 [INFO] [stdout] | [INFO] [stdout] 619 | if self.is_instance_sane() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:618:5 [INFO] [stdout] | [INFO] [stdout] 618 | pub unsafe fn assume_unique_if_sane(self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::cast_access` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:620:18 [INFO] [stdout] | [INFO] [stdout] 620 | Some(self.cast_access()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `object::Ref::::cast_access` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:641:9 [INFO] [stdout] | [INFO] [stdout] 641 | self.cast_access() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:640:5 [INFO] [stdout] | [INFO] [stdout] 640 | pub unsafe fn assume_thread_local(self) -> Ref { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::RawObject::::from_sys_ref_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:769:9 [INFO] [stdout] | [INFO] [stdout] 769 | RawObject::from_sys_ref_unchecked(self.ptr.as_non_null()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:768:5 [INFO] [stdout] | [INFO] [stdout] 768 | pub unsafe fn as_raw_unchecked<'a>(&self) -> &'a RawObject { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:657:20 [INFO] [stdout] | [INFO] [stdout] 657 | inner: Arc::from_raw(ptr as *const local_cell::LocalCell), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/export/user_data.rs:655:5 [INFO] [stdout] | [INFO] [stdout] 655 | unsafe fn consume_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:663:24 [INFO] [stdout] | [INFO] [stdout] 663 | let borrowed = Arc::from_raw(ptr as *const local_cell::LocalCell); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/export/user_data.rs:662:5 [INFO] [stdout] | [INFO] [stdout] 662 | unsafe fn clone_from_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::move_from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:798:19 [INFO] [stdout] | [INFO] [stdout] 798 | let ret = Self::move_from_sys(obj); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:797:5 [INFO] [stdout] | [INFO] [stdout] 797 | pub unsafe fn from_sys(obj: NonNull) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::bounds::MemorySpec::maybe_add_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:799:9 [INFO] [stdout] | [INFO] [stdout] 799 | ::maybe_add_ref(ret.as_raw_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 `object::Ref::::as_raw_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:799:50 [INFO] [stdout] | [INFO] [stdout] 799 | ::maybe_add_ref(ret.as_raw_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 `object::Ref::::move_from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:812:19 [INFO] [stdout] | [INFO] [stdout] 812 | let ret = Self::move_from_sys(obj); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:811:5 [INFO] [stdout] | [INFO] [stdout] 811 | pub unsafe fn init_from_sys(obj: NonNull) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::bounds::MemorySpec::maybe_init_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:813:9 [INFO] [stdout] | [INFO] [stdout] 813 | ::maybe_init_ref(ret.as_raw_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 `object::Ref::::as_raw_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:813:51 [INFO] [stdout] | [INFO] [stdout] 813 | ::maybe_init_ref(ret.as_raw_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 `object::Ref::::move_from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:823:19 [INFO] [stdout] | [INFO] [stdout] 823 | let ret = Ref::move_from_sys(self.ptr.as_non_null()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:822:5 [INFO] [stdout] | [INFO] [stdout] 822 | unsafe fn cast_access(self) -> Ref { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::as_raw_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:839:31 [INFO] [stdout] | [INFO] [stdout] 839 | TRef::new(T::cast_ref(self.as_raw_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/object/mod.rs:838:5 [INFO] [stdout] | [INFO] [stdout] 838 | pub unsafe fn assume_safe_unchecked<'a>(&self) -> TRef<'a, T, Own> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:810:14 [INFO] [stdout] | [INFO] [stdout] 810 | Once(Arc::from_raw(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/export/user_data.rs:809:5 [INFO] [stdout] | [INFO] [stdout] 809 | unsafe fn consume_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/export/user_data.rs:815:24 [INFO] [stdout] | [INFO] [stdout] 815 | let borrowed = Arc::from_raw(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/export/user_data.rs:814:5 [INFO] [stdout] | [INFO] [stdout] 814 | unsafe fn clone_from_user_data_unchecked(ptr: *const libc::c_void) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:973:32 [INFO] [stdout] | [INFO] [stdout] 973 | let ptr = NonNull::new((api.godot_instance_from_id)(id as sys::godot_int))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:971:5 [INFO] [stdout] | [INFO] [stdout] 971 | pub unsafe fn try_from_instance_id(id: i64) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::RawObject::::try_from_sys_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:974:19 [INFO] [stdout] | [INFO] [stdout] 974 | let raw = RawObject::try_from_sys_ref(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 `object::TRef::<'a, T>::try_from_instance_id` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:993:9 [INFO] [stdout] | [INFO] [stdout] 993 | Self::try_from_instance_id(id).expect("instance should be alive") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:992:5 [INFO] [stdout] | [INFO] [stdout] 992 | pub unsafe fn from_instance_id(id: i64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ffi::CStr::from_bytes_with_nul_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/profiler.rs:52:19 [INFO] [stdout] | [INFO] [stdout] 52 | let sig = CStr::from_bytes_with_nul_unchecked(bytes); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/profiler.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | pub unsafe fn from_bytes_with_nul_unchecked(bytes: &'a [u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `private::check_api_compatibility` is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:19:23 [INFO] [stdout] | [INFO] [stdout] 19 | if let Err(err) = check_api_compatibility(options) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/private.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | pub unsafe fn bind_api(options: *mut sys::godot_gdnative_init_options) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `private::report_init_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | report_init_error(options, err); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `sys::GodotApi::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:24:21 [INFO] [stdout] | [INFO] [stdout] 24 | let api = match sys::GodotApi::from_raw((*options).api_struct) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/private.rs:24:45 [INFO] [stdout] | [INFO] [stdout] 24 | let api = match sys::GodotApi::from_raw((*options).api_struct) { [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 `private::report_init_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | report_init_error(options, e); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | GODOT_API = Some(api); [INFO] [stdout] | ^^^^^^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | GDNATIVE_LIBRARY_SYS = Some((*options).gd_native_library); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:33:33 [INFO] [stdout] | [INFO] [stdout] 33 | GDNATIVE_LIBRARY_SYS = Some((*options).gd_native_library); [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/init/info.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | } = *options; [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/init/info.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | pub unsafe fn new(options: *mut crate::sys::godot_gdnative_init_options) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/init/info.rs:40:63 [INFO] [stdout] | [INFO] [stdout] 40 | let active_library_path = GodotString::clone_from_sys(*active_library_path); [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/private.rs:46:38 [INFO] [stdout] | [INFO] [stdout] 46 | let mut api: *const api_struct = (*options).api_struct as *const api_struct; [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/private.rs:42:1 [INFO] [stdout] | [INFO] [stdout] 42 | / unsafe fn check_api_compatibility( [INFO] [stdout] 43 | | options: *const sys::godot_gdnative_init_options, [INFO] [stdout] 44 | | ) -> Result<(), sys::InitError> { [INFO] [stdout] | |_______________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | } = *api; [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/init/info.rs:86:74 [INFO] [stdout] | [INFO] [stdout] 86 | let crate::sys::godot_gdnative_terminate_options { in_editor } = *options; [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/init/info.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | pub unsafe fn new(options: *mut crate::sys::godot_gdnative_terminate_options) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `export::type_tag::cleanup` is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:153:5 [INFO] [stdout] | [INFO] [stdout] 153 | crate::export::type_tag::cleanup(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/private.rs:152:1 [INFO] [stdout] | [INFO] [stdout] 152 | pub unsafe fn cleanup_internal_state() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:156:5 [INFO] [stdout] | [INFO] [stdout] 156 | GODOT_API = None; [INFO] [stdout] | ^^^^^^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:171:30 [INFO] [stdout] | [INFO] [stdout] 171 | if let Some(f) = (*options).report_version_mismatch { [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/private.rs:161:1 [INFO] [stdout] | [INFO] [stdout] 161 | / unsafe fn report_init_error( [INFO] [stdout] 162 | | options: *const sys::godot_gdnative_init_options, [INFO] [stdout] 163 | | error: sys::InitError, [INFO] [stdout] 164 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:173:17 [INFO] [stdout] | [INFO] [stdout] 173 | f((*options).gd_native_library, message.as_ptr(), want, got); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/private.rs:173:19 [INFO] [stdout] | [INFO] [stdout] 173 | f((*options).gd_native_library, message.as_ptr(), want, got); [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/private.rs:177:30 [INFO] [stdout] | [INFO] [stdout] 177 | if let Some(f) = (*options).report_loading_error { [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 is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:179:17 [INFO] [stdout] | [INFO] [stdout] 179 | f((*options).gd_native_library, message.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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:179:19 [INFO] [stdout] | [INFO] [stdout] 179 | f((*options).gd_native_library, message.as_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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::RawObject::::try_from_sys_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/init/init_handle.rs:163:39 [INFO] [stdout] | [INFO] [stdout] 163 | let owner = match RawObject::::try_from_sys_ref(this) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/init/init_handle.rs:145:17 [INFO] [stdout] | [INFO] [stdout] 145 | / unsafe extern "C" fn constructor( [INFO] [stdout] 146 | | this: *mut sys::godot_object, [INFO] [stdout] 147 | | _method_data: *mut libc::c_void, [INFO] [stdout] 148 | | ) -> *mut libc::c_void { [INFO] [stdout] | |______________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:277:22 [INFO] [stdout] | [INFO] [stdout] 277 | &mut TABLE [INFO] [stdout] | ^^^^^ use of mutable static [INFO] [stdout] ... [INFO] [stdout] 305 | / make_method_table!(struct ObjectMethodTable for Object { [INFO] [stdout] 306 | | get_class, [INFO] [stdout] 307 | | is_class, [INFO] [stdout] 308 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/private.rs:272:13 [INFO] [stdout] | [INFO] [stdout] 272 | unsafe fn get_mut() -> &'static mut Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | / make_method_table!(struct ObjectMethodTable for Object { [INFO] [stdout] 306 | | get_class, [INFO] [stdout] 307 | | is_class, [INFO] [stdout] 308 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `make_method_table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:277:22 [INFO] [stdout] | [INFO] [stdout] 277 | &mut TABLE [INFO] [stdout] | ^^^^^ use of mutable static [INFO] [stdout] ... [INFO] [stdout] 310 | / make_method_table!(struct ReferenceMethodTable for Reference { [INFO] [stdout] 311 | | reference, [INFO] [stdout] 312 | | unreference, [INFO] [stdout] 313 | | init_ref, [INFO] [stdout] 314 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/private.rs:272:13 [INFO] [stdout] | [INFO] [stdout] 272 | unsafe fn get_mut() -> &'static mut Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 310 | / make_method_table!(struct ReferenceMethodTable for Reference { [INFO] [stdout] 311 | | reference, [INFO] [stdout] 312 | | unreference, [INFO] [stdout] 313 | | init_ref, [INFO] [stdout] 314 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `make_method_table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:277:22 [INFO] [stdout] | [INFO] [stdout] 277 | &mut TABLE [INFO] [stdout] | ^^^^^ use of mutable static [INFO] [stdout] ... [INFO] [stdout] 318 | / make_method_table!(struct NativeScriptMethodTable for NativeScript { [INFO] [stdout] 319 | | set_class_name, [INFO] [stdout] 320 | | set_library, [INFO] [stdout] 321 | | new, [INFO] [stdout] 322 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/private.rs:272:13 [INFO] [stdout] | [INFO] [stdout] 272 | unsafe fn get_mut() -> &'static mut Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 318 | / make_method_table!(struct NativeScriptMethodTable for NativeScript { [INFO] [stdout] 319 | | set_class_name, [INFO] [stdout] 320 | | set_library, [INFO] [stdout] 321 | | new, [INFO] [stdout] 322 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `make_method_table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `export::user_data::UserData::consume_user_data_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/init/init_handle.rs:216:35 [INFO] [stdout] | [INFO] [stdout] 216 | let wrapper = C::UserData::consume_user_data_unchecked(user_data); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/init/init_handle.rs:203:17 [INFO] [stdout] | [INFO] [stdout] 203 | / unsafe extern "C" fn destructor( [INFO] [stdout] 204 | | _this: *mut sys::godot_object, [INFO] [stdout] 205 | | _method_data: *mut libc::c_void, [INFO] [stdout] 206 | | user_data: *mut libc::c_void, [INFO] [stdout] 207 | | ) { [INFO] [stdout] | |_________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::RawObject::::try_from_sys_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 58 | if RawObject::::try_from_sys_ref(ptr).is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/bounds.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | / unsafe fn impl_from_maybe_ref_counted>( [INFO] [stdout] 56 | | ptr: NonNull, [INFO] [stdout] 57 | | ) -> Option> { [INFO] [stdout] | |_______________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::init_from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:59:18 [INFO] [stdout] | [INFO] [stdout] 59 | drop(Ref::::init_from_sys(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 `object::Ref::::init_from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:62:23 [INFO] [stdout] | [INFO] [stdout] 62 | let obj = Ref::::init_from_sys(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 `object::Ref::::cast_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:65:22 [INFO] [stdout] | [INFO] [stdout] 65 | Some(obj.cast_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 `object::Ref::::is_instance_sane` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 78 | this.is_instance_sane(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/bounds.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | / unsafe fn impl_assume_safe<'a, T: GodotObject>( [INFO] [stdout] 75 | | this: &Ref, [INFO] [stdout] 76 | | ) -> TRef<'a, T, Shared> { [INFO] [stdout] | |____________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::assume_safe_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 81 | this.assume_safe_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 `object::Ref::::is_instance_sane` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | this.is_instance_sane(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/bounds.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | / unsafe fn impl_assume_unique>( [INFO] [stdout] 86 | | this: Ref, [INFO] [stdout] 87 | | ) -> Ref { [INFO] [stdout] | |_______________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::cast_access` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | this.cast_access() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `object::raw::RawObject::::try_from_sys_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 108 | if RawObject::::try_from_sys_ref(ptr).is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/bounds.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | / unsafe fn impl_from_maybe_ref_counted>( [INFO] [stdout] 106 | | ptr: NonNull, [INFO] [stdout] 107 | | ) -> Option> { [INFO] [stdout] | |_______________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::init_from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:109:23 [INFO] [stdout] | [INFO] [stdout] 109 | let obj = Ref::::init_from_sys(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 `object::Ref::::cast_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:112:22 [INFO] [stdout] | [INFO] [stdout] 112 | Some(obj.cast_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 `object::raw::RawObject::::free` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:117:13 [INFO] [stdout] | [INFO] [stdout] 117 | RawObject::::from_sys_ref_unchecked(ptr).free(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `object::raw::RawObject::::from_sys_ref_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:117:13 [INFO] [stdout] | [INFO] [stdout] 117 | RawObject::::from_sys_ref_unchecked(ptr).free(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `object::Ref::::assume_safe_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | this.assume_safe_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/object/bounds.rs:123:5 [INFO] [stdout] | [INFO] [stdout] 123 | / unsafe fn impl_assume_safe<'a, T: GodotObject>( [INFO] [stdout] 124 | | this: &Ref, [INFO] [stdout] 125 | | ) -> TRef<'a, T, Shared> { [INFO] [stdout] | |____________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::cast_access` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:133:9 [INFO] [stdout] | [INFO] [stdout] 133 | this.cast_access() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/bounds.rs:130:5 [INFO] [stdout] | [INFO] [stdout] 130 | / unsafe fn impl_assume_unique>( [INFO] [stdout] 131 | | this: Ref, [INFO] [stdout] 132 | | ) -> Ref { [INFO] [stdout] | |_______________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::RawObject::::init_ref_count` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/bounds.rs:143:9 [INFO] [stdout] | [INFO] [stdout] 143 | raw.init_ref_count(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/bounds.rs:142:5 [INFO] [stdout] | [INFO] [stdout] 142 | unsafe fn maybe_init_ref>(raw: &RawObject) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `core_types::variant::Variant::from_object_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/as_arg.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | crate::core_types::Variant::from_object_ptr(self.as_arg_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/object/as_arg.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | unsafe fn to_arg_variant(&self) -> crate::core_types::Variant { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors; 133 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0133, E0796. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::assume_safe` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/instance.rs:334:20 [INFO] [stdout] | [INFO] [stdout] 334 | owner: self.owner.assume_safe(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/instance.rs:329:5 [INFO] [stdout] | [INFO] [stdout] 329 | / pub unsafe fn assume_safe<'a, 'r>(&'r self) -> TInstance<'a, T, Shared> [INFO] [stdout] 330 | | where [INFO] [stdout] 331 | | AssumeSafeLifetime<'a, 'r>: LifetimeConstraint<::Memory>, [INFO] [stdout] | |_________________________________________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::is_instance_sane` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/instance.rs:353:9 [INFO] [stdout] | [INFO] [stdout] 353 | self.owner.is_instance_sane() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/instance.rs:352:5 [INFO] [stdout] | [INFO] [stdout] 352 | pub unsafe fn is_instance_sane(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::assume_unique` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/instance.rs:423:20 [INFO] [stdout] | [INFO] [stdout] 423 | owner: self.owner.assume_unique(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/instance.rs:421:5 [INFO] [stdout] | [INFO] [stdout] 421 | pub unsafe fn assume_unique(self) -> Instance { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::assume_thread_local` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/instance.rs:445:20 [INFO] [stdout] | [INFO] [stdout] 445 | owner: self.owner.assume_thread_local(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/instance.rs:443:5 [INFO] [stdout] | [INFO] [stdout] 443 | pub unsafe fn assume_thread_local(self) -> Instance { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `export::user_data::UserData::clone_from_user_data_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/instance.rs:478:22 [INFO] [stdout] | [INFO] [stdout] 478 | let script = T::UserData::clone_from_user_data_unchecked(user_data); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/instance.rs:474:5 [INFO] [stdout] | [INFO] [stdout] 474 | / pub unsafe fn from_raw_unchecked( [INFO] [stdout] 475 | | owner: TRef<'a, T::Base, Own>, [INFO] [stdout] 476 | | user_data: *mut libc::c_void, [INFO] [stdout] 477 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:31:10 [INFO] [stdout] | [INFO] [stdout] 31 | &*(obj.as_ptr() as *mut Self) [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/object/raw.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub unsafe fn from_sys_ref_unchecked<'a>(obj: NonNull) -> &'a Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::ptr_is_class` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 42 | if ptr_is_class(obj.as_ptr(), T::class_name()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/raw.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | pub unsafe fn try_from_sys_ref<'a>(obj: NonNull) -> Option<&'a Self> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::RawObject::::from_sys_ref_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:43:18 [INFO] [stdout] | [INFO] [stdout] 43 | Some(Self::from_sys_ref_unchecked(obj)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `object::raw::RawObject::::from_sys_ref_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:110:9 [INFO] [stdout] | [INFO] [stdout] 110 | RawObject::from_sys_ref_unchecked(self.sys()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/raw.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 106 | / pub unsafe fn cast_unchecked(&self) -> &RawObject [INFO] [stdout] 107 | | where [INFO] [stdout] 108 | | U: GodotObject, [INFO] [stdout] | |_______________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 120 | (get_api().godot_object_destroy)(self.sys().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/object/raw.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | pub unsafe fn free(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:164:9 [INFO] [stdout] | [INFO] [stdout] 164 | / (api.godot_method_bind_ptrcall)( [INFO] [stdout] 165 | | unref_method, [INFO] [stdout] 166 | | self.sys().as_ptr(), [INFO] [stdout] 167 | | argument_buffer.as_mut_ptr() as *mut _, [INFO] [stdout] 168 | | ret_ptr as *mut _, [INFO] [stdout] 169 | | ); [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/raw.rs:157:5 [INFO] [stdout] | [INFO] [stdout] 157 | pub unsafe fn unref(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::RawObject::::unref` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:183:30 [INFO] [stdout] | [INFO] [stdout] 183 | let last_reference = self.unref(); [INFO] [stdout] | ^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/raw.rs:182:5 [INFO] [stdout] | [INFO] [stdout] 182 | pub unsafe fn unref_and_free_if_last(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::RawObject::::free` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:186:13 [INFO] [stdout] | [INFO] [stdout] 186 | self.free(); [INFO] [stdout] | ^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:207:9 [INFO] [stdout] | [INFO] [stdout] 207 | / (api.godot_method_bind_ptrcall)( [INFO] [stdout] 208 | | init_method, [INFO] [stdout] 209 | | obj, [INFO] [stdout] 210 | | argument_buffer.as_mut_ptr() as *mut _, [INFO] [stdout] 211 | | ret_ptr as *mut _, [INFO] [stdout] 212 | | ); [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/raw.rs:198:5 [INFO] [stdout] | [INFO] [stdout] 198 | pub unsafe fn init_ref_count(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:235:26 [INFO] [stdout] | [INFO] [stdout] 235 | let mut class_name = (api.godot_string_chars_to_utf8_with_len)( [INFO] [stdout] | __________________________^ [INFO] [stdout] 236 | | class_name.as_ptr() as *const _, [INFO] [stdout] 237 | | class_name.len() as _, [INFO] [stdout] 238 | | ); [INFO] [stdout] | |_____^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/raw.rs:231:1 [INFO] [stdout] | [INFO] [stdout] 231 | unsafe fn ptr_is_class(obj: *mut sys::godot_object, class_name: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:245:5 [INFO] [stdout] | [INFO] [stdout] 245 | / (api.godot_method_bind_ptrcall)( [INFO] [stdout] 246 | | method_bind, [INFO] [stdout] 247 | | obj, [INFO] [stdout] 248 | | argument_buffer.as_mut_ptr() as *mut _, [INFO] [stdout] 249 | | ret_ptr as *mut _, [INFO] [stdout] 250 | | ); [INFO] [stdout] | |_____^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 is unsafe and requires unsafe block [INFO] [stdout] --> src/object/raw.rs:252:5 [INFO] [stdout] | [INFO] [stdout] 252 | (api.godot_string_destroy)(&mut class_name); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `object::Ref::::from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:141:9 [INFO] [stdout] | [INFO] [stdout] 141 | Ref::from_sys(self.as_raw().sys()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:137:5 [INFO] [stdout] | [INFO] [stdout] 137 | / unsafe fn assume_shared(&self) -> Ref [INFO] [stdout] 138 | | where [INFO] [stdout] 139 | | Self: Sized, [INFO] [stdout] | |____________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:155:9 [INFO] [stdout] | [INFO] [stdout] 155 | Ref::from_sys(self.as_raw().sys()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:151:5 [INFO] [stdout] | [INFO] [stdout] 151 | / unsafe fn assume_thread_local(&self) -> Ref [INFO] [stdout] 152 | | where [INFO] [stdout] 153 | | Self: Sized + GodotObject, [INFO] [stdout] | |_______________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:172:9 [INFO] [stdout] | [INFO] [stdout] 172 | Ref::from_sys(self.as_raw().sys()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:168:5 [INFO] [stdout] | [INFO] [stdout] 168 | / unsafe fn assume_unique(&self) -> Ref [INFO] [stdout] 169 | | where [INFO] [stdout] 170 | | Self: Sized, [INFO] [stdout] | |____________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `gdnative-core` (lib) due to 4 previous errors; 133 warnings emitted [INFO] [stdout] warning[E0133]: call to unsafe function `object::TRef::<'a, T>::try_from_instance_id` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:184:9 [INFO] [stdout] | [INFO] [stdout] 184 | TRef::try_from_instance_id(id) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:183:5 [INFO] [stdout] | [INFO] [stdout] 183 | unsafe fn try_from_instance_id<'a>(id: i64) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning[E0133]: call to unsafe function `object::TRef::<'a, T>::from_instance_id` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:202:9 [INFO] [stdout] | [INFO] [stdout] 202 | TRef::from_instance_id(id) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:201:5 [INFO] [stdout] | [INFO] [stdout] 201 | unsafe fn from_instance_id<'a>(id: i64) -> TRef<'a, Self, Shared> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::move_from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:484:19 [INFO] [stdout] | [INFO] [stdout] 484 | let ret = Ref::move_from_sys(self.ptr.as_non_null()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:480:5 [INFO] [stdout] | [INFO] [stdout] 480 | / unsafe fn cast_unchecked(self) -> Ref [INFO] [stdout] 481 | | where [INFO] [stdout] 482 | | U: GodotObject, [INFO] [stdout] | |___________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::bounds::MemorySpec::impl_assume_safe` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:555:9 [INFO] [stdout] | [INFO] [stdout] 555 | T::Memory::impl_assume_safe(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/object/mod.rs:551:5 [INFO] [stdout] | [INFO] [stdout] 551 | / pub unsafe fn assume_safe<'a, 'r>(&'r self) -> TRef<'a, T, Shared> [INFO] [stdout] 552 | | where [INFO] [stdout] 553 | | AssumeSafeLifetime<'a, 'r>: LifetimeConstraint, [INFO] [stdout] | |__________________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::bounds::MemorySpec::impl_assume_unique` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:570:9 [INFO] [stdout] | [INFO] [stdout] 570 | T::Memory::impl_assume_unique(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/object/mod.rs:569:5 [INFO] [stdout] | [INFO] [stdout] 569 | pub unsafe fn assume_unique(self) -> Ref { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:586:13 [INFO] [stdout] | [INFO] [stdout] 586 | if !(api.godot_is_instance_valid)(self.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/object/mod.rs:584:5 [INFO] [stdout] | [INFO] [stdout] 584 | pub unsafe fn is_instance_sane(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::as_raw_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:590:9 [INFO] [stdout] | [INFO] [stdout] 590 | self.as_raw_unchecked().is_class::() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `object::Ref::::is_instance_sane` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:602:12 [INFO] [stdout] | [INFO] [stdout] 602 | if self.is_instance_sane() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:601:5 [INFO] [stdout] | [INFO] [stdout] 601 | pub unsafe fn assume_safe_if_sane<'a>(&self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::assume_safe_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:603:18 [INFO] [stdout] | [INFO] [stdout] 603 | Some(self.assume_safe_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 `object::Ref::::is_instance_sane` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:619:12 [INFO] [stdout] | [INFO] [stdout] 619 | if self.is_instance_sane() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:618:5 [INFO] [stdout] | [INFO] [stdout] 618 | pub unsafe fn assume_unique_if_sane(self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::cast_access` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:620:18 [INFO] [stdout] | [INFO] [stdout] 620 | Some(self.cast_access()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `object::Ref::::cast_access` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:641:9 [INFO] [stdout] | [INFO] [stdout] 641 | self.cast_access() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:640:5 [INFO] [stdout] | [INFO] [stdout] 640 | pub unsafe fn assume_thread_local(self) -> Ref { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::RawObject::::from_sys_ref_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:769:9 [INFO] [stdout] | [INFO] [stdout] 769 | RawObject::from_sys_ref_unchecked(self.ptr.as_non_null()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:768:5 [INFO] [stdout] | [INFO] [stdout] 768 | pub unsafe fn as_raw_unchecked<'a>(&self) -> &'a RawObject { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::move_from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:798:19 [INFO] [stdout] | [INFO] [stdout] 798 | let ret = Self::move_from_sys(obj); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:797:5 [INFO] [stdout] | [INFO] [stdout] 797 | pub unsafe fn from_sys(obj: NonNull) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::bounds::MemorySpec::maybe_add_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:799:9 [INFO] [stdout] | [INFO] [stdout] 799 | ::maybe_add_ref(ret.as_raw_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 `object::Ref::::as_raw_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:799:50 [INFO] [stdout] | [INFO] [stdout] 799 | ::maybe_add_ref(ret.as_raw_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 `object::Ref::::move_from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:812:19 [INFO] [stdout] | [INFO] [stdout] 812 | let ret = Self::move_from_sys(obj); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:811:5 [INFO] [stdout] | [INFO] [stdout] 811 | pub unsafe fn init_from_sys(obj: NonNull) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::bounds::MemorySpec::maybe_init_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:813:9 [INFO] [stdout] | [INFO] [stdout] 813 | ::maybe_init_ref(ret.as_raw_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 `object::Ref::::as_raw_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:813:51 [INFO] [stdout] | [INFO] [stdout] 813 | ::maybe_init_ref(ret.as_raw_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 `object::Ref::::move_from_sys` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:823:19 [INFO] [stdout] | [INFO] [stdout] 823 | let ret = Ref::move_from_sys(self.ptr.as_non_null()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:822:5 [INFO] [stdout] | [INFO] [stdout] 822 | unsafe fn cast_access(self) -> Ref { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::Ref::::as_raw_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:839:31 [INFO] [stdout] | [INFO] [stdout] 839 | TRef::new(T::cast_ref(self.as_raw_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/object/mod.rs:838:5 [INFO] [stdout] | [INFO] [stdout] 838 | pub unsafe fn assume_safe_unchecked<'a>(&self) -> TRef<'a, T, Own> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:973:32 [INFO] [stdout] | [INFO] [stdout] 973 | let ptr = NonNull::new((api.godot_instance_from_id)(id as sys::godot_int))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:971:5 [INFO] [stdout] | [INFO] [stdout] 971 | pub unsafe fn try_from_instance_id(id: i64) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `object::raw::RawObject::::try_from_sys_ref` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:974:19 [INFO] [stdout] | [INFO] [stdout] 974 | let raw = RawObject::try_from_sys_ref(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 `object::TRef::<'a, T>::try_from_instance_id` is unsafe and requires unsafe block [INFO] [stdout] --> src/object/mod.rs:993:9 [INFO] [stdout] | [INFO] [stdout] 993 | Self::try_from_instance_id(id).expect("instance should be alive") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/object/mod.rs:992:5 [INFO] [stdout] | [INFO] [stdout] 992 | pub unsafe fn from_instance_id(id: i64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ffi::CStr::from_bytes_with_nul_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/profiler.rs:52:19 [INFO] [stdout] | [INFO] [stdout] 52 | let sig = CStr::from_bytes_with_nul_unchecked(bytes); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/profiler.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | pub unsafe fn from_bytes_with_nul_unchecked(bytes: &'a [u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `private::check_api_compatibility` is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:19:23 [INFO] [stdout] | [INFO] [stdout] 19 | if let Err(err) = check_api_compatibility(options) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/private.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | pub unsafe fn bind_api(options: *mut sys::godot_gdnative_init_options) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `private::report_init_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | report_init_error(options, err); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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 `sys::GodotApi::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:24:21 [INFO] [stdout] | [INFO] [stdout] 24 | let api = match sys::GodotApi::from_raw((*options).api_struct) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/private.rs:24:45 [INFO] [stdout] | [INFO] [stdout] 24 | let api = match sys::GodotApi::from_raw((*options).api_struct) { [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 `private::report_init_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | report_init_error(options, e); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | GODOT_API = Some(api); [INFO] [stdout] | ^^^^^^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | GDNATIVE_LIBRARY_SYS = Some((*options).gd_native_library); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:33:33 [INFO] [stdout] | [INFO] [stdout] 33 | GDNATIVE_LIBRARY_SYS = Some((*options).gd_native_library); [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/private.rs:46:38 [INFO] [stdout] | [INFO] [stdout] 46 | let mut api: *const api_struct = (*options).api_struct as *const api_struct; [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/private.rs:42:1 [INFO] [stdout] | [INFO] [stdout] 42 | / unsafe fn check_api_compatibility( [INFO] [stdout] 43 | | options: *const sys::godot_gdnative_init_options, [INFO] [stdout] 44 | | ) -> Result<(), sys::InitError> { [INFO] [stdout] | |_______________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | } = *api; [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 `export::type_tag::cleanup` is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:153:5 [INFO] [stdout] | [INFO] [stdout] 153 | crate::export::type_tag::cleanup(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/private.rs:152:1 [INFO] [stdout] | [INFO] [stdout] 152 | pub unsafe fn cleanup_internal_state() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:156:5 [INFO] [stdout] | [INFO] [stdout] 156 | GODOT_API = None; [INFO] [stdout] | ^^^^^^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:171:30 [INFO] [stdout] | [INFO] [stdout] 171 | if let Some(f) = (*options).report_version_mismatch { [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/private.rs:161:1 [INFO] [stdout] | [INFO] [stdout] 161 | / unsafe fn report_init_error( [INFO] [stdout] 162 | | options: *const sys::godot_gdnative_init_options, [INFO] [stdout] 163 | | error: sys::InitError, [INFO] [stdout] 164 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:173:17 [INFO] [stdout] | [INFO] [stdout] 173 | f((*options).gd_native_library, message.as_ptr(), want, got); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: 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/private.rs:173:19 [INFO] [stdout] | [INFO] [stdout] 173 | f((*options).gd_native_library, message.as_ptr(), want, got); [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/private.rs:177:30 [INFO] [stdout] | [INFO] [stdout] 177 | if let Some(f) = (*options).report_loading_error { [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 is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:179:17 [INFO] [stdout] | [INFO] [stdout] 179 | f((*options).gd_native_library, message.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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:179:19 [INFO] [stdout] | [INFO] [stdout] 179 | f((*options).gd_native_library, message.as_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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:277:22 [INFO] [stdout] | [INFO] [stdout] 277 | &mut TABLE [INFO] [stdout] | ^^^^^ use of mutable static [INFO] [stdout] ... [INFO] [stdout] 305 | / make_method_table!(struct ObjectMethodTable for Object { [INFO] [stdout] 306 | | get_class, [INFO] [stdout] 307 | | is_class, [INFO] [stdout] 308 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/private.rs:272:13 [INFO] [stdout] | [INFO] [stdout] 272 | unsafe fn get_mut() -> &'static mut Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | / make_method_table!(struct ObjectMethodTable for Object { [INFO] [stdout] 306 | | get_class, [INFO] [stdout] 307 | | is_class, [INFO] [stdout] 308 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `make_method_table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:277:22 [INFO] [stdout] | [INFO] [stdout] 277 | &mut TABLE [INFO] [stdout] | ^^^^^ use of mutable static [INFO] [stdout] ... [INFO] [stdout] 310 | / make_method_table!(struct ReferenceMethodTable for Reference { [INFO] [stdout] 311 | | reference, [INFO] [stdout] 312 | | unreference, [INFO] [stdout] 313 | | init_ref, [INFO] [stdout] 314 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/private.rs:272:13 [INFO] [stdout] | [INFO] [stdout] 272 | unsafe fn get_mut() -> &'static mut Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 310 | / make_method_table!(struct ReferenceMethodTable for Reference { [INFO] [stdout] 311 | | reference, [INFO] [stdout] 312 | | unreference, [INFO] [stdout] 313 | | init_ref, [INFO] [stdout] 314 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `make_method_table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/private.rs:277:22 [INFO] [stdout] | [INFO] [stdout] 277 | &mut TABLE [INFO] [stdout] | ^^^^^ use of mutable static [INFO] [stdout] ... [INFO] [stdout] 318 | / make_method_table!(struct NativeScriptMethodTable for NativeScript { [INFO] [stdout] 319 | | set_class_name, [INFO] [stdout] 320 | | set_library, [INFO] [stdout] 321 | | new, [INFO] [stdout] 322 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/private.rs:272:13 [INFO] [stdout] | [INFO] [stdout] 272 | unsafe fn get_mut() -> &'static mut Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 318 | / make_method_table!(struct NativeScriptMethodTable for NativeScript { [INFO] [stdout] 319 | | set_class_name, [INFO] [stdout] 320 | | set_library, [INFO] [stdout] 321 | | new, [INFO] [stdout] 322 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `make_method_table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors; 133 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0133, E0796. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `gdnative-core` (lib test) due to 4 previous errors; 133 warnings emitted [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "a30608c382fe0495be788c707a9d02da8b9956100c94a68ac5918a6268c9373d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a30608c382fe0495be788c707a9d02da8b9956100c94a68ac5918a6268c9373d", kill_on_drop: false }` [INFO] [stdout] a30608c382fe0495be788c707a9d02da8b9956100c94a68ac5918a6268c9373d