rust/library/alloc/src
Amanieu d'Antras 56074b5231 Rewrite implementation of #[alloc_error_handler]
The new implementation doesn't use weak lang items and instead changes
`#[alloc_error_handler]` to an attribute macro just like
`#[global_allocator]`.

The attribute will generate the `__rg_oom` function which is called by
the compiler-generated `__rust_alloc_error_handler`. If no `__rg_oom`
function is defined in any crate then the compiler shim will call
`__rdl_oom` in the alloc crate which will simply panic.

This also fixes link errors with `-C link-dead-code` with
`default_alloc_error_handler`: `__rg_oom` was previously defined in the
alloc crate and would attempt to reference the `oom` lang item, even if
it didn't exist. This worked as long as `__rg_oom` was excluded from
linking since it was not called.

This is a prerequisite for the stabilization of
`default_alloc_error_handler` (#102318).
2022-10-31 16:32:57 +00:00
..
alloc Replace most uses of pointer::offset with add and sub 2022-08-21 02:21:41 +04:00
boxed remove cfg(bootstrap) 2022-09-26 10:14:45 +02:00
collections Documentation BTreeMap::append's behavior for already existing keys 2022-10-15 17:47:07 +02:00
ffi remove cfg(bootstrap) 2022-09-26 10:14:45 +02:00
raw_vec Add a unit test for zero-sized types in RawVec. 2021-11-26 19:30:45 +11:00
rc Use Box::new() instead of box syntax in alloc tests 2022-05-29 00:41:14 +02:00
sync add some Miri-only tests 2022-08-18 18:07:39 -04:00
vec Clairify Vec::capacity docs 2022-10-24 15:01:58 +01:00
alloc.rs Rewrite implementation of #[alloc_error_handler] 2022-10-31 16:32:57 +00:00
borrow.rs Remove redundant lifetime bound from impl Borrow for Cow 2022-07-22 01:35:39 +02:00
boxed.rs Auto merge of #101837 - scottmcm:box-array-from-vec, r=m-ou-se 2022-10-17 19:46:04 +00:00
fmt.rs Detect and reject out-of-range integers in format string literals 2022-10-01 01:05:01 +02:00
lib.rs Remove all uses of array_assume_init 2022-10-17 13:03:54 -07:00
macros.rs Extra documentation for new formatting feature 2022-08-21 15:28:27 -04:00
raw_vec.rs Make ZST checks in core/alloc more readable 2022-09-22 23:12:29 -07:00
rc.rs ptr::eq: clarify that comparing dyn Trait is fragile 2022-10-26 11:15:14 +02:00
slice.rs Auto merge of #102169 - scottmcm:constify-some-conditions, r=thomcc 2022-09-25 01:20:11 +00:00
str.rs Rollup merge of #93162 - camsteffen:std-prim-docs, r=Mark-Simulacrum 2022-08-22 11:45:40 +05:30
string.rs Fix typo in docs of String::leak. 2022-10-22 12:26:47 -07:00
sync.rs ptr::eq: clarify that comparing dyn Trait is fragile 2022-10-26 11:15:14 +02:00
task.rs Document the conditional existence of alloc::sync and alloc::task. 2022-06-17 20:03:23 -07:00
tests.rs Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00