Rollup merge of #130136 - GKFX:stabilize-const-pin, r=dtolnay · qinheping/verify-rust-std@fca7375 (original) (raw)

`@@ -1186,7 +1186,7 @@ impl<Ptr: Deref<Target: Unpin>> Pin {

`

1186

1186

`/// let mut pinned: Pin<&mut u8> = Pin::new(&mut val);

`

1187

1187

```` /// ```


`1188`

`1188`

`#[inline(always)]

`

`1189`

``

`-

#[rustc_const_unstable(feature = "const_pin", issue = "76654")]

`

``

`1189`

`+

#[rustc_const_stable(feature = "const_pin", since = "CURRENT_RUSTC_VERSION")]

`

`1190`

`1190`

`#[stable(feature = "pin", since = "1.33.0")]

`

`1191`

`1191`

`pub const fn new(pointer: Ptr) -> Pin<Ptr> {

`

`1192`

`1192`

`` // SAFETY: the value pointed to is `Unpin`, and so has no requirements

``

`@@ -1214,7 +1214,7 @@ impl<Ptr: Deref<Target: Unpin>> Pin<Ptr> {

`

`1214`

`1214`

`/// assert_eq!(*r, 5);

`

`1215`

`1215`

```` /// ```

1216

1216

`#[inline(always)]

`

1217

``

`-

#[rustc_const_unstable(feature = "const_pin", issue = "76654")]

`

``

1217

`+

#[rustc_const_unstable(feature = "const_pin_2", issue = "76654")]

`

1218

1218

`#[stable(feature = "pin_into_inner", since = "1.39.0")]

`

1219

1219

`pub const fn into_inner(pin: Pin) -> Ptr {

`

1220

1220

` pin.__pointer

`

`@@ -1351,7 +1351,7 @@ impl<Ptr: Deref> Pin {

`

1351

1351

`` /// [pin module docs]: self

``

1352

1352

`#[lang = "new_unchecked"]

`

1353

1353

`#[inline(always)]

`

1354

``

`-

#[rustc_const_unstable(feature = "const_pin", issue = "76654")]

`

``

1354

`+

#[rustc_const_stable(feature = "const_pin", since = "CURRENT_RUSTC_VERSION")]

`

1355

1355

`#[stable(feature = "pin", since = "1.33.0")]

`

1356

1356

`pub const unsafe fn new_unchecked(pointer: Ptr) -> Pin {

`

1357

1357

`Pin { __pointer: pointer }

`

`@@ -1503,7 +1503,7 @@ impl<Ptr: Deref> Pin {

`

1503

1503

`` /// If the underlying data is [Unpin], [Pin::into_inner] should be used

``

1504

1504

`/// instead.

`

1505

1505

`#[inline(always)]

`

1506

``

`-

#[rustc_const_unstable(feature = "const_pin", issue = "76654")]

`

``

1506

`+

#[rustc_const_unstable(feature = "const_pin_2", issue = "76654")]

`

1507

1507

`#[stable(feature = "pin_into_inner", since = "1.39.0")]

`

1508

1508

`pub const unsafe fn into_inner_unchecked(pin: Pin) -> Ptr {

`

1509

1509

` pin.__pointer

`

`@@ -1559,7 +1559,7 @@ impl<'a, T: ?Sized> Pin<&'a T> {

`

1559

1559

`/// ["pinning projections"]: self#projections-and-structural-pinning

`

1560

1560

`#[inline(always)]

`

1561

1561

`#[must_use]

`

1562

``

`-

#[rustc_const_unstable(feature = "const_pin", issue = "76654")]

`

``

1562

`+

#[rustc_const_stable(feature = "const_pin", since = "CURRENT_RUSTC_VERSION")]

`

1563

1563

`#[stable(feature = "pin", since = "1.33.0")]

`

1564

1564

`pub const fn get_ref(self) -> &'a T {

`

1565

1565

`self.__pointer

`

