@@ -324,6 +324,7 @@ impl<T> Cell<T> {
324324 /// let c = Cell::new(5);
325325 /// ```
326326 #[ stable( feature = "rust1" , since = "1.0.0" ) ]
327+ #[ cfg_attr( not( bootstrap) , rustc_const_stable( feature = "const_cell_new" , since = "1.32.0" ) ) ]
327328 #[ inline]
328329 pub const fn new ( value : T ) -> Cell < T > {
329330 Cell {
@@ -469,6 +470,7 @@ impl<T: ?Sized> Cell<T> {
469470 /// ```
470471 #[ inline]
471472 #[ stable( feature = "cell_as_ptr" , since = "1.12.0" ) ]
473+ #[ cfg_attr( not( bootstrap) , rustc_const_stable( feature = "const_cell_as_ptr" , since = "1.32.0" ) ) ]
472474 pub const fn as_ptr ( & self ) -> * mut T {
473475 self . value . get ( )
474476 }
@@ -649,6 +651,7 @@ impl<T> RefCell<T> {
649651 /// let c = RefCell::new(5);
650652 /// ```
651653 #[ stable( feature = "rust1" , since = "1.0.0" ) ]
654+ #[ cfg_attr( not( bootstrap) , rustc_const_stable( feature = "const_refcell_new" , since = "1.32.0" ) ) ]
652655 #[ inline]
653656 pub const fn new ( value : T ) -> RefCell < T > {
654657 RefCell {
@@ -1501,6 +1504,10 @@ impl<T> UnsafeCell<T> {
15011504 /// let uc = UnsafeCell::new(5);
15021505 /// ```
15031506 #[ stable( feature = "rust1" , since = "1.0.0" ) ]
1507+ #[ cfg_attr(
1508+ not( bootstrap) ,
1509+ rustc_const_stable( feature = "const_unsafe_cell_new" , since = "1.32.0" ) ,
1510+ ) ]
15041511 #[ inline]
15051512 pub const fn new ( value : T ) -> UnsafeCell < T > {
15061513 UnsafeCell { value }
@@ -1543,6 +1550,10 @@ impl<T: ?Sized> UnsafeCell<T> {
15431550 /// ```
15441551 #[ inline]
15451552 #[ stable( feature = "rust1" , since = "1.0.0" ) ]
1553+ #[ cfg_attr(
1554+ not( bootstrap) ,
1555+ rustc_const_stable( feature = "const_unsafecell_get" , since = "1.32.0" ) ,
1556+ ) ]
15461557 pub const fn get ( & self ) -> * mut T {
15471558 // We can just cast the pointer from `UnsafeCell<T>` to `T` because of
15481559 // #[repr(transparent)]. This exploits libstd's special status, there is
0 commit comments