Rollup merge of #130225 - adetaylor:rename-old-receiver, r=wesleywiser ยท qinheping/verify-rust-std@03798ad (original) (raw)

7 files changed

lines changed

Original file line number Diff line number Diff line change
@@ -196,7 +196,7 @@ use core:๐Ÿ“‘:{Tuple, Unsize};
196 196 use core::mem::{self, SizedTypeProperties};
197 197 use core::ops::{
198 198 AsyncFn, AsyncFnMut, AsyncFnOnce, CoerceUnsized, Coroutine, CoroutineState, Deref, DerefMut,
199 -DerefPure, DispatchFromDyn, Receiver,
199 +DerefPure, DispatchFromDyn, LegacyReceiver,
200 200 };
201 201 use core::pin::{Pin, PinCoerceUnsized};
202 202 use core::ptr::{self, NonNull, Unique};
@@ -2378,8 +2378,8 @@ impl<T: ?Sized, A: Allocator> DerefMut for Box<T, A> {
2378 2378 #[unstable(feature = "deref_pure_trait", issue = "87121")]
2379 2379 unsafe impl<T: ?Sized, A: Allocator> DerefPure for Box<T, A> {}
2380 2380
2381 -#[unstable(feature = "receiver_trait", issue = "none")]
2382 -impl<T: ?Sized, A: Allocator> Receiver for Box<T, A> {}
2381 +#[unstable(feature = "legacy_receiver_trait", issue = "none")]
2382 +impl<T: ?Sized, A: Allocator> LegacyReceiver for Box<T, A> {}
2383 2383
2384 2384 #[stable(feature = "rust1", since = "1.0.0")]
2385 2385 impl<I: Iterator + ?Sized, A: Allocator> Iterator for Box<I, A> {
Original file line number Diff line number Diff line change
@@ -129,6 +129,7 @@
129 129 #![feature(iter_advance_by)]
130 130 #![feature(iter_next_chunk)]
131 131 #![feature(layout_for_ptr)]
132 +#![feature(legacy_receiver_trait)]
132 133 #![feature(local_waker)]
133 134 #![feature(maybe_uninit_slice)]
134 135 #![feature(maybe_uninit_uninit_array_transpose)]
@@ -138,7 +139,6 @@
138 139 #![feature(ptr_internals)]
139 140 #![feature(ptr_metadata)]
140 141 #![feature(ptr_sub_ptr)]
141 -#![feature(receiver_trait)]
142 142 #![feature(set_ptr_value)]
143 143 #![feature(sized_type_properties)]
144 144 #![feature(slice_from_ptr_range)]
Original file line number Diff line number Diff line change
@@ -252,7 +252,7 @@ use core::intrinsics::abort;
252 252 use core::iter;
253 253 use core:๐Ÿ“‘:{PhantomData, Unsize};
254 254 use core::mem::{self, ManuallyDrop, align_of_val_raw};
255 -use core::ops::{CoerceUnsized, Deref, DerefMut, DerefPure, DispatchFromDyn, Receiver};
255 +use core::ops::{CoerceUnsized, Deref, DerefMut, DerefPure, DispatchFromDyn, LegacyReceiver};
256 256 use core::panic::{RefUnwindSafe, UnwindSafe};
257 257 #[cfg(not(no_global_oom_handling))]
258 258 use core::pin::Pin;
@@ -2222,8 +2222,8 @@ unsafe impl<T: ?Sized, A: Allocator> PinCoerceUnsized for Weak<T, A> {}
2222 2222 #[unstable(feature = "deref_pure_trait", issue = "87121")]
2223 2223 unsafe impl<T: ?Sized, A: Allocator> DerefPure for Rc<T, A> {}
2224 2224
2225 -#[unstable(feature = "receiver_trait", issue = "none")]
2226 -impl<T: ?Sized> Receiver for Rc<T> {}
2225 +#[unstable(feature = "legacy_receiver_trait", issue = "none")]
2226 +impl<T: ?Sized> LegacyReceiver for Rc<T> {}
2227 2227
2228 2228 #[stable(feature = "rust1", since = "1.0.0")]
2229 2229 unsafe impl<#[may_dangle] T: ?Sized, A: Allocator> Drop for Rc<T, A> {
Original file line number Diff line number Diff line change
@@ -18,7 +18,7 @@ use core::intrinsics::abort;
18 18 use core::iter;
19 19 use core:๐Ÿ“‘:{PhantomData, Unsize};
20 20 use core::mem::{self, ManuallyDrop, align_of_val_raw};
21 -use core::ops::{CoerceUnsized, Deref, DerefPure, DispatchFromDyn, Receiver};
21 +use core::ops::{CoerceUnsized, Deref, DerefPure, DispatchFromDyn, LegacyReceiver};
22 22 use core::panic::{RefUnwindSafe, UnwindSafe};
23 23 use core::pin::{Pin, PinCoerceUnsized};
24 24 use core::ptr::{self, NonNull};
@@ -2189,8 +2189,8 @@ unsafe impl<T: ?Sized, A: Allocator> PinCoerceUnsized for Weak<T, A> {}
2189 2189 #[unstable(feature = "deref_pure_trait", issue = "87121")]
2190 2190 unsafe impl<T: ?Sized, A: Allocator> DerefPure for Arc<T, A> {}
2191 2191
2192 -#[unstable(feature = "receiver_trait", issue = "none")]
2193 -impl<T: ?Sized> Receiver for Arc<T> {}
2192 +#[unstable(feature = "legacy_receiver_trait", issue = "none")]
2193 +impl<T: ?Sized> LegacyReceiver for Arc<T> {}
2194 2194
2195 2195 #[cfg(not(no_global_oom_handling))]
2196 2196 impl<T: ?Sized + CloneToUninit, A: Allocator + Clone> Arc<T, A> {
Original file line number Diff line number Diff line change
@@ -297,15 +297,21 @@ unsafe impl<T: ?Sized> DerefPure for &mut T {}
297 297 /// Indicates that a struct can be used as a method receiver, without the
298 298 /// `arbitrary_self_types` feature. This is implemented by stdlib pointer types like `Box`,
299 299 /// `Rc`, `&T`, and `Pin

`.

300 -#[lang = "receiver"]
301 -#[unstable(feature = "receiver_trait", issue = "none")]
300 +///
301 +/// This trait will shortly be removed and replaced with a more generic
302 +/// facility based around the current "arbitrary self types" unstable feature.
303 +/// That new facility will use a replacement trait called `Receiver` which is
304 +/// why this is now named `LegacyReceiver`.
305 +#[cfg_attr(bootstrap, lang = "receiver")]
306 +#[cfg_attr(not(bootstrap), lang = "legacy_receiver")]
307 +#[unstable(feature = "legacy_receiver_trait", issue = "none")]
302 308 #[doc(hidden)]
303 -pub trait Receiver {
309 +pub trait LegacyReceiver {
304 310 // Empty.
305 311 }
306 312
307 -#[unstable(feature = "receiver_trait", issue = "none")]
308 -impl<T: ?Sized> Receiver for &T {}
313 +#[unstable(feature = "legacy_receiver_trait", issue = "none")]
314 +impl<T: ?Sized> LegacyReceiver for &T {}
309 315
310 -#[unstable(feature = "receiver_trait", issue = "none")]
311 -impl<T: ?Sized> Receiver for &mut T {}
316 +#[unstable(feature = "legacy_receiver_trait", issue = "none")]
317 +impl<T: ?Sized> LegacyReceiver for &mut T {}
Original file line number Diff line number Diff line change
@@ -168,8 +168,8 @@ pub use self::control_flow::ControlFlow;
168 168 pub use self::coroutine::{Coroutine, CoroutineState};
169 169 #[unstable(feature = "deref_pure_trait", issue = "87121")]
170 170 pub use self::deref::DerefPure;
171 -#[unstable(feature = "receiver_trait", issue = "none")]
172 -pub use self::deref::Receiver;
171 +#[unstable(feature = "legacy_receiver_trait", issue = "none")]
172 +pub use self::deref::LegacyReceiver;
173 173 #[stable(feature = "rust1", since = "1.0.0")]
174 174 pub use self::deref::{Deref, DerefMut};
175 175 #[stable(feature = "rust1", since = "1.0.0")]
Original file line number Diff line number Diff line change
@@ -921,7 +921,7 @@
921 921 #![stable(feature = "pin", since = "1.33.0")]
922 922
923 923 use crate::hash::{Hash, Hasher};
924 -use crate::ops::{CoerceUnsized, Deref, DerefMut, DerefPure, DispatchFromDyn, Receiver};
924 +use crate::ops::{CoerceUnsized, Deref, DerefMut, DerefPure, DispatchFromDyn, LegacyReceiver};
925 925 #[allow(unused_imports)]
926 926 use crate::{
927 927 cell::{RefCell, UnsafeCell},
@@ -1692,8 +1692,8 @@ impl<Ptr: DerefMut<Target: Unpin>> DerefMut for Pin {
1692 1692 #[unstable(feature = "deref_pure_trait", issue = "87121")]
1693 1693 unsafe impl<Ptr: DerefPure> DerefPure for Pin<Ptr> {}
1694 1694
1695 -#[unstable(feature = "receiver_trait", issue = "none")]
1696 -impl<Ptr: Receiver> Receiver for Pin<Ptr> {}
1695 +#[unstable(feature = "legacy_receiver_trait", issue = "none")]
1696 +impl<Ptr: LegacyReceiver> LegacyReceiver for Pin<Ptr> {}
1697 1697
1698 1698 #[stable(feature = "pin", since = "1.33.0")]
1699 1699 impl<Ptr: fmt::Debug> fmt::Debug for Pin<Ptr> {