@@ -247,6 +247,8 @@ use crate::ops::ControlFlow;
247247 append_const_msg
248248) ]
249249#[ rustc_diagnostic_item = "PartialEq" ]
250+ #[ const_trait]
251+ #[ rustc_const_unstable( feature = "const_trait_impl" , issue = "67792" ) ]
250252pub trait PartialEq < Rhs : PointeeSized = Self > : PointeeSized {
251253 /// Tests for `self` and `other` values to be equal, and is used by `==`.
252254 #[ must_use]
@@ -1811,7 +1813,8 @@ mod impls {
18111813 macro_rules! partial_eq_impl {
18121814 ( $( $t: ty) * ) => ( $(
18131815 #[ stable( feature = "rust1" , since = "1.0.0" ) ]
1814- impl PartialEq for $t {
1816+ #[ rustc_const_unstable( feature = "const_cmp" , issue = "92391" ) ]
1817+ impl const PartialEq for $t {
18151818 #[ inline]
18161819 fn eq( & self , other: & Self ) -> bool { * self == * other }
18171820 #[ inline]
@@ -2018,9 +2021,10 @@ mod impls {
20182021 // & pointers
20192022
20202023 #[ stable( feature = "rust1" , since = "1.0.0" ) ]
2021- impl < A : PointeeSized , B : PointeeSized > PartialEq < & B > for & A
2024+ #[ rustc_const_unstable( feature = "const_cmp" , issue = "92391" ) ]
2025+ impl < A : PointeeSized , B : PointeeSized > const PartialEq < & B > for & A
20222026 where
2023- A : PartialEq < B > ,
2027+ A : ~ const PartialEq < B > ,
20242028 {
20252029 #[ inline]
20262030 fn eq ( & self , other : & & B ) -> bool {
@@ -2089,9 +2093,10 @@ mod impls {
20892093 // &mut pointers
20902094
20912095 #[ stable( feature = "rust1" , since = "1.0.0" ) ]
2092- impl < A : PointeeSized , B : PointeeSized > PartialEq < & mut B > for & mut A
2096+ #[ rustc_const_unstable( feature = "const_cmp" , issue = "92391" ) ]
2097+ impl < A : PointeeSized , B : PointeeSized > const PartialEq < & mut B > for & mut A
20932098 where
2094- A : PartialEq < B > ,
2099+ A : ~ const PartialEq < B > ,
20952100 {
20962101 #[ inline]
20972102 fn eq ( & self , other : & & mut B ) -> bool {
@@ -2158,9 +2163,10 @@ mod impls {
21582163 impl < A : PointeeSized > Eq for & mut A where A : Eq { }
21592164
21602165 #[ stable( feature = "rust1" , since = "1.0.0" ) ]
2161- impl < A : PointeeSized , B : PointeeSized > PartialEq < & mut B > for & A
2166+ #[ rustc_const_unstable( feature = "const_cmp" , issue = "92391" ) ]
2167+ impl < A : PointeeSized , B : PointeeSized > const PartialEq < & mut B > for & A
21622168 where
2163- A : PartialEq < B > ,
2169+ A : ~ const PartialEq < B > ,
21642170 {
21652171 #[ inline]
21662172 fn eq ( & self , other : & & mut B ) -> bool {
@@ -2173,9 +2179,10 @@ mod impls {
21732179 }
21742180
21752181 #[ stable( feature = "rust1" , since = "1.0.0" ) ]
2176- impl < A : PointeeSized , B : PointeeSized > PartialEq < & B > for & mut A
2182+ #[ rustc_const_unstable( feature = "const_cmp" , issue = "92391" ) ]
2183+ impl < A : PointeeSized , B : PointeeSized > const PartialEq < & B > for & mut A
21772184 where
2178- A : PartialEq < B > ,
2185+ A : ~ const PartialEq < B > ,
21792186 {
21802187 #[ inline]
21812188 fn eq ( & self , other : & & B ) -> bool {
0 commit comments