Skip to content
Permalink
Browse files

Stabilize the `alloc` crate.

  • Loading branch information...
SimonSapin committed Apr 3, 2019
1 parent f8673e0 commit fc928a18bad0b6aa275a6908351b164f6f4abcd6
@@ -51,10 +51,7 @@
//! default global allocator. It is not compatible with the libc allocator API.

#![allow(unused_attributes)]
#![unstable(feature = "alloc",
reason = "this library is unlikely to be stabilized in its current \
form or name",
issue = "27783")]
#![stable(feature = "alloc", since = "1.36.0")]
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/",
issue_tracker_base_url = "https://github.com/rust-lang/rust/issues/",
test(no_crate_inject, attr(allow(unused_variables), deny(warnings))))]
@@ -5,7 +5,6 @@
//!
//! ```
//! # #![allow(unused_imports)]
//! # #![feature(alloc)]
//! #![feature(alloc_prelude)]
//! extern crate alloc;
//! use alloc::prelude::v1::*;
@@ -256,7 +256,7 @@ impl<T, A: Alloc> RawVec<T, A> {
/// # Examples
///
/// ```
/// # #![feature(alloc, raw_vec_internals)]
/// # #![feature(raw_vec_internals)]
/// # extern crate alloc;
/// # use std::ptr;
/// # use alloc::raw_vec::RawVec;
@@ -460,7 +460,7 @@ impl<T, A: Alloc> RawVec<T, A> {
/// # Examples
///
/// ```
/// # #![feature(alloc, raw_vec_internals)]
/// # #![feature(raw_vec_internals)]
/// # extern crate alloc;
/// # use std::ptr;
/// # use alloc::raw_vec::RawVec;
@@ -13,7 +13,6 @@

#![deny(rust_2018_idioms)]

#![feature(alloc)]
#![feature(core_intrinsics)]
#![feature(dropck_eyepatch)]
#![feature(raw_vec_internals)]
@@ -19,8 +19,6 @@

#![deny(rust_2018_idioms)]

#![feature(allocator_api)]
#![feature(alloc)]
#![feature(core_intrinsics)]
#![feature(lang_items)]
#![feature(libc)]
@@ -229,7 +229,6 @@
#![feature(align_offset)]
#![feature(alloc_error_handler)]
#![feature(alloc_layout_extra)]
#![feature(alloc)]
#![feature(allocator_api)]
#![feature(allocator_internals)]
#![feature(allow_internal_unsafe)]
@@ -7,8 +7,8 @@

# This is a whitelist of files which are stable crates or simply are not crates,
# we don't check for the instability of these crates as they're all stable!
STABLE_CRATES = ['std', 'core', 'proc_macro', 'rsbegin.o', 'rsend.o', 'dllcrt2.o', 'crt2.o',
'clang_rt']
STABLE_CRATES = ['std', 'alloc', 'core', 'proc_macro',
'rsbegin.o', 'rsend.o', 'dllcrt2.o', 'crt2.o', 'clang_rt']


def convert_to_string(s):
@@ -2,7 +2,7 @@

// ignore-emscripten no no_std executables

#![feature(lang_items, start, rustc_private, alloc)]
#![feature(lang_items, start, rustc_private)]
#![no_std]

extern crate std as other;
@@ -1,5 +1,5 @@
// run-pass
#![feature(extern_prelude, lang_items, start, alloc)]
#![feature(extern_prelude, lang_items, start)]
#![no_std]

extern crate std as other;
@@ -1,7 +1,7 @@
warning: the feature `extern_prelude` has been stable since 1.30.0 and no longer requires an attribute to enable
--> $DIR/extern-prelude-core.rs:2:12
|
LL | #![feature(extern_prelude, lang_items, start, alloc)]
LL | #![feature(extern_prelude, lang_items, start)]
| ^^^^^^^^^^^^^^
|
= note: #[warn(stable_features)] on by default
@@ -1,6 +1,6 @@
// run-pass
#![allow(unused_imports)]
#![feature(lang_items, start, alloc)]
#![feature(lang_items, start)]
#![no_std]

extern crate std as other;
@@ -1,6 +1,6 @@
// ignore-emscripten no no_std executables

#![feature(lang_items, start, alloc)]
#![feature(lang_items, start)]
#![no_std]

extern crate std as other;
@@ -3,9 +3,6 @@

// Make sure the destructor is run for unit-like structs.


#![feature(alloc)]

use std::thread;

struct Foo;
@@ -1,8 +1,6 @@
// Tests that it is possible to create a global allocator in a submodule, rather than in the crate
// root.

#![feature(alloc, allocator_api, global_allocator)]

extern crate alloc;

use std::{
@@ -1,5 +1,5 @@
error: `global_allocator` cannot be used in submodules
--> $DIR/allocator-submodule.rs:27:5
--> $DIR/allocator-submodule.rs:25:5
|
LL | static MY_HEAP: MyAlloc = MyAlloc;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -1,4 +1,3 @@
#![feature(alloc)]
#![allow(unused_extern_crates, non_camel_case_types)]

extern crate alloc;
@@ -1,5 +1,5 @@
error[E0254]: the name `alloc` is defined multiple times
--> $DIR/E0254.rs:12:5
--> $DIR/E0254.rs:11:5
|
LL | extern crate alloc;
| ------------------- previous import of the extern crate `alloc` here
@@ -1,4 +1,4 @@
#![feature(alloc, rustc_private)]
#![feature(rustc_private)]
#![allow(unused_extern_crates)]

extern crate alloc;
@@ -1,4 +1,3 @@
#![feature(alloc)]
#![allow(unused_extern_crates)]

extern crate alloc;
@@ -1,5 +1,5 @@
error[E0260]: the name `alloc` is defined multiple times
--> $DIR/E0260.rs:6:1
--> $DIR/E0260.rs:5:1
|
LL | extern crate alloc;
| ------------------- previous import of the extern crate `alloc` here
@@ -3,7 +3,7 @@

#![no_std]
#![crate_type = "staticlib"]
#![feature(panic_handler, alloc_error_handler, alloc)]
#![feature(panic_handler, alloc_error_handler)]

#[panic_handler]
fn panic(_: &core::panic::PanicInfo) -> ! {
@@ -3,7 +3,7 @@

#![no_std]
#![crate_type = "staticlib"]
#![feature(panic_handler, alloc_error_handler, alloc)]
#![feature(panic_handler, alloc_error_handler)]

#[panic_handler]
fn panic(_: &core::panic::PanicInfo) -> ! {
@@ -1,4 +1,3 @@
#![feature(alloc)]
#![allow(unused_extern_crates)]

mod a {
@@ -1,17 +1,17 @@
error[E0432]: unresolved import `alloc`
--> $DIR/resolve_self_super_hint.rs:6:9
--> $DIR/resolve_self_super_hint.rs:5:9
|
LL | use alloc::HashMap;
| ^^^^^ help: a similar path exists: `self::alloc`

error[E0432]: unresolved import `alloc`
--> $DIR/resolve_self_super_hint.rs:11:13
--> $DIR/resolve_self_super_hint.rs:10:13
|
LL | use alloc::HashMap;
| ^^^^^ help: a similar path exists: `super::alloc`

error[E0432]: unresolved import `alloc`
--> $DIR/resolve_self_super_hint.rs:16:17
--> $DIR/resolve_self_super_hint.rs:15:17
|
LL | use alloc::HashMap;
| ^^^^^
@@ -20,7 +20,7 @@ LL | use alloc::HashMap;
| help: a similar path exists: `a::alloc`

error[E0432]: unresolved import `alloc`
--> $DIR/resolve_self_super_hint.rs:21:21
--> $DIR/resolve_self_super_hint.rs:20:21
|
LL | use alloc::HashMap;
| ^^^^^
@@ -4,7 +4,6 @@
// aux-build:remove-extern-crate.rs
// compile-flags:--extern remove_extern_crate

#![feature(alloc)]
#![warn(rust_2018_idioms)]


@@ -4,7 +4,6 @@
// aux-build:remove-extern-crate.rs
// compile-flags:--extern remove_extern_crate

#![feature(alloc)]
#![warn(rust_2018_idioms)]

extern crate core;
@@ -1,24 +1,24 @@
warning: unused extern crate
--> $DIR/remove-extern-crate.rs:10:1
--> $DIR/remove-extern-crate.rs:9:1
|
LL | extern crate core;
| ^^^^^^^^^^^^^^^^^^ help: remove it
|
note: lint level defined here
--> $DIR/remove-extern-crate.rs:8:9
--> $DIR/remove-extern-crate.rs:7:9
|
LL | #![warn(rust_2018_idioms)]
| ^^^^^^^^^^^^^^^^
= note: #[warn(unused_extern_crates)] implied by #[warn(rust_2018_idioms)]

warning: `extern crate` is not idiomatic in the new edition
--> $DIR/remove-extern-crate.rs:11:1
--> $DIR/remove-extern-crate.rs:10:1
|
LL | extern crate core as another_name;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert it to a `use`

warning: `extern crate` is not idiomatic in the new edition
--> $DIR/remove-extern-crate.rs:29:5
--> $DIR/remove-extern-crate.rs:28:5
|
LL | extern crate core;
| ^^^^^^^^^^^^^^^^^^ help: convert it to a `use`
@@ -1,7 +1,7 @@
// edition:2018

#![deny(unused_extern_crates)]
#![feature(alloc, test, rustc_private, crate_visibility_modifier)]
#![feature(test, rustc_private, crate_visibility_modifier)]

extern crate libc;
//~^ ERROR unused extern crate

0 comments on commit fc928a1

Please sign in to comment.
You can’t perform that action at this time.