`@@ -1570,7 +1570,7 @@ impl<'a, T: ?Sized> Pin<&'a mut T> {

`

1570

1570

`` /// Converts this Pin<&mut T> into a Pin<&T> with the same lifetime.

``

1571

1571

`#[inline(always)]

`

1572

1572

`` #[must_use = "self will be dropped if the result is not used"]

``

1573

``

`-

#[rustc_const_unstable(feature = "const_pin", issue = "76654")]

`

``

1573

`+

#[rustc_const_stable(feature = "const_pin", since = "CURRENT_RUSTC_VERSION")]

`

1574

1574

`#[stable(feature = "pin", since = "1.33.0")]

`

1575

1575

`pub const fn into_ref(self) -> Pin<&'a T> {

`

1576

1576

`Pin { __pointer: self.__pointer }

`

`@@ -1588,7 +1588,7 @@ impl<'a, T: ?Sized> Pin<&'a mut T> {

`

1588

1588

`#[inline(always)]

`

1589

1589

`` #[must_use = "self will be dropped if the result is not used"]

``

1590

1590

`#[stable(feature = "pin", since = "1.33.0")]

`

1591

``

`-

#[rustc_const_unstable(feature = "const_pin", issue = "76654")]

`

``

1591

`+

#[rustc_const_stable(feature = "const_pin", since = "CURRENT_RUSTC_VERSION")]

`

1592

1592

`pub const fn get_mut(self) -> &'a mut T

`

1593

1593

`where

`

1594

1594

`T: Unpin,

`

`@@ -1609,7 +1609,7 @@ impl<'a, T: ?Sized> Pin<&'a mut T> {

`

1609

1609

`#[inline(always)]

`

1610

1610

`` #[must_use = "self will be dropped if the result is not used"]

``

1611

1611

`#[stable(feature = "pin", since = "1.33.0")]

`

1612

``

`-

#[rustc_const_unstable(feature = "const_pin", issue = "76654")]

`

``

1612

`+

#[rustc_const_stable(feature = "const_pin", since = "CURRENT_RUSTC_VERSION")]

`

1613

1613

`pub const unsafe fn get_unchecked_mut(self) -> &'a mut T {

`

1614

1614

`self.__pointer

`

1615

1615

`}

`

`@@ -1652,7 +1652,7 @@ impl<T: ?Sized> Pin<&'static T> {

`

1652

1652

`` /// This is safe because T is borrowed immutably for the 'static lifetime, which

``

1653

1653

`/// never ends.

`

1654

1654

`#[stable(feature = "pin_static_ref", since = "1.61.0")]

`

1655

``

`-

#[rustc_const_unstable(feature = "const_pin", issue = "76654")]

`

``

1655

`+

#[rustc_const_stable(feature = "const_pin", since = "CURRENT_RUSTC_VERSION")]

`

1656

1656

`pub const fn static_ref(r: &'static T) -> Pin<&'static T> {

`

1657

1657

`// SAFETY: The 'static borrow guarantees the data will not be

`

1658

1658

`// moved/invalidated until it gets dropped (which is never).

`

`@@ -1666,7 +1666,7 @@ impl<T: ?Sized> Pin<&'static mut T> {

`

1666

1666

`` /// This is safe because T is borrowed for the 'static lifetime, which

``

1667

1667

`/// never ends.

`

1668

1668

`#[stable(feature = "pin_static_ref", since = "1.61.0")]

`

1669

``

`-

#[rustc_const_unstable(feature = "const_pin", issue = "76654")]

`

``

1669

`+

#[rustc_const_stable(feature = "const_pin", since = "CURRENT_RUSTC_VERSION")]

`

1670

1670

`pub const fn static_mut(r: &'static mut T) -> Pin<&'static mut T> {

`

1671

1671

`// SAFETY: The 'static borrow guarantees the data will not be

`

1672

1672

`// moved/invalidated until it gets dropped (which is never).

`