diff options
| author | bors <bors@rust-lang.org> | 2018-07-09 14:29:59 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2018-07-09 14:29:59 +0000 |
| commit | c6807bb1b282e0c5398aa4e659dbc165b6f3c81b (patch) | |
| tree | bf6777921022043285a1cb13f97b903b7ffbfdb2 /src/liballoc | |
| parent | c30acc7187fe5ab9ca8a34411bb89bfe241a0662 (diff) | |
| parent | 5b795cf57e42aa31da7cb175d8ff27633085b5d7 (diff) | |
| download | rust-c6807bb1b282e0c5398aa4e659dbc165b6f3c81b.tar.gz rust-c6807bb1b282e0c5398aa4e659dbc165b6f3c81b.zip | |
Auto merge of #52159 - SimonSapin:alloc-prelude, r=alexcrichton
Add the `alloc::prelude` module It contains the re-exports that are in `std::prelude::v1` but not in `core::prelude::v1`. Calling it prelude is somewhat of a misnomer since (unlike those modules in `std` or `core`) its contents are never implicitly imported in modules. Rather it is intended to be used with an explicit glob import like `use alloc::prelude::*;`. However there is precedent for the same misnomer with `std::io::prelude`, for example. This new module is unstable with the same feature name as the `alloc` care. They are proposed for stabilization together in RFC https://github.com/rust-lang/rfcs/pull/2480.
Diffstat (limited to 'src/liballoc')
| -rw-r--r-- | src/liballoc/lib.rs | 2 | ||||
| -rw-r--r-- | src/liballoc/prelude.rs | 29 |
2 files changed, 30 insertions, 1 deletions
diff --git a/src/liballoc/lib.rs b/src/liballoc/lib.rs index 35bf8d1b792..ef619527e06 100644 --- a/src/liballoc/lib.rs +++ b/src/liballoc/lib.rs @@ -169,7 +169,7 @@ pub mod collections; pub mod sync; pub mod rc; pub mod raw_vec; - +pub mod prelude; pub mod borrow; pub mod fmt; pub mod slice; diff --git a/src/liballoc/prelude.rs b/src/liballoc/prelude.rs new file mode 100644 index 00000000000..53b5e93a66e --- /dev/null +++ b/src/liballoc/prelude.rs @@ -0,0 +1,29 @@ +// Copyright 2018 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +//! The alloc Prelude +//! +//! The purpose of this module is to alleviate imports of commonly-used +//! items of the `alloc` crate by adding a glob import to the top of modules: +//! +//! ``` +//! # #![allow(unused_imports)] +//! # #![feature(alloc)] +//! extern crate alloc; +//! use alloc::prelude::*; +//! ``` + +#![unstable(feature = "alloc", issue = "27783")] + +#[unstable(feature = "alloc", issue = "27783")] pub use borrow::ToOwned; +#[unstable(feature = "alloc", issue = "27783")] pub use boxed::Box; +#[unstable(feature = "alloc", issue = "27783")] pub use slice::SliceConcatExt; +#[unstable(feature = "alloc", issue = "27783")] pub use string::{String, ToString}; +#[unstable(feature = "alloc", issue = "27783")] pub use vec::Vec; |
