@@ -216,7 +216,7 @@ impl Layout {
216216/// [trait object]: ../../book/ch17-02-trait-objects.html 
217217/// [extern type]: ../../unstable-book/language-features/extern-types.html 
218218#[ unstable( feature = "layout_for_ptr" ,  issue = "69835" ) ]  
219-     #[ rustc_const_unstable( feature = "const_alloc_layout " ,  issue = "67521 " ) ]  
219+     #[ rustc_const_unstable( feature = "layout_for_ptr " ,  issue = "69835 " ) ]  
220220    #[ must_use]  
221221    pub  const  unsafe  fn  for_value_raw < T :  ?Sized > ( t :  * const  T )  -> Self  { 
222222        // SAFETY: we pass along the prerequisites of these functions to the caller 
@@ -232,7 +232,6 @@ impl Layout {
232232/// sentinel value. Types that lazily allocate must track initialization by 
233233/// some other means. 
234234#[ unstable( feature = "alloc_layout_extra" ,  issue = "55724" ) ]  
235-     #[ rustc_const_unstable( feature = "alloc_layout_extra" ,  issue = "55724" ) ]  
236235    #[ must_use]  
237236    #[ inline]  
238237    pub  const  fn  dangling ( & self )  -> NonNull < u8 >  { 
@@ -282,7 +281,6 @@ impl Layout {
282281/// address for the whole allocated block of memory. One way to 
283282/// satisfy this constraint is to ensure `align <= self.align()`. 
284283#[ unstable( feature = "alloc_layout_extra" ,  issue = "55724" ) ]  
285-     #[ rustc_const_unstable( feature = "const_alloc_layout" ,  issue = "67521" ) ]  
286284    #[ must_use = "this returns the padding needed, \   
287285] 
288286    #[ inline]  
@@ -332,6 +330,7 @@ impl Layout {
332330/// to the layout's current size. 
333331#[ stable( feature = "alloc_layout_manipulation" ,  since = "1.44.0" ) ]  
334332    #[ rustc_const_unstable( feature = "const_alloc_layout" ,  issue = "67521" ) ]  
333+     #[ cfg_attr( not( bootstrap) ,  rustc_const_stable_indirect) ]  
335334    #[ must_use = "this returns a new `Layout`, \   
336335] 
337336    #[ inline]  
@@ -374,7 +373,6 @@ impl Layout {
374373/// assert_eq!(repeated, (Layout::from_size_align(24, 4).unwrap(), 8)); 
375374/// ``` 
376375#[ unstable( feature = "alloc_layout_extra" ,  issue = "55724" ) ]  
377-     #[ rustc_const_unstable( feature = "const_alloc_layout" ,  issue = "67521" ) ]  
378376    #[ inline]  
379377    pub  const  fn  repeat ( & self ,  n :  usize )  -> Result < ( Self ,  usize ) ,  LayoutError >  { 
380378        let  padded = self . pad_to_align ( ) ; 
@@ -432,6 +430,7 @@ impl Layout {
432430/// ``` 
433431#[ stable( feature = "alloc_layout_manipulation" ,  since = "1.44.0" ) ]  
434432    #[ rustc_const_unstable( feature = "const_alloc_layout" ,  issue = "67521" ) ]  
433+     #[ cfg_attr( not( bootstrap) ,  rustc_const_stable_indirect) ]  
435434    #[ inline]  
436435    pub  const  fn  extend ( & self ,  next :  Self )  -> Result < ( Self ,  usize ) ,  LayoutError >  { 
437436        let  new_align = Alignment :: max ( self . align ,  next. align ) ; 
@@ -463,7 +462,6 @@ impl Layout {
463462/// 
464463/// On arithmetic overflow, returns `LayoutError`. 
465464#[ unstable( feature = "alloc_layout_extra" ,  issue = "55724" ) ]  
466-     #[ rustc_const_unstable( feature = "const_alloc_layout" ,  issue = "67521" ) ]  
467465    #[ inline]  
468466    pub  const  fn  repeat_packed ( & self ,  n :  usize )  -> Result < Self ,  LayoutError >  { 
469467        if  let  Some ( size)  = self . size . checked_mul ( n)  { 
@@ -481,7 +479,6 @@ impl Layout {
481479/// 
482480/// On arithmetic overflow, returns `LayoutError`. 
483481#[ unstable( feature = "alloc_layout_extra" ,  issue = "55724" ) ]  
484-     #[ rustc_const_unstable( feature = "const_alloc_layout" ,  issue = "67521" ) ]  
485482    #[ inline]  
486483    pub  const  fn  extend_packed ( & self ,  next :  Self )  -> Result < Self ,  LayoutError >  { 
487484        // SAFETY: each `size` is at most `isize::MAX == usize::MAX/2`, so the 
@@ -497,6 +494,7 @@ impl Layout {
497494/// `isize::MAX`, returns `LayoutError`. 
498495#[ stable( feature = "alloc_layout_manipulation" ,  since = "1.44.0" ) ]  
499496    #[ rustc_const_unstable( feature = "const_alloc_layout" ,  issue = "67521" ) ]  
497+     #[ cfg_attr( not( bootstrap) ,  rustc_const_stable_indirect) ]  
500498    #[ inline]  
501499    pub  const  fn  array < T > ( n :  usize )  -> Result < Self ,  LayoutError >  { 
502500        // Reduce the amount of code we need to monomorphize per `T`. 
0 commit comments