rust/library/alloc/src
bors a2b1646c59 Auto merge of #86844 - bjorn3:global_alloc_improvements, r=pnkfelix
Support #[global_allocator] without the allocator shim

This makes it possible to use liballoc/libstd in combination with `--emit obj` if you use `#[global_allocator]`. This is what rust-for-linux uses right now and systemd may use in the future. Currently they have to depend on the exact implementation of the allocator shim to create one themself as `--emit obj` doesn't create an allocator shim.

Note that currently the allocator shim also defines the oom error handler, which is normally required too. Once `#![feature(default_alloc_error_handler)]` becomes the only option, this can be avoided. In addition when using only fallible allocator methods and either `--cfg no_global_oom_handling` for liballoc (like rust-for-linux) or `--gc-sections` no references to the oom error handler will exist.

To avoid this feature being insta-stable, you will have to define `__rust_no_alloc_shim_is_unstable` to avoid linker errors.

(Labeling this with both T-compiler and T-lang as it originally involved both an implementation detail and had an insta-stable user facing change. As noted above, the `__rust_no_alloc_shim_is_unstable` symbol requirement should prevent unintended dependence on this unstable feature.)
2023-05-25 16:59:57 +00:00
..
alloc run alloc benchmarks in Miri and fix UB 2022-11-07 10:34:04 +01:00
boxed More IS_ZST in library 2023-04-21 16:29:27 -07:00
collections Fixed typo 2023-05-15 15:13:21 -04:00
ffi Remove a couple of #[doc(hidden)] pub fn and their #[feature] gates 2023-02-10 08:06:35 +01:00
raw_vec Add a unit test for zero-sized types in RawVec. 2021-11-26 19:30:45 +11:00
rc Fix formatting of new Rc::into_inner test 2023-03-12 11:21:40 -07:00
slice Update rand in the stdlib tests, and remove the getrandom feature from it 2023-01-04 14:52:41 -08:00
sync Add Arc::into_inner for safely discarding Arcs without calling the destructor on the inner type. 2023-01-22 01:43:25 +09:00
testing Share testing utilities with non-btree test cases 2022-05-02 10:07:50 +02:00
vec Rollup merge of #111609 - LegionMammal978:internal-unsafe, r=thomcc 2023-05-23 00:32:18 +05:30
alloc.rs Prevent insta-stable no alloc shim support 2023-05-11 14:35:09 +00:00
borrow.rs enable rust_2018_idioms for doctests 2023-05-07 00:12:29 +03:00
boxed.rs cfg-gate BoxFromSlice trait 2023-04-29 18:10:10 -04:00
fmt.rs enable rust_2018_idioms for doctests 2023-05-07 00:12:29 +03:00
lib.rs Stabilize const_ptr_read 2023-05-05 20:36:21 +02:00
macros.rs Remove or justify use of #[rustc_box] 2023-02-27 20:54:55 -05:00
raw_vec.rs remove some unneeded imports 2023-04-12 19:27:18 +02:00
rc.rs Auto merge of #106621 - ozkanonur:enable-elided-lifetimes-for-doctests, r=Mark-Simulacrum 2023-05-08 04:50:28 +00:00
slice.rs slice: Add a specialization for clone_into when T is Copy 2023-01-28 20:37:01 +01:00
str.rs Spelling library/ 2023-04-26 02:10:22 -04:00
string.rs Rollup merge of #111168 - DaniPopes:arguments-to-string, r=Mark-Simulacrum 2023-05-18 10:52:34 +05:30
sync.rs Fix duplicate arcinner_layout_for_value_layout calls 2023-05-16 08:53:05 +02:00
task.rs Updating Wake example to use new 'pin!' macro 2023-04-25 13:50:50 +02:00
tests.rs fix an alloc test 2023-03-03 17:47:48 +00:00