fn main() {
println!("leak time");
<snip some Objective-C code that has leaks>
}
[package]
name = "example"
version = "0.1.0"
edition = "2021"
[dependencies]
mac-notification-sys = "0.5.2"
export RUSTFLAGS="-Z sanitizer=leak";
cargo +nightly run
I expected to see this happen: The binary would be built and run with the leak sanitizer enabled.
Instead, this happened:
rustc writes an unsupported error and exits. The sanitizer docs state aarch64-apple-darwin to be a supported target, which conflicts with the actual behavior. I don't know if the documentation is incorrect or if there's a compiler bug somewhere.
I tried this code:
I expected to see this happen: The binary would be built and run with the leak sanitizer enabled.
Instead, this happened:
rustc
writes an unsupported error and exits. The sanitizer docs stateaarch64-apple-darwin
to be a supported target, which conflicts with the actual behavior. I don't know if the documentation is incorrect or if there's a compiler bug somewhere.Meta
rustc --version --verbose
:Backtrace
``` error: failed to run `rustc` to learn about target-specific information Caused by: process didn't exit successfully: `rustc - --crate-name ___ --print=file-names -Z sanitizer=leak --crate-type bin --crate-type rlib --crate-type dylib --crate-type cdylib --crate-type staticlib --crate-type proc-macro --print=sysroot --print=cfg` (exit status: 1) --- stdout ___ lib___.rlib lib___.dylib lib___.dylib lib___.a lib___.dylib /Users/fox/.rustup/toolchains/nightly-aarch64-apple-darwin debug_assertions panic="unwind" proc_macro sanitize="leak" target_abi="" target_arch="aarch64" target_endian="little" target_env="" target_family="unix" target_feature="aes" target_feature="crc" target_feature="dit" target_feature="dotprod" target_feature="dpb" target_feature="dpb2" target_feature="fcma" target_feature="fhm" target_feature="flagm" target_feature="fp16" target_feature="frintts" target_feature="jsconv" target_feature="llvm14-builtins-abi" target_feature="lor" target_feature="lse" target_feature="neon" target_feature="paca" target_feature="pacg" target_feature="pan" target_feature="pmuv3" target_feature="ras" target_feature="rcpc" target_feature="rcpc2" target_feature="rdm" target_feature="sb" target_feature="sha2" target_feature="sha3" target_feature="ssbs" target_feature="v8.1a" target_feature="v8.2a" target_feature="v8.3a" target_feature="v8.4a" target_feature="vh" target_has_atomic="128" target_has_atomic="16" target_has_atomic="32" target_has_atomic="64" target_has_atomic="8" target_has_atomic="ptr" target_has_atomic_equal_alignment="128" target_has_atomic_equal_alignment="16" target_has_atomic_equal_alignment="32" target_has_atomic_equal_alignment="64" target_has_atomic_equal_alignment="8" target_has_atomic_equal_alignment="ptr" target_has_atomic_load_store="128" target_has_atomic_load_store="16" target_has_atomic_load_store="32" target_has_atomic_load_store="64" target_has_atomic_load_store="8" target_has_atomic_load_store="ptr" target_os="macos" target_pointer_width="64" target_thread_local target_vendor="apple" unix --- stderr error: leak sanitizer is not supported for this target error: aborting due to previous error ```