Inspired by https://github.com/rust-lang/rust/issues/155495, I tried this code: ```rust unsafe extern "C" { #[link_name = "\0"] safe fn hack(); } pub fn main() { hack(); } ``` I expected to see this happen: rustc works or emits errors Instead, this happened: ``` rustc: /checkout/src/llvm-project/llvm/lib/IR/Value.cpp:346: void llvm::Value::setNameImpl(const Twine &): Assertion `!NameRef.contains(0) && "Null bytes are not allowed in names"' failed. ``` Also, I tried this code: ```rust unsafe extern "C" { #[link_name = ""] safe fn hack(); } pub fn main() { hack(); } ``` I expected to see this happen: ``` rust-lld: error: undefined symbol: ``` or rustc emits errors. Instead, this happened: ``` rust-lld: error: undefined symbol: anon.ba0403d3885badc6dc2b3e34422528cb.0 ``` ### Meta There must be `llvm.assertions = true` in `bootstrap.toml`.