This is an automated email from the ASF dual-hosted git repository. acassis pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx-apps.git
commit b5d151f73ffe0897011b299772705653827650ff Author: Huang Qi <[email protected]> AuthorDate: Tue Mar 10 09:45:33 2026 +0800 cmake/tools: Fix panic_immediate_abort deprecation in Rust build Replace deprecated -Zbuild-std-features=panic_immediate_abort with -Cpanic=immediate-abort compiler flag via RUSTFLAGS. The panic_immediate_abort feature has been stabilized as a real panic strategy in recent Rust nightly versions. The old method of enabling it via -Zbuild-std-features is no longer supported and triggers a compile error in core/src/panicking.rs. Changes: * cmake/nuttx_add_rust.cmake: Use RUSTFLAGS with -Cpanic=immediate-abort * tools/Rust.mk: Use RUSTFLAGS with -Cpanic=immediate-abort Signed-off-by: Huang Qi <[email protected]> --- cmake/nuttx_add_rust.cmake | 10 +++++----- tools/Rust.mk | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/cmake/nuttx_add_rust.cmake b/cmake/nuttx_add_rust.cmake index 97ecdcec7..d50482ef7 100644 --- a/cmake/nuttx_add_rust.cmake +++ b/cmake/nuttx_add_rust.cmake @@ -128,10 +128,10 @@ function(nuttx_add_rust) # Determine build profile based on CONFIG_DEBUG_FULLOPT if(CONFIG_DEBUG_FULLOPT) set(RUST_PROFILE "release") - set(RUST_DEBUG_FLAGS "-Zbuild-std-features=panic_immediate_abort") + set(RUST_PANIC_FLAGS "-Zunstable-options -Cpanic=immediate-abort") else() set(RUST_PROFILE "debug") - set(RUST_DEBUG_FLAGS "") + set(RUST_PANIC_FLAGS "") endif() # Get the Rust target triple @@ -152,9 +152,9 @@ function(nuttx_add_rust) COMMAND ${CMAKE_COMMAND} -E env NUTTX_INCLUDE_DIR=${PROJECT_SOURCE_DIR}/include:${CMAKE_BINARY_DIR}/include:${CMAKE_BINARY_DIR}/include/arch - cargo build --${RUST_PROFILE} -Zbuild-std=std,panic_abort - ${RUST_DEBUG_FLAGS} --manifest-path ${CRATE_PATH}/Cargo.toml --target - ${RUST_TARGET} --target-dir ${RUST_BUILD_DIR} + RUSTFLAGS=${RUST_PANIC_FLAGS} cargo build --${RUST_PROFILE} + -Zbuild-std=std,panic_abort --manifest-path ${CRATE_PATH}/Cargo.toml + --target ${RUST_TARGET} --target-dir ${RUST_BUILD_DIR} COMMENT "Building Rust crate ${CRATE_NAME}" VERBATIM) diff --git a/tools/Rust.mk b/tools/Rust.mk index 9a77ae57b..ad2fb3a82 100644 --- a/tools/Rust.mk +++ b/tools/Rust.mk @@ -90,8 +90,8 @@ endef ifeq ($(CONFIG_DEBUG_FULLOPT),y) define RUST_CARGO_BUILD NUTTX_INCLUDE_DIR=$(TOPDIR)/include:$(TOPDIR)/include/arch \ + RUSTFLAGS="-Zunstable-options -Cpanic=immediate-abort" \ cargo build --release -Zbuild-std=std,panic_abort \ - -Zbuild-std-features=panic_immediate_abort \ --manifest-path $(2)/$(1)/Cargo.toml \ --target $(call RUST_TARGET_TRIPLE) endef
