rust/library/std/src
Matthias Krüger 2faf66d091
Rollup merge of #143387 - dpaoliello:shouldpanicfn, r=bjorn3
Make __rust_alloc_error_handler_should_panic a function

Fixes rust-lang/rust#143253

`__rust_alloc_error_handler_should_panic` is a static but was being exported as a function.

For most targets this doesn't matter, but Arm64EC Windows uses different decorations for exported variables vs functions, hence it fails to link when `-Z oom=abort` is enabled.

We've had issues in the past with statics like this (see rust-lang/rust#141061) but the tldr; is that Arm64EC needs symbols correctly exported as either a function or data, and data MUST and MUST ONLY be marked `dllimport` when the symbol is being imported from another binary, which is non-trivial to calculate for these compiler-generated statics.

So, instead, the easiest thing to do is to make `__rust_alloc_error_handler_should_panic` a function instead.

Since `__rust_alloc_error_handler_should_panic` isn't involved in any linking shenanigans, I've marked it as `AlwaysInline` with the hopes that the various backends will see that it is just returning a constant and perform the same optimizations as the previous implementation.

r? `@bjorn3`
2025-07-04 16:22:36 +02:00
..
backtrace remove redundant imports 2023-12-10 10:56:22 +08:00
collections Docs(lib/coll/hm): Add kv pair to extract_if's first sentence 2025-05-17 02:49:57 +02:00
ffi Update version placeholders 2025-07-01 10:54:33 -07:00
fs Test(fs): Fix test_eq_windows_file_type for Windows 7 2025-05-28 12:06:25 +02:00
hash remove const_hash feature leftovers 2024-11-02 11:27:14 +01:00
io Update version placeholders 2025-07-01 10:54:33 -07:00
net Set MSG_NOSIGNAL for UnixSteam 2025-06-16 09:15:17 +02:00
num Auto merge of #138062 - LorrensP-2158466:miri-enable-float-nondet, r=RalfJung 2025-06-09 21:21:58 +00:00
os setup CI and tidy to use typos for spellchecking and fix few typos 2025-07-03 10:51:06 +03:00
prelude Remove the deprecated concat_idents! macro 2025-06-24 11:07:16 +00:00
process std: Apply deprecated_safe_2024 2025-02-13 13:10:28 -08:00
sync Update version placeholders 2025-07-01 10:54:33 -07:00
sys setup CI and tidy to use typos for spellchecking and fix few typos 2025-07-03 10:51:06 +03:00
sys_common make OsString::new and PathBuf::new unstably const 2025-05-24 22:33:11 +02:00
thread setup CI and tidy to use typos for spellchecking and fix few typos 2025-07-03 10:51:06 +03:00
alloc.rs Make __rust_alloc_error_handler_should_panic a function 2025-07-03 10:52:21 -07:00
ascii.rs Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
backtrace.rs use generic Atomic type where possible 2025-04-27 02:18:08 +03:00
bstr.rs Implement ByteStr and ByteString types 2025-01-11 06:35:21 +02:00
env.rs Add new Tier-3 targets: loongarch32-unknown-none* 2025-06-06 08:19:38 +08:00
error.rs Move std::error unit tests to integration tests 2025-01-26 10:28:04 +00:00
fs.rs Rollup merge of #134006 - klensy:typos, r=nnethercote 2025-07-03 13:29:35 +02:00
keyword_docs.rs unsafe keyword docs: emphasize that an unsafe fn in a trait does not get to choose its safety contract 2025-06-06 22:34:10 +02:00
lib.miri.rs add 'x.py miri', and make it work for 'library/{core,alloc,std}' 2024-04-03 20:27:20 +02:00
lib.rs make tidy-alphabetical use a natural sort 2025-06-25 22:52:38 +02:00
macros.rs Stop dbg! macro yapping about format modifiers 2025-06-22 10:58:27 +02:00
panic.rs rename internal panicking::try to catch_unwind 2025-05-24 16:32:00 +02:00
panicking.rs rename internal panicking::try to catch_unwind 2025-05-24 16:32:00 +02:00
pat.rs Add pattern types to parser 2024-04-08 11:57:17 +00:00
path.rs Rollup merge of #141847 - xizheyin:141837, r=jhpratt 2025-07-02 19:28:03 +02:00
process.rs Rollup merge of #141019 - ehuss:android-doctest-xcompile, r=Mark-Simulacrum 2025-05-23 13:34:18 +02:00
random.rs Unify cygwin & horizon random impl 2025-03-10 21:23:32 +08:00
rt.rs deduplicate abort implementations 2025-05-15 11:20:13 +02:00
test_helpers.rs std: get rid of sys_common::io 2025-02-07 16:54:07 +01:00
time.rs setup CI and tidy to use typos for spellchecking and fix few typos 2025-07-03 10:51:06 +03:00