提交 94d1970b 编写于 作者: S Simon Sapin

Move the alloc::allocator module to core::heap

This is the `Alloc` trait and its dependencies.
上级 1169541e
......@@ -19,7 +19,7 @@
use core::mem::{self, ManuallyDrop};
use core::usize;
pub use allocator::*;
pub use core::heap::*;
#[doc(hidden)]
pub mod __core {
pub use core::*;
......
......@@ -81,6 +81,7 @@
#![cfg_attr(not(test), feature(exact_size_is_empty))]
#![cfg_attr(not(test), feature(generator_trait))]
#![cfg_attr(test, feature(rand, test))]
#![feature(allocator_api)]
#![feature(allow_internal_unstable)]
#![feature(ascii_ctype)]
#![feature(box_into_raw_non_null)]
......@@ -145,9 +146,9 @@
#[macro_use]
mod macros;
// Allocator trait and helper struct definitions
pub mod allocator;
#[rustc_deprecated(since = "1.27.0", reason = "use the heap module in core, alloc, or std instead")]
#[unstable(feature = "allocator_api", issue = "32838")]
pub use core::heap as allocator;
// Heaps provided for low-level allocation strategies
......
......@@ -15,11 +15,11 @@
tracing garbage collector",
issue = "32838")]
use core::cmp;
use core::fmt;
use core::mem;
use core::usize;
use core::ptr::{self, NonNull};
use cmp;
use fmt;
use mem;
use usize;
use ptr::{self, NonNull};
/// Represents the combination of a starting address and
/// a total capacity of the returned block.
......@@ -568,7 +568,7 @@ pub unsafe trait Alloc {
/// invoked method, and let the client decide whether to invoke
/// this `oom` method in response.
fn oom(&mut self, _: AllocErr) -> ! {
unsafe { ::core::intrinsics::abort() }
unsafe { ::intrinsics::abort() }
}
// == ALLOCATOR-SPECIFIC QUANTITIES AND LIMITS ==
......
......@@ -185,6 +185,10 @@
pub mod fmt;
pub mod time;
/* Heap memory allocator trait */
#[allow(missing_docs)]
pub mod heap;
// note: does not need to be public
mod char_private;
mod iter_private;
......
......@@ -12,8 +12,9 @@
#![unstable(issue = "32838", feature = "allocator_api")]
pub use alloc::heap::{Heap, Alloc, Layout, Excess, CannotReallocInPlace, AllocErr};
pub use alloc::heap::Heap;
pub use alloc_system::System;
pub use core::heap::*;
#[cfg(not(test))]
#[doc(hidden)]
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册