diff options
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/alloc.rs | 5 | ||||
| -rw-r--r-- | src/libstd/lib.rs | 3 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/libstd/alloc.rs b/src/libstd/alloc.rs index f6cecbea11f..8db365cd21d 100644 --- a/src/libstd/alloc.rs +++ b/src/libstd/alloc.rs @@ -125,9 +125,10 @@ fn default_alloc_error_hook(layout: Layout) { #[cfg(not(test))] #[doc(hidden)] -#[lang = "oom"] +#[cfg_attr(stage0, lang = "oom")] +#[cfg_attr(not(stage0), alloc_error_handler)] #[unstable(feature = "alloc_internals", issue = "0")] -pub extern fn rust_oom(layout: Layout) -> ! { +pub fn rust_oom(layout: Layout) -> ! { let hook = HOOK.load(Ordering::SeqCst); let hook: fn(Layout) = if hook.is_null() { default_alloc_error_hook diff --git a/src/libstd/lib.rs b/src/libstd/lib.rs index d73cb1f8349..fec14b8d67d 100644 --- a/src/libstd/lib.rs +++ b/src/libstd/lib.rs @@ -233,8 +233,9 @@ // std is implemented with unstable features, many of which are internal // compiler details that will never be stable #![feature(alloc)] -#![feature(allocator_api)] +#![feature(alloc_error_handler)] #![feature(alloc_system)] +#![feature(allocator_api)] #![feature(allocator_internals)] #![feature(allow_internal_unsafe)] #![feature(allow_internal_unstable)] |
