about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorAlex Burka <alex@alexburka.com>2017-09-08 18:26:54 +0000
committerAlex Burka <alex@alexburka.com>2017-09-16 15:53:02 +0000
commit681e5da61ee3f1251c00c2ec0d93dd23dbf861bc (patch)
treea6e75c81f714d9869123ffe5b3c34fbfc05fae61 /src/libstd
parenta12d0d4f6672a9621771433d2f05757f1f79130d (diff)
downloadrust-681e5da61ee3f1251c00c2ec0d93dd23dbf861bc.tar.gz
rust-681e5da61ee3f1251c00c2ec0d93dd23dbf861bc.zip
change #![feature(const_fn)] to specific gates
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/lib.rs12
-rw-r--r--src/libstd/sync/once.rs1
2 files changed, 13 insertions, 0 deletions
diff --git a/src/libstd/lib.rs b/src/libstd/lib.rs
index 33bf0d68126..aa1337a9da0 100644
--- a/src/libstd/lib.rs
+++ b/src/libstd/lib.rs
@@ -292,6 +292,7 @@
 #![feature(raw)]
 #![feature(repr_simd)]
 #![feature(rustc_attrs)]
+#![cfg_attr(not(stage0), feature(rustc_const_unstable))]
 #![feature(shared)]
 #![feature(sip_hash_13)]
 #![feature(slice_bytes)]
@@ -315,6 +316,17 @@
 #![feature(doc_cfg)]
 #![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]
 
 // Always use alloc_system during stage0 since we don't know if the alloc_*
diff --git a/src/libstd/sync/once.rs b/src/libstd/sync/once.rs
index 403685a4b8e..015106fc2e5 100644
--- a/src/libstd/sync/once.rs
+++ b/src/libstd/sync/once.rs
@@ -156,6 +156,7 @@ struct Finish {
 impl Once {
     /// Creates a new `Once` value.
     #[stable(feature = "once_new", since = "1.2.0")]
+    #[cfg_attr(not(stage0), rustc_const_unstable(feature = "const_once_new"))]
     pub const fn new() -> Once {
         Once {
             state: AtomicUsize::new(INCOMPLETE),