From 64c2e627d4308a0071a2f7e49ed0ce1a0a5f8b20 Mon Sep 17 00:00:00 2001 From: Arthur Brussee Date: Tue, 15 Jul 2025 00:19:32 +0100 Subject: [PATCH] Workaround a crash in macOS tahoe 26 / xcode 16.4+ --- Cargo.toml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Cargo.toml b/Cargo.toml index f047040bdc..7df60b5af4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4361,6 +4361,17 @@ inherits = "release" lto = "fat" panic = "abort" +# NOTE: This is a temporary workaround for macOS tahoe, and xcode 16.4+. +# Some requirement for FFI has changed, and macOS crashes because of a +# sign mismatch ("expected return to have type code 'q', but found 'Q'") +# This workaround disables the problematic check entirely. +# objc2 0.6+ has a better workaround that only disables sign conversion +# checks, see https://github.com/madsmtm/objc2/issues/765#issuecomment-2996136843, +# and new winit versions are enabling this by default: https://github.com/madsmtm/objc2/issues/765. +# When that has landed and Bevy has updated to a new winit version this workaround should be removed. +[profile.dev.package.objc2] +debug-assertions = false + [package.metadata.docs.rs] # This cfg is needed so that #[doc(fake_variadic)] is correctly propagated for # impls for re-exported traits. See https://github.com/rust-lang/cargo/issues/8811