Auto merge of #134768 - RalfJung:const_alloc_layout, r=jhpratt
stabilize const_alloc_layout libs-api FCP passed in https://github.com/rust-lang/rust/issues/67521 Fixes #67521
This commit is contained in:
commit
a25032cf44
1 changed files with 5 additions and 10 deletions
|
|
@ -178,8 +178,7 @@ impl Layout {
|
|||
/// allocate backing structure for `T` (which could be a trait
|
||||
/// or other unsized type like a slice).
|
||||
#[stable(feature = "alloc_layout", since = "1.28.0")]
|
||||
#[rustc_const_unstable(feature = "const_alloc_layout", issue = "67521")]
|
||||
#[rustc_const_stable_indirect]
|
||||
#[rustc_const_stable(feature = "const_alloc_layout", since = "CURRENT_RUSTC_VERSION")]
|
||||
#[must_use]
|
||||
#[inline]
|
||||
pub const fn for_value<T: ?Sized>(t: &T) -> Self {
|
||||
|
|
@ -253,8 +252,7 @@ impl Layout {
|
|||
/// Returns an error if the combination of `self.size()` and the given
|
||||
/// `align` violates the conditions listed in [`Layout::from_size_align`].
|
||||
#[stable(feature = "alloc_layout_manipulation", since = "1.44.0")]
|
||||
#[rustc_const_unstable(feature = "const_alloc_layout", issue = "67521")]
|
||||
#[rustc_const_stable_indirect]
|
||||
#[rustc_const_stable(feature = "const_alloc_layout", since = "CURRENT_RUSTC_VERSION")]
|
||||
#[inline]
|
||||
pub const fn align_to(&self, align: usize) -> Result<Self, LayoutError> {
|
||||
if let Some(align) = Alignment::new(align) {
|
||||
|
|
@ -329,8 +327,7 @@ impl Layout {
|
|||
/// This is equivalent to adding the result of `padding_needed_for`
|
||||
/// to the layout's current size.
|
||||
#[stable(feature = "alloc_layout_manipulation", since = "1.44.0")]
|
||||
#[rustc_const_unstable(feature = "const_alloc_layout", issue = "67521")]
|
||||
#[rustc_const_stable_indirect]
|
||||
#[rustc_const_stable(feature = "const_alloc_layout", since = "CURRENT_RUSTC_VERSION")]
|
||||
#[must_use = "this returns a new `Layout`, \
|
||||
without modifying the original"]
|
||||
#[inline]
|
||||
|
|
@ -429,8 +426,7 @@ impl Layout {
|
|||
/// # assert_eq!(repr_c(&[u64, u32, u16, u32]), Ok((s, vec![0, 8, 12, 16])));
|
||||
/// ```
|
||||
#[stable(feature = "alloc_layout_manipulation", since = "1.44.0")]
|
||||
#[rustc_const_unstable(feature = "const_alloc_layout", issue = "67521")]
|
||||
#[rustc_const_stable_indirect]
|
||||
#[rustc_const_stable(feature = "const_alloc_layout", since = "CURRENT_RUSTC_VERSION")]
|
||||
#[inline]
|
||||
pub const fn extend(&self, next: Self) -> Result<(Self, usize), LayoutError> {
|
||||
let new_align = Alignment::max(self.align, next.align);
|
||||
|
|
@ -493,8 +489,7 @@ impl Layout {
|
|||
/// On arithmetic overflow or when the total size would exceed
|
||||
/// `isize::MAX`, returns `LayoutError`.
|
||||
#[stable(feature = "alloc_layout_manipulation", since = "1.44.0")]
|
||||
#[rustc_const_unstable(feature = "const_alloc_layout", issue = "67521")]
|
||||
#[rustc_const_stable_indirect]
|
||||
#[rustc_const_stable(feature = "const_alloc_layout", since = "CURRENT_RUSTC_VERSION")]
|
||||
#[inline]
|
||||
pub const fn array<T>(n: usize) -> Result<Self, LayoutError> {
|
||||
// Reduce the amount of code we need to monomorphize per `T`.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue