2626//! deref: sized
2727//! derive:
2828//! discriminant:
29- //! drop:
29+ //! drop: sized
3030//! env: option
3131//! eq: sized
3232//! error: fmt
3737//! future: pin
3838//! coroutine: pin
3939//! dispatch_from_dyn: unsize, pin
40- //! hash:
40+ //! hash: sized
4141//! include:
4242//! index: sized
4343//! infallible:
@@ -80,24 +80,18 @@ pub mod marker {
8080 #[ lang = "pointee_sized" ]
8181 #[ fundamental]
8282 #[ rustc_specialization_trait]
83- #[ rustc_deny_explicit_impl]
84- #[ rustc_do_not_implement_via_object]
8583 #[ rustc_coinductive]
8684 pub trait PointeeSized { }
8785
8886 #[ lang = "meta_sized" ]
8987 #[ fundamental]
9088 #[ rustc_specialization_trait]
91- #[ rustc_deny_explicit_impl]
92- #[ rustc_do_not_implement_via_object]
9389 #[ rustc_coinductive]
9490 pub trait MetaSized : PointeeSized { }
9591
9692 #[ lang = "sized" ]
9793 #[ fundamental]
9894 #[ rustc_specialization_trait]
99- #[ rustc_deny_explicit_impl]
100- #[ rustc_do_not_implement_via_object]
10195 #[ rustc_coinductive]
10296 pub trait Sized : MetaSized { }
10397 // endregion:sized
@@ -139,7 +133,7 @@ pub mod marker {
139133 // endregion:derive
140134
141135 mod copy_impls {
142- use super :: Copy ;
136+ use super :: { Copy , PointeeSized } ;
143137
144138 macro_rules! impl_copy {
145139 ( $( $t: ty) * ) => {
@@ -225,6 +219,8 @@ pub mod default {
225219
226220// region:hash
227221pub mod hash {
222+ use crate :: marker:: PointeeSized ;
223+
228224 pub trait Hasher { }
229225
230226 pub trait Hash : PointeeSized {
@@ -240,6 +236,7 @@ pub mod hash {
240236
241237// region:cell
242238pub mod cell {
239+ use crate :: marker:: PointeeSized ;
243240 use crate :: mem;
244241
245242 #[ lang = "unsafe_cell" ]
@@ -376,7 +373,7 @@ pub mod convert {
376373 // endregion:from
377374
378375 // region:as_ref
379- pub trait AsRef < T : PointeeSized > : PointeeSized {
376+ pub trait AsRef < T : crate :: marker :: PointeeSized > : crate :: marker :: PointeeSized {
380377 fn as_ref ( & self ) -> & T ;
381378 }
382379 // endregion:as_ref
@@ -387,6 +384,8 @@ pub mod convert {
387384
388385pub mod mem {
389386 // region:manually_drop
387+ use crate :: marker:: PointeeSized ;
388+
390389 #[ lang = "manually_drop" ]
391390 #[ repr( transparent) ]
392391 pub struct ManuallyDrop < T : PointeeSized > {
@@ -447,7 +446,7 @@ pub mod mem {
447446pub mod ptr {
448447 // region:drop
449448 #[ lang = "drop_in_place" ]
450- pub unsafe fn drop_in_place < T : PointeeSized > ( to_drop : * mut T ) {
449+ pub unsafe fn drop_in_place < T : crate :: marker :: PointeeSized > ( to_drop : * mut T ) {
451450 unsafe { drop_in_place ( to_drop) }
452451 }
453452 pub const unsafe fn read < T > ( src : * const T ) -> T {
@@ -463,20 +462,22 @@ pub mod ptr {
463462 // region:pointee
464463 #[ lang = "pointee_trait" ]
465464 #[ rustc_deny_explicit_impl( implement_via_object = false ) ]
466- pub trait Pointee : PointeeSized {
465+ pub trait Pointee : crate :: marker :: PointeeSized {
467466 #[ lang = "metadata_type" ]
468467 type Metadata : Copy + Send + Sync + Ord + Hash + Unpin ;
469468 }
470469 // endregion:pointee
471470 // region:non_null
472471 #[ rustc_layout_scalar_valid_range_start( 1 ) ]
473472 #[ rustc_nonnull_optimization_guaranteed]
474- pub struct NonNull < T : PointeeSized > {
473+ pub struct NonNull < T : crate :: marker :: PointeeSized > {
475474 pointer : * const T ,
476475 }
477476 // region:coerce_unsized
478- impl < T : PointeeSized , U : PointeeSized > crate :: ops:: CoerceUnsized < NonNull < U > > for NonNull < T > where
479- T : crate :: marker:: Unsize < U >
477+ impl < T : crate :: marker:: PointeeSized , U : crate :: marker:: PointeeSized >
478+ crate :: ops:: CoerceUnsized < NonNull < U > > for NonNull < T >
479+ where
480+ T : crate :: marker:: Unsize < U > ,
480481 {
481482 }
482483 // endregion:coerce_unsized
@@ -497,7 +498,7 @@ pub mod ptr {
497498pub mod ops {
498499 // region:coerce_unsized
499500 mod unsize {
500- use crate :: marker:: Unsize ;
501+ use crate :: marker:: { PointeeSized , Unsize } ;
501502
502503 #[ lang = "coerce_unsized" ]
503504 pub trait CoerceUnsized < T > { }
@@ -519,6 +520,8 @@ pub mod ops {
519520
520521 // region:deref
521522 mod deref {
523+ use crate :: marker:: PointeeSized ;
524+
522525 #[ lang = "deref" ]
523526 pub trait Deref : PointeeSized {
524527 #[ lang = "deref_target" ]
@@ -1025,7 +1028,7 @@ pub mod ops {
10251028
10261029 // region:dispatch_from_dyn
10271030 mod dispatch_from_dyn {
1028- use crate :: marker:: Unsize ;
1031+ use crate :: marker:: { PointeeSized , Unsize } ;
10291032
10301033 #[ lang = "dispatch_from_dyn" ]
10311034 pub trait DispatchFromDyn < T > { }
@@ -1044,6 +1047,8 @@ pub mod ops {
10441047
10451048// region:eq
10461049pub mod cmp {
1050+ use crate :: marker:: PointeeSized ;
1051+
10471052 #[ lang = "eq" ]
10481053 pub trait PartialEq < Rhs : PointeeSized = Self > : PointeeSized {
10491054 fn eq ( & self , other : & Rhs ) -> bool ;
@@ -1090,6 +1095,8 @@ pub mod cmp {
10901095
10911096// region:fmt
10921097pub mod fmt {
1098+ use crate :: marker:: PointeeSized ;
1099+
10931100 pub struct Error ;
10941101 pub type Result = crate :: result:: Result < ( ) , Error > ;
10951102 pub struct Formatter < ' a > ;
@@ -1531,6 +1538,8 @@ pub mod iter {
15311538
15321539 mod traits {
15331540 mod iterator {
1541+ use crate :: marker:: PointeeSized ;
1542+
15341543 #[ doc( notable_trait) ]
15351544 #[ lang = "iterator" ]
15361545 pub trait Iterator {
0 commit comments