Rollup merge of #150113 - Darksonn:pin-coerce-unsized-to-150112, r=jackh726
Update tracking issue for PinCoerceUnsized This uses the newly created tracking issue https://github.com/rust-lang/rust/issues/150112. Please see https://github.com/rust-lang/rust/issues/68015#issuecomment-3665424732 for motivation. r? ``@jackh726``
This commit is contained in:
commit
4ea24671ed
7 changed files with 16 additions and 16 deletions
|
|
@ -2253,7 +2253,7 @@ impl<Args: Tuple, F: AsyncFn<Args> + ?Sized, A: Allocator> AsyncFn<Args> for Box
|
|||
#[unstable(feature = "coerce_unsized", issue = "18598")]
|
||||
impl<T: ?Sized + Unsize<U>, U: ?Sized, A: Allocator> CoerceUnsized<Box<U, A>> for Box<T, A> {}
|
||||
|
||||
#[unstable(feature = "pin_coerce_unsized_trait", issue = "123430")]
|
||||
#[unstable(feature = "pin_coerce_unsized_trait", issue = "150112")]
|
||||
unsafe impl<T: ?Sized, A: Allocator> PinCoerceUnsized for Box<T, A> {}
|
||||
|
||||
// It is quite crucial that we only allow the `Global` allocator here.
|
||||
|
|
|
|||
|
|
@ -2417,14 +2417,14 @@ impl<T: ?Sized, A: Allocator> Deref for Rc<T, A> {
|
|||
}
|
||||
}
|
||||
|
||||
#[unstable(feature = "pin_coerce_unsized_trait", issue = "123430")]
|
||||
#[unstable(feature = "pin_coerce_unsized_trait", issue = "150112")]
|
||||
unsafe impl<T: ?Sized, A: Allocator> PinCoerceUnsized for Rc<T, A> {}
|
||||
|
||||
//#[unstable(feature = "unique_rc_arc", issue = "112566")]
|
||||
#[unstable(feature = "pin_coerce_unsized_trait", issue = "123430")]
|
||||
#[unstable(feature = "pin_coerce_unsized_trait", issue = "150112")]
|
||||
unsafe impl<T: ?Sized, A: Allocator> PinCoerceUnsized for UniqueRc<T, A> {}
|
||||
|
||||
#[unstable(feature = "pin_coerce_unsized_trait", issue = "123430")]
|
||||
#[unstable(feature = "pin_coerce_unsized_trait", issue = "150112")]
|
||||
unsafe impl<T: ?Sized, A: Allocator> PinCoerceUnsized for Weak<T, A> {}
|
||||
|
||||
#[unstable(feature = "deref_pure_trait", issue = "87121")]
|
||||
|
|
|
|||
|
|
@ -2423,10 +2423,10 @@ impl<T: ?Sized, A: Allocator> Deref for Arc<T, A> {
|
|||
}
|
||||
}
|
||||
|
||||
#[unstable(feature = "pin_coerce_unsized_trait", issue = "123430")]
|
||||
#[unstable(feature = "pin_coerce_unsized_trait", issue = "150112")]
|
||||
unsafe impl<T: ?Sized, A: Allocator> PinCoerceUnsized for Arc<T, A> {}
|
||||
|
||||
#[unstable(feature = "pin_coerce_unsized_trait", issue = "123430")]
|
||||
#[unstable(feature = "pin_coerce_unsized_trait", issue = "150112")]
|
||||
unsafe impl<T: ?Sized, A: Allocator> PinCoerceUnsized for Weak<T, A> {}
|
||||
|
||||
#[unstable(feature = "deref_pure_trait", issue = "87121")]
|
||||
|
|
@ -4852,7 +4852,7 @@ impl<T: ?Sized, A: Allocator> Deref for UniqueArc<T, A> {
|
|||
}
|
||||
|
||||
// #[unstable(feature = "unique_rc_arc", issue = "112566")]
|
||||
#[unstable(feature = "pin_coerce_unsized_trait", issue = "123430")]
|
||||
#[unstable(feature = "pin_coerce_unsized_trait", issue = "150112")]
|
||||
unsafe impl<T: ?Sized> PinCoerceUnsized for UniqueArc<T> {}
|
||||
|
||||
#[unstable(feature = "unique_rc_arc", issue = "112566")]
|
||||
|
|
|
|||
|
|
@ -2696,20 +2696,20 @@ fn assert_coerce_unsized(
|
|||
let _: RefCell<&dyn Send> = d;
|
||||
}
|
||||
|
||||
#[unstable(feature = "pin_coerce_unsized_trait", issue = "123430")]
|
||||
#[unstable(feature = "pin_coerce_unsized_trait", issue = "150112")]
|
||||
unsafe impl<T: ?Sized> PinCoerceUnsized for UnsafeCell<T> {}
|
||||
|
||||
#[unstable(feature = "pin_coerce_unsized_trait", issue = "123430")]
|
||||
#[unstable(feature = "pin_coerce_unsized_trait", issue = "150112")]
|
||||
unsafe impl<T: ?Sized> PinCoerceUnsized for SyncUnsafeCell<T> {}
|
||||
|
||||
#[unstable(feature = "pin_coerce_unsized_trait", issue = "123430")]
|
||||
#[unstable(feature = "pin_coerce_unsized_trait", issue = "150112")]
|
||||
unsafe impl<T: ?Sized> PinCoerceUnsized for Cell<T> {}
|
||||
|
||||
#[unstable(feature = "pin_coerce_unsized_trait", issue = "123430")]
|
||||
#[unstable(feature = "pin_coerce_unsized_trait", issue = "150112")]
|
||||
unsafe impl<T: ?Sized> PinCoerceUnsized for RefCell<T> {}
|
||||
|
||||
#[unstable(feature = "pin_coerce_unsized_trait", issue = "123430")]
|
||||
#[unstable(feature = "pin_coerce_unsized_trait", issue = "150112")]
|
||||
unsafe impl<'b, T: ?Sized> PinCoerceUnsized for Ref<'b, T> {}
|
||||
|
||||
#[unstable(feature = "pin_coerce_unsized_trait", issue = "123430")]
|
||||
#[unstable(feature = "pin_coerce_unsized_trait", issue = "150112")]
|
||||
unsafe impl<'b, T: ?Sized> PinCoerceUnsized for RefMut<'b, T> {}
|
||||
|
|
|
|||
|
|
@ -1825,7 +1825,7 @@ where
|
|||
{
|
||||
}
|
||||
|
||||
#[unstable(feature = "pin_coerce_unsized_trait", issue = "123430")]
|
||||
#[unstable(feature = "pin_coerce_unsized_trait", issue = "150112")]
|
||||
/// Trait that indicates that this is a pointer or a wrapper for one, where
|
||||
/// unsizing can be performed on the pointee when it is pinned.
|
||||
///
|
||||
|
|
|
|||
|
|
@ -176,7 +176,7 @@ impl<T: PointeeSized, U: PointeeSized> CoerceUnsized<Unique<U>> for Unique<T> wh
|
|||
#[unstable(feature = "ptr_internals", issue = "none")]
|
||||
impl<T: PointeeSized, U: PointeeSized> DispatchFromDyn<Unique<U>> for Unique<T> where T: Unsize<U> {}
|
||||
|
||||
#[unstable(feature = "pin_coerce_unsized_trait", issue = "123430")]
|
||||
#[unstable(feature = "pin_coerce_unsized_trait", issue = "150112")]
|
||||
unsafe impl<T: PointeeSized> PinCoerceUnsized for Unique<T> {}
|
||||
|
||||
#[unstable(feature = "ptr_internals", issue = "none")]
|
||||
|
|
|
|||
|
|
@ -773,7 +773,7 @@ where
|
|||
#[unstable(feature = "sgx_platform", issue = "56975")]
|
||||
impl<T: CoerceUnsized<U>, U> CoerceUnsized<UserRef<U>> for UserRef<T> {}
|
||||
|
||||
#[unstable(feature = "pin_coerce_unsized_trait", issue = "123430")]
|
||||
#[unstable(feature = "pin_coerce_unsized_trait", issue = "150112")]
|
||||
unsafe impl<T: ?Sized> PinCoerceUnsized for UserRef<T> {}
|
||||
|
||||
#[unstable(feature = "sgx_platform", issue = "56975")]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue