@@ -174,6 +174,7 @@ pub trait Sized {
174
174
#[ unstable( feature = "unsize" , issue = "18598" ) ]
175
175
#[ lang = "unsize" ]
176
176
#[ rustc_deny_explicit_impl]
177
+ #[ cfg_attr( not( bootstrap) , rustc_do_not_implement_via_object) ]
177
178
pub trait Unsize < T : ?Sized > {
178
179
// Empty.
179
180
}
@@ -855,6 +856,7 @@ impl<T: ?Sized> StructuralEq for PhantomData<T> {}
855
856
) ]
856
857
#[ lang = "discriminant_kind" ]
857
858
#[ rustc_deny_explicit_impl]
859
+ #[ cfg_attr( not( bootstrap) , rustc_do_not_implement_via_object) ]
858
860
pub trait DiscriminantKind {
859
861
/// The type of the discriminant, which must satisfy the trait
860
862
/// bounds required by `mem::Discriminant`.
@@ -960,6 +962,7 @@ marker_impls! {
960
962
#[ lang = "destruct" ]
961
963
#[ rustc_on_unimplemented( message = "can't drop `{Self}`" , append_const_msg) ]
962
964
#[ rustc_deny_explicit_impl]
965
+ #[ cfg_attr( not( bootstrap) , rustc_do_not_implement_via_object) ]
963
966
#[ const_trait]
964
967
pub trait Destruct { }
965
968
@@ -971,6 +974,7 @@ pub trait Destruct {}
971
974
#[ lang = "tuple_trait" ]
972
975
#[ rustc_on_unimplemented( message = "`{Self}` is not a tuple" ) ]
973
976
#[ rustc_deny_explicit_impl]
977
+ #[ cfg_attr( not( bootstrap) , rustc_do_not_implement_via_object) ]
974
978
pub trait Tuple { }
975
979
976
980
/// A marker for pointer-like types.
0 commit comments