@@ -140,8 +140,7 @@ unsafe impl<T: Sync + ?Sized> Send for &T {}
140140) ]
141141#[ fundamental] // for Default, for example, which requires that `[T]: !Default` be evaluatable
142142#[ rustc_specialization_trait]
143- #[ cfg_attr( not( bootstrap) , rustc_deny_explicit_impl( implement_via_object = false ) ) ]
144- #[ cfg_attr( bootstrap, rustc_deny_explicit_impl) ]
143+ #[ rustc_deny_explicit_impl( implement_via_object = false ) ]
145144#[ rustc_coinductive]
146145pub trait Sized {
147146 // Empty.
@@ -174,8 +173,7 @@ pub trait Sized {
174173/// [nomicon-coerce]: ../../nomicon/coercions.html
175174#[ unstable( feature = "unsize" , issue = "18598" ) ]
176175#[ lang = "unsize" ]
177- #[ cfg_attr( not( bootstrap) , rustc_deny_explicit_impl( implement_via_object = false ) ) ]
178- #[ cfg_attr( bootstrap, rustc_deny_explicit_impl) ]
176+ #[ rustc_deny_explicit_impl( implement_via_object = false ) ]
179177pub trait Unsize < T : ?Sized > {
180178 // Empty.
181179}
@@ -856,8 +854,7 @@ impl<T: ?Sized> StructuralEq for PhantomData<T> {}
856854 reason = "this trait is unlikely to ever be stabilized, use `mem::discriminant` instead"
857855) ]
858856#[ lang = "discriminant_kind" ]
859- #[ cfg_attr( not( bootstrap) , rustc_deny_explicit_impl( implement_via_object = false ) ) ]
860- #[ cfg_attr( bootstrap, rustc_deny_explicit_impl) ]
857+ #[ rustc_deny_explicit_impl( implement_via_object = false ) ]
861858pub trait DiscriminantKind {
862859 /// The type of the discriminant, which must satisfy the trait
863860 /// bounds required by `mem::Discriminant`.
@@ -962,8 +959,7 @@ marker_impls! {
962959#[ unstable( feature = "const_trait_impl" , issue = "67792" ) ]
963960#[ lang = "destruct" ]
964961#[ rustc_on_unimplemented( message = "can't drop `{Self}`" , append_const_msg) ]
965- #[ cfg_attr( not( bootstrap) , rustc_deny_explicit_impl( implement_via_object = false ) ) ]
966- #[ cfg_attr( bootstrap, rustc_deny_explicit_impl) ]
962+ #[ rustc_deny_explicit_impl( implement_via_object = false ) ]
967963#[ const_trait]
968964pub trait Destruct { }
969965
@@ -974,8 +970,7 @@ pub trait Destruct {}
974970#[ unstable( feature = "tuple_trait" , issue = "none" ) ]
975971#[ lang = "tuple_trait" ]
976972#[ rustc_on_unimplemented( message = "`{Self}` is not a tuple" ) ]
977- #[ cfg_attr( not( bootstrap) , rustc_deny_explicit_impl( implement_via_object = false ) ) ]
978- #[ cfg_attr( bootstrap, rustc_deny_explicit_impl) ]
973+ #[ rustc_deny_explicit_impl( implement_via_object = false ) ]
979974pub trait Tuple { }
980975
981976/// A marker for pointer-like types.
@@ -1020,7 +1015,6 @@ marker_impls! {
10201015
10211016// FIXME(adt_const_params): Add to marker_impls call above once not in bootstrap
10221017#[ unstable( feature = "adt_const_params" , issue = "95174" ) ]
1023- #[ cfg( not( bootstrap) ) ]
10241018impl ConstParamTy for ( ) { }
10251019
10261020/// A common trait implemented by all function pointers.
@@ -1030,8 +1024,7 @@ impl ConstParamTy for () {}
10301024 reason = "internal trait for implementing various traits for all function pointers"
10311025) ]
10321026#[ lang = "fn_ptr_trait" ]
1033- #[ cfg_attr( not( bootstrap) , rustc_deny_explicit_impl( implement_via_object = false ) ) ]
1034- #[ cfg_attr( bootstrap, rustc_deny_explicit_impl) ]
1027+ #[ rustc_deny_explicit_impl( implement_via_object = false ) ]
10351028pub trait FnPtr : Copy + Clone {
10361029 /// Returns the address of the function pointer.
10371030 #[ lang = "fn_ptr_addr" ]
0 commit comments