change #![feature(const_fn)] to specific gates
This commit is contained in:
@@ -329,6 +329,7 @@ impl<T> Cell<T> {
|
|||||||
/// let c = Cell::new(5);
|
/// let c = Cell::new(5);
|
||||||
/// ```
|
/// ```
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
|
#[cfg_attr(not(stage0), rustc_const_unstable(feature = "const_cell_new"))]
|
||||||
#[inline]
|
#[inline]
|
||||||
pub const fn new(value: T) -> Cell<T> {
|
pub const fn new(value: T) -> Cell<T> {
|
||||||
Cell {
|
Cell {
|
||||||
@@ -543,6 +544,7 @@ impl<T> RefCell<T> {
|
|||||||
/// let c = RefCell::new(5);
|
/// let c = RefCell::new(5);
|
||||||
/// ```
|
/// ```
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
|
#[cfg_attr(not(stage0), rustc_const_unstable(feature = "const_refcell_new"))]
|
||||||
#[inline]
|
#[inline]
|
||||||
pub const fn new(value: T) -> RefCell<T> {
|
pub const fn new(value: T) -> RefCell<T> {
|
||||||
RefCell {
|
RefCell {
|
||||||
@@ -1188,6 +1190,7 @@ impl<T> UnsafeCell<T> {
|
|||||||
/// let uc = UnsafeCell::new(5);
|
/// let uc = UnsafeCell::new(5);
|
||||||
/// ```
|
/// ```
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
|
#[cfg_attr(not(stage0), rustc_const_unstable(feature = "const_unsafe_cell_new"))]
|
||||||
#[inline]
|
#[inline]
|
||||||
pub const fn new(value: T) -> UnsafeCell<T> {
|
pub const fn new(value: T) -> UnsafeCell<T> {
|
||||||
UnsafeCell { value: value }
|
UnsafeCell { value: value }
|
||||||
|
|||||||
@@ -85,12 +85,30 @@
|
|||||||
#![feature(prelude_import)]
|
#![feature(prelude_import)]
|
||||||
#![feature(repr_simd, platform_intrinsics)]
|
#![feature(repr_simd, platform_intrinsics)]
|
||||||
#![feature(rustc_attrs)]
|
#![feature(rustc_attrs)]
|
||||||
|
#![cfg_attr(not(stage0), feature(rustc_const_unstable))]
|
||||||
#![feature(specialization)]
|
#![feature(specialization)]
|
||||||
#![feature(staged_api)]
|
#![feature(staged_api)]
|
||||||
#![feature(unboxed_closures)]
|
#![feature(unboxed_closures)]
|
||||||
#![feature(untagged_unions)]
|
#![feature(untagged_unions)]
|
||||||
#![feature(unwind_attributes)]
|
#![feature(unwind_attributes)]
|
||||||
|
|
||||||
|
#![cfg_attr(not(stage0), feature(const_min_value))]
|
||||||
|
#![cfg_attr(not(stage0), feature(const_max_value))]
|
||||||
|
#![cfg_attr(not(stage0), feature(const_atomic_bool_new))]
|
||||||
|
#![cfg_attr(not(stage0), feature(const_atomic_isize_new))]
|
||||||
|
#![cfg_attr(not(stage0), feature(const_atomic_usize_new))]
|
||||||
|
#![cfg_attr(not(stage0), feature(const_atomic_i8_new))]
|
||||||
|
#![cfg_attr(not(stage0), feature(const_atomic_u8_new))]
|
||||||
|
#![cfg_attr(not(stage0), feature(const_atomic_i16_new))]
|
||||||
|
#![cfg_attr(not(stage0), feature(const_atomic_u16_new))]
|
||||||
|
#![cfg_attr(not(stage0), feature(const_atomic_i32_new))]
|
||||||
|
#![cfg_attr(not(stage0), feature(const_atomic_u32_new))]
|
||||||
|
#![cfg_attr(not(stage0), feature(const_atomic_i64_new))]
|
||||||
|
#![cfg_attr(not(stage0), feature(const_atomic_u64_new))]
|
||||||
|
#![cfg_attr(not(stage0), feature(const_unsafe_cell_new))]
|
||||||
|
#![cfg_attr(not(stage0), feature(const_cell_new))]
|
||||||
|
#![cfg_attr(not(stage0), feature(const_nonzero_new))]
|
||||||
|
|
||||||
#[prelude_import]
|
#[prelude_import]
|
||||||
#[allow(unused)]
|
#[allow(unused)]
|
||||||
use prelude::v1::*;
|
use prelude::v1::*;
|
||||||
|
|||||||
@@ -189,6 +189,7 @@ pub fn forget<T>(t: T) {
|
|||||||
/// ```
|
/// ```
|
||||||
#[inline]
|
#[inline]
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
|
#[cfg_attr(not(stage0), rustc_const_unstable(feature = "const_size_of"))]
|
||||||
pub const fn size_of<T>() -> usize {
|
pub const fn size_of<T>() -> usize {
|
||||||
unsafe { intrinsics::size_of::<T>() }
|
unsafe { intrinsics::size_of::<T>() }
|
||||||
}
|
}
|
||||||
@@ -280,6 +281,7 @@ pub fn min_align_of_val<T: ?Sized>(val: &T) -> usize {
|
|||||||
/// ```
|
/// ```
|
||||||
#[inline]
|
#[inline]
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
|
#[cfg_attr(not(stage0), rustc_const_unstable(feature = "const_align_of"))]
|
||||||
pub const fn align_of<T>() -> usize {
|
pub const fn align_of<T>() -> usize {
|
||||||
unsafe { intrinsics::min_align_of::<T>() }
|
unsafe { intrinsics::min_align_of::<T>() }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -68,6 +68,10 @@ pub struct NonZero<T: Zeroable>(T);
|
|||||||
impl<T: Zeroable> NonZero<T> {
|
impl<T: Zeroable> NonZero<T> {
|
||||||
/// Creates an instance of NonZero with the provided value.
|
/// Creates an instance of NonZero with the provided value.
|
||||||
/// You must indeed ensure that the value is actually "non-zero".
|
/// You must indeed ensure that the value is actually "non-zero".
|
||||||
|
#[unstable(feature = "nonzero",
|
||||||
|
reason = "needs an RFC to flesh out the design",
|
||||||
|
issue = "27730")]
|
||||||
|
#[cfg_attr(not(stage0), rustc_const_unstable(feature = "const_nonzero_new"))]
|
||||||
#[inline]
|
#[inline]
|
||||||
pub const unsafe fn new_unchecked(inner: T) -> Self {
|
pub const unsafe fn new_unchecked(inner: T) -> Self {
|
||||||
NonZero(inner)
|
NonZero(inner)
|
||||||
|
|||||||
@@ -109,6 +109,7 @@ macro_rules! int_impl {
|
|||||||
/// assert_eq!(i8::min_value(), -128);
|
/// assert_eq!(i8::min_value(), -128);
|
||||||
/// ```
|
/// ```
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
|
#[cfg_attr(not(stage0), rustc_const_unstable(feature = "const_min_value"))]
|
||||||
#[inline]
|
#[inline]
|
||||||
pub const fn min_value() -> Self {
|
pub const fn min_value() -> Self {
|
||||||
!0 ^ ((!0 as $UnsignedT) >> 1) as Self
|
!0 ^ ((!0 as $UnsignedT) >> 1) as Self
|
||||||
@@ -122,6 +123,7 @@ macro_rules! int_impl {
|
|||||||
/// assert_eq!(i8::max_value(), 127);
|
/// assert_eq!(i8::max_value(), 127);
|
||||||
/// ```
|
/// ```
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
|
#[cfg_attr(not(stage0), rustc_const_unstable(feature = "const_max_value"))]
|
||||||
#[inline]
|
#[inline]
|
||||||
pub const fn max_value() -> Self {
|
pub const fn max_value() -> Self {
|
||||||
!Self::min_value()
|
!Self::min_value()
|
||||||
@@ -1280,6 +1282,7 @@ macro_rules! uint_impl {
|
|||||||
/// assert_eq!(u8::min_value(), 0);
|
/// assert_eq!(u8::min_value(), 0);
|
||||||
/// ```
|
/// ```
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
|
#[cfg_attr(not(stage0), rustc_const_unstable(feature = "const_min_value"))]
|
||||||
#[inline]
|
#[inline]
|
||||||
pub const fn min_value() -> Self { 0 }
|
pub const fn min_value() -> Self { 0 }
|
||||||
|
|
||||||
@@ -1291,6 +1294,7 @@ macro_rules! uint_impl {
|
|||||||
/// assert_eq!(u8::max_value(), 255);
|
/// assert_eq!(u8::max_value(), 255);
|
||||||
/// ```
|
/// ```
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
|
#[cfg_attr(not(stage0), rustc_const_unstable(feature = "const_max_value"))]
|
||||||
#[inline]
|
#[inline]
|
||||||
pub const fn max_value() -> Self { !0 }
|
pub const fn max_value() -> Self { !0 }
|
||||||
|
|
||||||
|
|||||||
@@ -76,6 +76,7 @@ pub unsafe fn drop_in_place<T: ?Sized>(to_drop: *mut T) {
|
|||||||
/// ```
|
/// ```
|
||||||
#[inline]
|
#[inline]
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
|
#[cfg_attr(not(stage0), rustc_const_unstable(feature = "const_ptr_null"))]
|
||||||
pub const fn null<T>() -> *const T { 0 as *const T }
|
pub const fn null<T>() -> *const T { 0 as *const T }
|
||||||
|
|
||||||
/// Creates a null mutable raw pointer.
|
/// Creates a null mutable raw pointer.
|
||||||
@@ -90,6 +91,7 @@ pub const fn null<T>() -> *const T { 0 as *const T }
|
|||||||
/// ```
|
/// ```
|
||||||
#[inline]
|
#[inline]
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
|
#[cfg_attr(not(stage0), rustc_const_unstable(feature = "const_ptr_null_mut"))]
|
||||||
pub const fn null_mut<T>() -> *mut T { 0 as *mut T }
|
pub const fn null_mut<T>() -> *mut T { 0 as *mut T }
|
||||||
|
|
||||||
/// Swaps the values at two mutable locations of the same type, without
|
/// Swaps the values at two mutable locations of the same type, without
|
||||||
@@ -1097,6 +1099,8 @@ impl<T: ?Sized> Unique<T> {
|
|||||||
/// # Safety
|
/// # Safety
|
||||||
///
|
///
|
||||||
/// `ptr` must be non-null.
|
/// `ptr` must be non-null.
|
||||||
|
#[unstable(feature = "unique", issue = "27730")]
|
||||||
|
#[cfg_attr(not(stage0), rustc_const_unstable(feature = "const_unique_new"))]
|
||||||
pub const unsafe fn new_unchecked(ptr: *mut T) -> Self {
|
pub const unsafe fn new_unchecked(ptr: *mut T) -> Self {
|
||||||
Unique { pointer: NonZero::new_unchecked(ptr), _marker: PhantomData }
|
Unique { pointer: NonZero::new_unchecked(ptr), _marker: PhantomData }
|
||||||
}
|
}
|
||||||
@@ -1230,6 +1234,8 @@ impl<T: ?Sized> Shared<T> {
|
|||||||
/// # Safety
|
/// # Safety
|
||||||
///
|
///
|
||||||
/// `ptr` must be non-null.
|
/// `ptr` must be non-null.
|
||||||
|
#[unstable(feature = "shared", issue = "27730")]
|
||||||
|
#[cfg_attr(not(stage0), rustc_const_unstable(feature = "const_shared_new"))]
|
||||||
pub const unsafe fn new_unchecked(ptr: *mut T) -> Self {
|
pub const unsafe fn new_unchecked(ptr: *mut T) -> Self {
|
||||||
Shared { pointer: NonZero::new_unchecked(ptr), _marker: PhantomData }
|
Shared { pointer: NonZero::new_unchecked(ptr), _marker: PhantomData }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -241,6 +241,7 @@ impl AtomicBool {
|
|||||||
/// ```
|
/// ```
|
||||||
#[inline]
|
#[inline]
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
|
#[cfg_attr(not(stage0), rustc_const_unstable(feature = "const_atomic_bool_new"))]
|
||||||
pub const fn new(v: bool) -> AtomicBool {
|
pub const fn new(v: bool) -> AtomicBool {
|
||||||
AtomicBool { v: UnsafeCell::new(v as u8) }
|
AtomicBool { v: UnsafeCell::new(v as u8) }
|
||||||
}
|
}
|
||||||
@@ -649,6 +650,7 @@ impl<T> AtomicPtr<T> {
|
|||||||
/// ```
|
/// ```
|
||||||
#[inline]
|
#[inline]
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
|
#[cfg_attr(not(stage0), rustc_const_unstable(feature = "const_atomic_ptr_new"))]
|
||||||
pub const fn new(p: *mut T) -> AtomicPtr<T> {
|
pub const fn new(p: *mut T) -> AtomicPtr<T> {
|
||||||
AtomicPtr { p: UnsafeCell::new(p) }
|
AtomicPtr { p: UnsafeCell::new(p) }
|
||||||
}
|
}
|
||||||
@@ -920,7 +922,7 @@ impl<T> AtomicPtr<T> {
|
|||||||
|
|
||||||
#[cfg(target_has_atomic = "ptr")]
|
#[cfg(target_has_atomic = "ptr")]
|
||||||
macro_rules! atomic_int {
|
macro_rules! atomic_int {
|
||||||
($stable:meta,
|
($stable:meta, $const_unstable:meta,
|
||||||
$stable_cxchg:meta,
|
$stable_cxchg:meta,
|
||||||
$stable_debug:meta,
|
$stable_debug:meta,
|
||||||
$stable_access:meta,
|
$stable_access:meta,
|
||||||
@@ -969,6 +971,7 @@ macro_rules! atomic_int {
|
|||||||
/// ```
|
/// ```
|
||||||
#[inline]
|
#[inline]
|
||||||
#[$stable]
|
#[$stable]
|
||||||
|
#[cfg_attr(not(stage0), $const_unstable)]
|
||||||
pub const fn new(v: $int_type) -> Self {
|
pub const fn new(v: $int_type) -> Self {
|
||||||
$atomic_type {v: UnsafeCell::new(v)}
|
$atomic_type {v: UnsafeCell::new(v)}
|
||||||
}
|
}
|
||||||
@@ -1332,6 +1335,7 @@ macro_rules! atomic_int {
|
|||||||
#[cfg(target_has_atomic = "8")]
|
#[cfg(target_has_atomic = "8")]
|
||||||
atomic_int! {
|
atomic_int! {
|
||||||
unstable(feature = "integer_atomics", issue = "32976"),
|
unstable(feature = "integer_atomics", issue = "32976"),
|
||||||
|
rustc_const_unstable(feature = "const_atomic_i8_new"),
|
||||||
unstable(feature = "integer_atomics", issue = "32976"),
|
unstable(feature = "integer_atomics", issue = "32976"),
|
||||||
unstable(feature = "integer_atomics", issue = "32976"),
|
unstable(feature = "integer_atomics", issue = "32976"),
|
||||||
unstable(feature = "integer_atomics", issue = "32976"),
|
unstable(feature = "integer_atomics", issue = "32976"),
|
||||||
@@ -1340,6 +1344,7 @@ atomic_int! {
|
|||||||
#[cfg(target_has_atomic = "8")]
|
#[cfg(target_has_atomic = "8")]
|
||||||
atomic_int! {
|
atomic_int! {
|
||||||
unstable(feature = "integer_atomics", issue = "32976"),
|
unstable(feature = "integer_atomics", issue = "32976"),
|
||||||
|
rustc_const_unstable(feature = "const_atomic_u8_new"),
|
||||||
unstable(feature = "integer_atomics", issue = "32976"),
|
unstable(feature = "integer_atomics", issue = "32976"),
|
||||||
unstable(feature = "integer_atomics", issue = "32976"),
|
unstable(feature = "integer_atomics", issue = "32976"),
|
||||||
unstable(feature = "integer_atomics", issue = "32976"),
|
unstable(feature = "integer_atomics", issue = "32976"),
|
||||||
@@ -1348,6 +1353,7 @@ atomic_int! {
|
|||||||
#[cfg(target_has_atomic = "16")]
|
#[cfg(target_has_atomic = "16")]
|
||||||
atomic_int! {
|
atomic_int! {
|
||||||
unstable(feature = "integer_atomics", issue = "32976"),
|
unstable(feature = "integer_atomics", issue = "32976"),
|
||||||
|
rustc_const_unstable(feature = "const_atomic_i16_new"),
|
||||||
unstable(feature = "integer_atomics", issue = "32976"),
|
unstable(feature = "integer_atomics", issue = "32976"),
|
||||||
unstable(feature = "integer_atomics", issue = "32976"),
|
unstable(feature = "integer_atomics", issue = "32976"),
|
||||||
unstable(feature = "integer_atomics", issue = "32976"),
|
unstable(feature = "integer_atomics", issue = "32976"),
|
||||||
@@ -1356,6 +1362,7 @@ atomic_int! {
|
|||||||
#[cfg(target_has_atomic = "16")]
|
#[cfg(target_has_atomic = "16")]
|
||||||
atomic_int! {
|
atomic_int! {
|
||||||
unstable(feature = "integer_atomics", issue = "32976"),
|
unstable(feature = "integer_atomics", issue = "32976"),
|
||||||
|
rustc_const_unstable(feature = "const_atomic_u16_new"),
|
||||||
unstable(feature = "integer_atomics", issue = "32976"),
|
unstable(feature = "integer_atomics", issue = "32976"),
|
||||||
unstable(feature = "integer_atomics", issue = "32976"),
|
unstable(feature = "integer_atomics", issue = "32976"),
|
||||||
unstable(feature = "integer_atomics", issue = "32976"),
|
unstable(feature = "integer_atomics", issue = "32976"),
|
||||||
@@ -1364,6 +1371,7 @@ atomic_int! {
|
|||||||
#[cfg(target_has_atomic = "32")]
|
#[cfg(target_has_atomic = "32")]
|
||||||
atomic_int! {
|
atomic_int! {
|
||||||
unstable(feature = "integer_atomics", issue = "32976"),
|
unstable(feature = "integer_atomics", issue = "32976"),
|
||||||
|
rustc_const_unstable(feature = "const_atomic_i32_new"),
|
||||||
unstable(feature = "integer_atomics", issue = "32976"),
|
unstable(feature = "integer_atomics", issue = "32976"),
|
||||||
unstable(feature = "integer_atomics", issue = "32976"),
|
unstable(feature = "integer_atomics", issue = "32976"),
|
||||||
unstable(feature = "integer_atomics", issue = "32976"),
|
unstable(feature = "integer_atomics", issue = "32976"),
|
||||||
@@ -1372,6 +1380,7 @@ atomic_int! {
|
|||||||
#[cfg(target_has_atomic = "32")]
|
#[cfg(target_has_atomic = "32")]
|
||||||
atomic_int! {
|
atomic_int! {
|
||||||
unstable(feature = "integer_atomics", issue = "32976"),
|
unstable(feature = "integer_atomics", issue = "32976"),
|
||||||
|
rustc_const_unstable(feature = "const_atomic_u32_new"),
|
||||||
unstable(feature = "integer_atomics", issue = "32976"),
|
unstable(feature = "integer_atomics", issue = "32976"),
|
||||||
unstable(feature = "integer_atomics", issue = "32976"),
|
unstable(feature = "integer_atomics", issue = "32976"),
|
||||||
unstable(feature = "integer_atomics", issue = "32976"),
|
unstable(feature = "integer_atomics", issue = "32976"),
|
||||||
@@ -1380,6 +1389,7 @@ atomic_int! {
|
|||||||
#[cfg(target_has_atomic = "64")]
|
#[cfg(target_has_atomic = "64")]
|
||||||
atomic_int! {
|
atomic_int! {
|
||||||
unstable(feature = "integer_atomics", issue = "32976"),
|
unstable(feature = "integer_atomics", issue = "32976"),
|
||||||
|
rustc_const_unstable(feature = "const_atomic_i64_new"),
|
||||||
unstable(feature = "integer_atomics", issue = "32976"),
|
unstable(feature = "integer_atomics", issue = "32976"),
|
||||||
unstable(feature = "integer_atomics", issue = "32976"),
|
unstable(feature = "integer_atomics", issue = "32976"),
|
||||||
unstable(feature = "integer_atomics", issue = "32976"),
|
unstable(feature = "integer_atomics", issue = "32976"),
|
||||||
@@ -1388,6 +1398,7 @@ atomic_int! {
|
|||||||
#[cfg(target_has_atomic = "64")]
|
#[cfg(target_has_atomic = "64")]
|
||||||
atomic_int! {
|
atomic_int! {
|
||||||
unstable(feature = "integer_atomics", issue = "32976"),
|
unstable(feature = "integer_atomics", issue = "32976"),
|
||||||
|
rustc_const_unstable(feature = "const_atomic_u64_new"),
|
||||||
unstable(feature = "integer_atomics", issue = "32976"),
|
unstable(feature = "integer_atomics", issue = "32976"),
|
||||||
unstable(feature = "integer_atomics", issue = "32976"),
|
unstable(feature = "integer_atomics", issue = "32976"),
|
||||||
unstable(feature = "integer_atomics", issue = "32976"),
|
unstable(feature = "integer_atomics", issue = "32976"),
|
||||||
@@ -1396,6 +1407,7 @@ atomic_int! {
|
|||||||
#[cfg(target_has_atomic = "ptr")]
|
#[cfg(target_has_atomic = "ptr")]
|
||||||
atomic_int!{
|
atomic_int!{
|
||||||
stable(feature = "rust1", since = "1.0.0"),
|
stable(feature = "rust1", since = "1.0.0"),
|
||||||
|
rustc_const_unstable(feature = "const_atomic_isize_new"),
|
||||||
stable(feature = "extended_compare_and_swap", since = "1.10.0"),
|
stable(feature = "extended_compare_and_swap", since = "1.10.0"),
|
||||||
stable(feature = "atomic_debug", since = "1.3.0"),
|
stable(feature = "atomic_debug", since = "1.3.0"),
|
||||||
stable(feature = "atomic_access", since = "1.15.0"),
|
stable(feature = "atomic_access", since = "1.15.0"),
|
||||||
@@ -1404,6 +1416,7 @@ atomic_int!{
|
|||||||
#[cfg(target_has_atomic = "ptr")]
|
#[cfg(target_has_atomic = "ptr")]
|
||||||
atomic_int!{
|
atomic_int!{
|
||||||
stable(feature = "rust1", since = "1.0.0"),
|
stable(feature = "rust1", since = "1.0.0"),
|
||||||
|
rustc_const_unstable(feature = "const_atomic_usize_new"),
|
||||||
stable(feature = "extended_compare_and_swap", since = "1.10.0"),
|
stable(feature = "extended_compare_and_swap", since = "1.10.0"),
|
||||||
stable(feature = "atomic_debug", since = "1.3.0"),
|
stable(feature = "atomic_debug", since = "1.3.0"),
|
||||||
stable(feature = "atomic_access", since = "1.15.0"),
|
stable(feature = "atomic_access", since = "1.15.0"),
|
||||||
|
|||||||
@@ -11,7 +11,6 @@
|
|||||||
#![deny(warnings)]
|
#![deny(warnings)]
|
||||||
|
|
||||||
#![feature(box_syntax)]
|
#![feature(box_syntax)]
|
||||||
#![feature(const_fn)]
|
|
||||||
#![feature(core_float)]
|
#![feature(core_float)]
|
||||||
#![feature(core_private_bignum)]
|
#![feature(core_private_bignum)]
|
||||||
#![feature(core_private_diy_float)]
|
#![feature(core_private_diy_float)]
|
||||||
@@ -42,6 +41,10 @@
|
|||||||
#![feature(try_from)]
|
#![feature(try_from)]
|
||||||
#![feature(unique)]
|
#![feature(unique)]
|
||||||
|
|
||||||
|
#![feature(const_atomic_bool_new)]
|
||||||
|
#![feature(const_atomic_usize_new)]
|
||||||
|
#![feature(const_atomic_isize_new)]
|
||||||
|
|
||||||
extern crate core;
|
extern crate core;
|
||||||
extern crate test;
|
extern crate test;
|
||||||
extern crate rand;
|
extern crate rand;
|
||||||
|
|||||||
@@ -22,7 +22,6 @@
|
|||||||
#![feature(box_patterns)]
|
#![feature(box_patterns)]
|
||||||
#![feature(box_syntax)]
|
#![feature(box_syntax)]
|
||||||
#![feature(conservative_impl_trait)]
|
#![feature(conservative_impl_trait)]
|
||||||
#![feature(const_fn)]
|
|
||||||
#![feature(core_intrinsics)]
|
#![feature(core_intrinsics)]
|
||||||
#![feature(i128_type)]
|
#![feature(i128_type)]
|
||||||
#![cfg_attr(windows, feature(libc))]
|
#![cfg_attr(windows, feature(libc))]
|
||||||
@@ -36,6 +35,9 @@
|
|||||||
#![feature(trace_macros)]
|
#![feature(trace_macros)]
|
||||||
#![feature(test)]
|
#![feature(test)]
|
||||||
|
|
||||||
|
#![cfg_attr(stage0, feature(const_fn))]
|
||||||
|
#![cfg_attr(not(stage0), feature(const_atomic_bool_new))]
|
||||||
|
|
||||||
#![recursion_limit="256"]
|
#![recursion_limit="256"]
|
||||||
|
|
||||||
extern crate arena;
|
extern crate arena;
|
||||||
|
|||||||
@@ -45,11 +45,14 @@
|
|||||||
#![deny(warnings)]
|
#![deny(warnings)]
|
||||||
#![forbid(unsafe_code)]
|
#![forbid(unsafe_code)]
|
||||||
|
|
||||||
#![feature(const_fn)]
|
|
||||||
#![feature(i128_type)]
|
#![feature(i128_type)]
|
||||||
#![feature(slice_patterns)]
|
#![feature(slice_patterns)]
|
||||||
#![feature(try_from)]
|
#![feature(try_from)]
|
||||||
|
|
||||||
|
#![cfg_attr(stage0, feature(const_fn))]
|
||||||
|
#![cfg_attr(not(stage0), feature(const_min_value))]
|
||||||
|
#![cfg_attr(not(stage0), feature(const_max_value))]
|
||||||
|
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
extern crate rustc_bitflags;
|
extern crate rustc_bitflags;
|
||||||
|
|
||||||
|
|||||||
@@ -23,9 +23,11 @@
|
|||||||
#![feature(slice_patterns)]
|
#![feature(slice_patterns)]
|
||||||
#![feature(box_patterns)]
|
#![feature(box_patterns)]
|
||||||
#![feature(box_syntax)]
|
#![feature(box_syntax)]
|
||||||
#![feature(const_fn)]
|
|
||||||
#![feature(i128_type)]
|
#![feature(i128_type)]
|
||||||
|
|
||||||
|
#![cfg_attr(stage0, feature(const_fn))]
|
||||||
|
#![cfg_attr(not(stage0), feature(const_min_value))]
|
||||||
|
|
||||||
extern crate arena;
|
extern crate arena;
|
||||||
#[macro_use] extern crate syntax;
|
#[macro_use] extern crate syntax;
|
||||||
#[macro_use] extern crate log;
|
#[macro_use] extern crate log;
|
||||||
|
|||||||
@@ -19,10 +19,13 @@
|
|||||||
html_root_url = "https://doc.rust-lang.org/nightly/")]
|
html_root_url = "https://doc.rust-lang.org/nightly/")]
|
||||||
#![deny(warnings)]
|
#![deny(warnings)]
|
||||||
|
|
||||||
#![feature(const_fn)]
|
|
||||||
#![feature(i128)]
|
#![feature(i128)]
|
||||||
#![feature(i128_type)]
|
#![feature(i128_type)]
|
||||||
|
|
||||||
|
#![cfg_attr(stage0, feature(const_fn))]
|
||||||
|
#![cfg_attr(not(stage0), feature(const_min_value))]
|
||||||
|
#![cfg_attr(not(stage0), feature(const_max_value))]
|
||||||
|
|
||||||
extern crate rustc_apfloat;
|
extern crate rustc_apfloat;
|
||||||
|
|
||||||
extern crate syntax;
|
extern crate syntax;
|
||||||
|
|||||||
@@ -384,7 +384,7 @@ static B: &'static AtomicUsize = &A; // ok!
|
|||||||
You can also have this error while using a cell type:
|
You can also have this error while using a cell type:
|
||||||
|
|
||||||
```compile_fail,E0492
|
```compile_fail,E0492
|
||||||
#![feature(const_fn)]
|
#![feature(const_cell_new)]
|
||||||
|
|
||||||
use std::cell::Cell;
|
use std::cell::Cell;
|
||||||
|
|
||||||
@@ -412,7 +412,7 @@ However, if you still wish to use these types, you can achieve this by an unsafe
|
|||||||
wrapper:
|
wrapper:
|
||||||
|
|
||||||
```
|
```
|
||||||
#![feature(const_fn)]
|
#![feature(const_cell_new)]
|
||||||
|
|
||||||
use std::cell::Cell;
|
use std::cell::Cell;
|
||||||
use std::marker::Sync;
|
use std::marker::Sync;
|
||||||
|
|||||||
@@ -21,7 +21,6 @@
|
|||||||
|
|
||||||
#![feature(box_patterns)]
|
#![feature(box_patterns)]
|
||||||
#![feature(box_syntax)]
|
#![feature(box_syntax)]
|
||||||
#![feature(const_fn)]
|
|
||||||
#![feature(custom_attribute)]
|
#![feature(custom_attribute)]
|
||||||
#![allow(unused_attributes)]
|
#![allow(unused_attributes)]
|
||||||
#![feature(i128_type)]
|
#![feature(i128_type)]
|
||||||
@@ -31,6 +30,10 @@
|
|||||||
#![feature(slice_patterns)]
|
#![feature(slice_patterns)]
|
||||||
#![feature(conservative_impl_trait)]
|
#![feature(conservative_impl_trait)]
|
||||||
|
|
||||||
|
#![cfg_attr(stage0, feature(const_fn))]
|
||||||
|
#![cfg_attr(not(stage0), feature(const_atomic_bool_new))]
|
||||||
|
#![cfg_attr(not(stage0), feature(const_once_new))]
|
||||||
|
|
||||||
use rustc::dep_graph::WorkProduct;
|
use rustc::dep_graph::WorkProduct;
|
||||||
use syntax_pos::symbol::Symbol;
|
use syntax_pos::symbol::Symbol;
|
||||||
|
|
||||||
|
|||||||
@@ -19,7 +19,6 @@
|
|||||||
|
|
||||||
#![feature(box_patterns)]
|
#![feature(box_patterns)]
|
||||||
#![feature(box_syntax)]
|
#![feature(box_syntax)]
|
||||||
#![feature(const_fn)]
|
|
||||||
#![feature(custom_attribute)]
|
#![feature(custom_attribute)]
|
||||||
#![allow(unused_attributes)]
|
#![allow(unused_attributes)]
|
||||||
#![feature(i128_type)]
|
#![feature(i128_type)]
|
||||||
@@ -28,6 +27,8 @@
|
|||||||
#![feature(slice_patterns)]
|
#![feature(slice_patterns)]
|
||||||
#![feature(conservative_impl_trait)]
|
#![feature(conservative_impl_trait)]
|
||||||
|
|
||||||
|
#![cfg_attr(stage0, feature(const_fn))]
|
||||||
|
|
||||||
extern crate rustc;
|
extern crate rustc;
|
||||||
extern crate syntax;
|
extern crate syntax;
|
||||||
extern crate syntax_pos;
|
extern crate syntax_pos;
|
||||||
|
|||||||
@@ -292,6 +292,7 @@
|
|||||||
#![feature(raw)]
|
#![feature(raw)]
|
||||||
#![feature(repr_simd)]
|
#![feature(repr_simd)]
|
||||||
#![feature(rustc_attrs)]
|
#![feature(rustc_attrs)]
|
||||||
|
#![cfg_attr(not(stage0), feature(rustc_const_unstable))]
|
||||||
#![feature(shared)]
|
#![feature(shared)]
|
||||||
#![feature(sip_hash_13)]
|
#![feature(sip_hash_13)]
|
||||||
#![feature(slice_bytes)]
|
#![feature(slice_bytes)]
|
||||||
@@ -315,6 +316,17 @@
|
|||||||
#![feature(doc_cfg)]
|
#![feature(doc_cfg)]
|
||||||
#![cfg_attr(test, feature(update_panic_count))]
|
#![cfg_attr(test, feature(update_panic_count))]
|
||||||
|
|
||||||
|
#![cfg_attr(not(stage0), feature(const_max_value))]
|
||||||
|
#![cfg_attr(not(stage0), feature(const_atomic_bool_new))]
|
||||||
|
#![cfg_attr(not(stage0), feature(const_atomic_isize_new))]
|
||||||
|
#![cfg_attr(not(stage0), feature(const_atomic_usize_new))]
|
||||||
|
#![cfg_attr(all(not(stage0), windows), feature(const_atomic_ptr_new))]
|
||||||
|
#![cfg_attr(not(stage0), feature(const_unsafe_cell_new))]
|
||||||
|
#![cfg_attr(not(stage0), feature(const_cell_new))]
|
||||||
|
#![cfg_attr(not(stage0), feature(const_once_new))]
|
||||||
|
#![cfg_attr(not(stage0), feature(const_ptr_null))]
|
||||||
|
#![cfg_attr(not(stage0), feature(const_ptr_null_mut))]
|
||||||
|
|
||||||
#![default_lib_allocator]
|
#![default_lib_allocator]
|
||||||
|
|
||||||
// Always use alloc_system during stage0 since we don't know if the alloc_*
|
// Always use alloc_system during stage0 since we don't know if the alloc_*
|
||||||
|
|||||||
@@ -156,6 +156,7 @@ struct Finish {
|
|||||||
impl Once {
|
impl Once {
|
||||||
/// Creates a new `Once` value.
|
/// Creates a new `Once` value.
|
||||||
#[stable(feature = "once_new", since = "1.2.0")]
|
#[stable(feature = "once_new", since = "1.2.0")]
|
||||||
|
#[cfg_attr(not(stage0), rustc_const_unstable(feature = "const_once_new"))]
|
||||||
pub const fn new() -> Once {
|
pub const fn new() -> Once {
|
||||||
Once {
|
Once {
|
||||||
state: AtomicUsize::new(INCOMPLETE),
|
state: AtomicUsize::new(INCOMPLETE),
|
||||||
|
|||||||
@@ -16,7 +16,8 @@
|
|||||||
// which is a reduction of this code to more directly show the reason
|
// which is a reduction of this code to more directly show the reason
|
||||||
// for the error message we see here.)
|
// for the error message we see here.)
|
||||||
|
|
||||||
#![feature(const_fn, rustc_private)]
|
#![feature(rustc_private)]
|
||||||
|
#![feature(const_atomic_usize_new)]
|
||||||
|
|
||||||
extern crate arena;
|
extern crate arena;
|
||||||
|
|
||||||
|
|||||||
@@ -8,8 +8,6 @@
|
|||||||
// option. This file may not be copied, modified, or distributed
|
// option. This file may not be copied, modified, or distributed
|
||||||
// except according to those terms.
|
// except according to those terms.
|
||||||
|
|
||||||
#![feature(const_fn)]
|
|
||||||
|
|
||||||
fn f(x: usize) -> usize {
|
fn f(x: usize) -> usize {
|
||||||
x
|
x
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
//
|
//
|
||||||
// (Compare against compile-fail/dropck_vec_cycle_checked.rs)
|
// (Compare against compile-fail/dropck_vec_cycle_checked.rs)
|
||||||
|
|
||||||
#![feature(const_fn)]
|
#![feature(const_atomic_usize_new)]
|
||||||
|
|
||||||
use std::cell::Cell;
|
use std::cell::Cell;
|
||||||
use id::Id;
|
use id::Id;
|
||||||
|
|||||||
@@ -10,8 +10,6 @@
|
|||||||
|
|
||||||
// RFC 736 (and Issue 21407): functional struct update should respect privacy.
|
// RFC 736 (and Issue 21407): functional struct update should respect privacy.
|
||||||
|
|
||||||
#![feature(const_fn)]
|
|
||||||
|
|
||||||
// The `foo` module attempts to maintains an invariant that each `S`
|
// The `foo` module attempts to maintains an invariant that each `S`
|
||||||
// has a unique `u64` id.
|
// has a unique `u64` id.
|
||||||
use self::foo::S;
|
use self::foo::S;
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
// option. This file may not be copied, modified, or distributed
|
// option. This file may not be copied, modified, or distributed
|
||||||
// except according to those terms.
|
// except according to those terms.
|
||||||
|
|
||||||
#![feature(const_fn)]
|
#![feature(const_unsafe_cell_new)]
|
||||||
|
|
||||||
use std::cell::UnsafeCell;
|
use std::cell::UnsafeCell;
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
// option. This file may not be copied, modified, or distributed
|
// option. This file may not be copied, modified, or distributed
|
||||||
// except according to those terms.
|
// except according to those terms.
|
||||||
|
|
||||||
#![feature(const_fn)]
|
#![feature(const_fn, const_cell_new, const_unsafe_cell_new)]
|
||||||
#![feature(cfg_target_thread_local, thread_local_internals)]
|
#![feature(cfg_target_thread_local, thread_local_internals)]
|
||||||
|
|
||||||
// On platforms *without* `#[thread_local]`, use
|
// On platforms *without* `#[thread_local]`, use
|
||||||
|
|||||||
@@ -8,9 +8,7 @@
|
|||||||
// option. This file may not be copied, modified, or distributed
|
// option. This file may not be copied, modified, or distributed
|
||||||
// except according to those terms.
|
// except according to those terms.
|
||||||
|
|
||||||
#![feature(box_syntax)]
|
#![feature(box_syntax, const_refcell_new)]
|
||||||
#![feature(const_fn)]
|
|
||||||
#![allow(warnings)]
|
|
||||||
|
|
||||||
use std::cell::RefCell;
|
use std::cell::RefCell;
|
||||||
|
|
||||||
@@ -18,5 +16,6 @@ use std::cell::RefCell;
|
|||||||
static boxed: Box<RefCell<isize>> = box RefCell::new(0);
|
static boxed: Box<RefCell<isize>> = box RefCell::new(0);
|
||||||
//~^ ERROR allocations are not allowed in statics
|
//~^ ERROR allocations are not allowed in statics
|
||||||
//~| ERROR `std::cell::RefCell<isize>: std::marker::Sync` is not satisfied
|
//~| ERROR `std::cell::RefCell<isize>: std::marker::Sync` is not satisfied
|
||||||
|
//~| WARN unsupported constant expr
|
||||||
|
|
||||||
fn main() { }
|
fn main() { }
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
#![allow(dead_code, unused_variables)]
|
#![allow(dead_code, unused_variables)]
|
||||||
#![feature(omit_gdb_pretty_printer_section)]
|
#![feature(omit_gdb_pretty_printer_section)]
|
||||||
#![omit_gdb_pretty_printer_section]
|
#![omit_gdb_pretty_printer_section]
|
||||||
#![feature(const_fn)]
|
#![feature(const_unsafe_cell_new)]
|
||||||
#![feature(static_mutex)]
|
#![feature(static_mutex)]
|
||||||
|
|
||||||
// This test makes sure that the compiler doesn't crash when trying to assign
|
// This test makes sure that the compiler doesn't crash when trying to assign
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
// no-prefer-dynamic
|
// no-prefer-dynamic
|
||||||
|
|
||||||
#![allow(dead_code)]
|
#![allow(dead_code)]
|
||||||
#![feature(const_fn)]
|
#![feature(const_atomic_usize_new)]
|
||||||
|
|
||||||
// check dtor calling order when casting enums.
|
// check dtor calling order when casting enums.
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
// `Item` originates in a where-clause, not the declaration of
|
// `Item` originates in a where-clause, not the declaration of
|
||||||
// `T`. Issue #20300.
|
// `T`. Issue #20300.
|
||||||
|
|
||||||
#![feature(const_fn)]
|
#![feature(const_atomic_usize_new)]
|
||||||
|
|
||||||
use std::marker::{PhantomData};
|
use std::marker::{PhantomData};
|
||||||
use std::sync::atomic::{AtomicUsize};
|
use std::sync::atomic::{AtomicUsize};
|
||||||
|
|||||||
@@ -13,4 +13,4 @@
|
|||||||
#![crate_type="rlib"]
|
#![crate_type="rlib"]
|
||||||
#![feature(const_fn)]
|
#![feature(const_fn)]
|
||||||
|
|
||||||
pub const fn foo() -> usize { 22 } //~ ERROR const fn is unstable
|
pub const fn foo() -> usize { 22 }
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
// option. This file may not be copied, modified, or distributed
|
// option. This file may not be copied, modified, or distributed
|
||||||
// except according to those terms.
|
// except according to those terms.
|
||||||
|
|
||||||
#![feature(const_fn)]
|
#![feature(const_atomic_usize_new)]
|
||||||
|
|
||||||
use std::sync::atomic;
|
use std::sync::atomic;
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
// except according to those terms.
|
// except according to those terms.
|
||||||
|
|
||||||
#![feature(cfg_target_thread_local, const_fn, thread_local)]
|
#![feature(cfg_target_thread_local, const_fn, thread_local)]
|
||||||
|
#![feature(const_cell_new)]
|
||||||
#![crate_type = "lib"]
|
#![crate_type = "lib"]
|
||||||
|
|
||||||
#[cfg(target_thread_local)]
|
#[cfg(target_thread_local)]
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
// ignore-emscripten no threads support
|
// ignore-emscripten no threads support
|
||||||
|
|
||||||
#![feature(const_fn)]
|
#![feature(const_atomic_usize_new)]
|
||||||
|
|
||||||
use std::thread;
|
use std::thread;
|
||||||
use std::sync::atomic::{AtomicUsize, Ordering};
|
use std::sync::atomic::{AtomicUsize, Ordering};
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
// ignore-emscripten no threads support
|
// ignore-emscripten no threads support
|
||||||
|
|
||||||
#![feature(const_fn)]
|
#![feature(const_atomic_usize_new)]
|
||||||
|
|
||||||
use std::thread;
|
use std::thread;
|
||||||
use std::sync::atomic::{AtomicUsize, Ordering};
|
use std::sync::atomic::{AtomicUsize, Ordering};
|
||||||
|
|||||||
@@ -1,26 +0,0 @@
|
|||||||
// Copyright 2015 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.
|
|
||||||
|
|
||||||
// aux-build:const_fn_lib.rs
|
|
||||||
|
|
||||||
// A very basic test of const fn functionality.
|
|
||||||
|
|
||||||
#![feature(const_fn)]
|
|
||||||
|
|
||||||
extern crate const_fn_lib;
|
|
||||||
|
|
||||||
use const_fn_lib::foo;
|
|
||||||
|
|
||||||
const FOO: usize = foo();
|
|
||||||
|
|
||||||
fn main() {
|
|
||||||
assert_eq!(FOO, 22);
|
|
||||||
let _: [i32; foo()] = [42; 22];
|
|
||||||
}
|
|
||||||
@@ -16,8 +16,8 @@ extern crate const_fn_lib;
|
|||||||
|
|
||||||
use const_fn_lib::foo;
|
use const_fn_lib::foo;
|
||||||
|
|
||||||
static FOO: usize = foo(); //~ ERROR const fns are an unstable feature
|
static FOO: usize = foo();
|
||||||
const BAR: usize = foo(); //~ ERROR const fns are an unstable feature
|
const BAR: usize = foo();
|
||||||
|
|
||||||
macro_rules! constant {
|
macro_rules! constant {
|
||||||
($n:ident: $t:ty = $v:expr) => {
|
($n:ident: $t:ty = $v:expr) => {
|
||||||
@@ -26,9 +26,9 @@ macro_rules! constant {
|
|||||||
}
|
}
|
||||||
|
|
||||||
constant! {
|
constant! {
|
||||||
BAZ: usize = foo() //~ ERROR const fns are an unstable feature
|
BAZ: usize = foo()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
// let x: [usize; foo()] = [];
|
let x: [usize; foo()] = [42; foo()];
|
||||||
}
|
}
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
// option. This file may not be copied, modified, or distributed
|
// option. This file may not be copied, modified, or distributed
|
||||||
// except according to those terms.
|
// except according to those terms.
|
||||||
|
|
||||||
#![feature(const_fn)]
|
#![feature(const_fn, const_size_of, const_align_of)]
|
||||||
|
|
||||||
use std::mem;
|
use std::mem;
|
||||||
|
|
||||||
|
|||||||
@@ -11,8 +11,7 @@
|
|||||||
// pretty-expanded FIXME #23616
|
// pretty-expanded FIXME #23616
|
||||||
|
|
||||||
#![feature(core)]
|
#![feature(core)]
|
||||||
#![feature(const_fn)]
|
#![feature(const_unsafe_cell_new)]
|
||||||
|
|
||||||
|
|
||||||
use std::marker;
|
use std::marker;
|
||||||
use std::cell::UnsafeCell;
|
use std::cell::UnsafeCell;
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
|
|
||||||
#![feature(core)]
|
#![feature(core)]
|
||||||
#![feature(const_fn)]
|
#![feature(const_atomic_usize_new)]
|
||||||
|
|
||||||
extern crate issue_17718_aux as other;
|
extern crate issue_17718_aux as other;
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
// created via FRU and control-flow breaks in the middle of
|
// created via FRU and control-flow breaks in the middle of
|
||||||
// construction.
|
// construction.
|
||||||
|
|
||||||
#![feature(const_fn)]
|
#![feature(const_atomic_usize_new)]
|
||||||
|
|
||||||
use std::sync::atomic::{Ordering, AtomicUsize};
|
use std::sync::atomic::{Ordering, AtomicUsize};
|
||||||
|
|
||||||
|
|||||||
@@ -10,10 +10,10 @@
|
|||||||
|
|
||||||
// ignore-emscripten no threads support
|
// ignore-emscripten no threads support
|
||||||
|
|
||||||
#![feature(const_fn)]
|
|
||||||
|
|
||||||
// Check that the destructors of simple enums are run on unwinding
|
// Check that the destructors of simple enums are run on unwinding
|
||||||
|
|
||||||
|
#![feature(const_atomic_usize_new)]
|
||||||
|
|
||||||
use std::sync::atomic::{Ordering, AtomicUsize};
|
use std::sync::atomic::{Ordering, AtomicUsize};
|
||||||
use std::thread;
|
use std::thread;
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
// option. This file may not be copied, modified, or distributed
|
// option. This file may not be copied, modified, or distributed
|
||||||
// except according to those terms.
|
// except according to those terms.
|
||||||
|
|
||||||
#![feature(const_fn)]
|
#![feature(const_atomic_usize_new)]
|
||||||
|
|
||||||
use std::sync::atomic::{Ordering, AtomicUsize};
|
use std::sync::atomic::{Ordering, AtomicUsize};
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
// the contents implement Drop and we hit a panic in the middle of
|
// the contents implement Drop and we hit a panic in the middle of
|
||||||
// construction.
|
// construction.
|
||||||
|
|
||||||
#![feature(const_fn)]
|
#![feature(const_atomic_usize_new)]
|
||||||
|
|
||||||
use std::thread;
|
use std::thread;
|
||||||
use std::sync::atomic::{AtomicUsize, Ordering};
|
use std::sync::atomic::{AtomicUsize, Ordering};
|
||||||
|
|||||||
@@ -10,7 +10,8 @@
|
|||||||
|
|
||||||
// ignore-emscripten no threads support
|
// ignore-emscripten no threads support
|
||||||
|
|
||||||
#![feature(panic_handler, const_fn, std_panic)]
|
#![feature(panic_handler, std_panic)]
|
||||||
|
#![feature(const_atomic_usize_new)]
|
||||||
|
|
||||||
use std::sync::atomic::{AtomicUsize, Ordering};
|
use std::sync::atomic::{AtomicUsize, Ordering};
|
||||||
use std::panic;
|
use std::panic;
|
||||||
|
|||||||
@@ -7,7 +7,8 @@
|
|||||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||||
// option. This file may not be copied, modified, or distributed
|
// option. This file may not be copied, modified, or distributed
|
||||||
// except according to those terms.
|
// except according to those terms.
|
||||||
#![feature(panic_handler, const_fn, std_panic)]
|
#![feature(panic_handler, std_panic)]
|
||||||
|
#![feature(const_atomic_usize_new)]
|
||||||
|
|
||||||
// ignore-emscripten no threads support
|
// ignore-emscripten no threads support
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
// Checks that functional-record-update order-of-eval is as expected
|
// Checks that functional-record-update order-of-eval is as expected
|
||||||
// even when no Drop-implementations are involved.
|
// even when no Drop-implementations are involved.
|
||||||
|
|
||||||
#![feature(const_fn)]
|
#![feature(const_atomic_usize_new)]
|
||||||
|
|
||||||
use std::sync::atomic::{Ordering, AtomicUsize};
|
use std::sync::atomic::{Ordering, AtomicUsize};
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
// Checks that struct-literal expression order-of-eval is as expected
|
// Checks that struct-literal expression order-of-eval is as expected
|
||||||
// even when no Drop-implementations are involved.
|
// even when no Drop-implementations are involved.
|
||||||
|
|
||||||
#![feature(const_fn)]
|
#![feature(const_atomic_usize_new)]
|
||||||
|
|
||||||
use std::sync::atomic::{Ordering, AtomicUsize};
|
use std::sync::atomic::{Ordering, AtomicUsize};
|
||||||
|
|
||||||
|
|||||||
@@ -10,9 +10,9 @@
|
|||||||
|
|
||||||
// ignore-emscripten no threads support
|
// ignore-emscripten no threads support
|
||||||
|
|
||||||
#![feature(const_fn)]
|
|
||||||
#![feature(rand)]
|
#![feature(rand)]
|
||||||
#![feature(sort_unstable)]
|
#![feature(sort_unstable)]
|
||||||
|
#![feature(const_atomic_usize_new)]
|
||||||
|
|
||||||
use std::__rand::{thread_rng, Rng};
|
use std::__rand::{thread_rng, Rng};
|
||||||
use std::cell::Cell;
|
use std::cell::Cell;
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
//
|
//
|
||||||
// (Compare against compile-fail/dropck_vec_cycle_checked.rs)
|
// (Compare against compile-fail/dropck_vec_cycle_checked.rs)
|
||||||
|
|
||||||
#![feature(const_fn)]
|
#![feature(const_atomic_usize_new)]
|
||||||
|
|
||||||
use std::cell::Cell;
|
use std::cell::Cell;
|
||||||
use id::Id;
|
use id::Id;
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
//
|
//
|
||||||
// (Compare against compile-fail/dropck_arr_cycle_checked.rs)
|
// (Compare against compile-fail/dropck_arr_cycle_checked.rs)
|
||||||
|
|
||||||
#![feature(const_fn)]
|
#![feature(const_atomic_usize_new)]
|
||||||
|
|
||||||
use std::cell::Cell;
|
use std::cell::Cell;
|
||||||
use id::Id;
|
use id::Id;
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
// conditions above to be satisfied, meaning that if the dropck is
|
// conditions above to be satisfied, meaning that if the dropck is
|
||||||
// sound, it should reject this code.
|
// sound, it should reject this code.
|
||||||
|
|
||||||
#![feature(const_fn)]
|
#![feature(const_atomic_usize_new)]
|
||||||
|
|
||||||
use std::cell::Cell;
|
use std::cell::Cell;
|
||||||
use id::Id;
|
use id::Id;
|
||||||
|
|||||||
Reference in New Issue
Block a user