51
51
pub trait ScheduleLabel : DynHash + Debug + Send + Sync + ' static { }
52
52
53
53
/// A lightweight and printable identifier for a [`Schedule`](super::Schedule).
54
- #[ derive( Clone , Copy , Eq , PartialEq , Hash ) ]
54
+ #[ derive( Clone , Copy , Eq ) ]
55
55
pub struct ScheduleId ( & ' static str ) ;
56
56
57
57
impl ScheduleId {
@@ -62,6 +62,18 @@ impl ScheduleId {
62
62
}
63
63
}
64
64
65
+ impl PartialEq for ScheduleId {
66
+ fn eq ( & self , other : & Self ) -> bool {
67
+ std:: ptr:: eq ( self . 0 , other. 0 )
68
+ }
69
+ }
70
+
71
+ impl Hash for ScheduleId {
72
+ fn hash < H : Hasher > ( & self , state : & mut H ) {
73
+ std:: ptr:: hash ( self . 0 , state) ;
74
+ }
75
+ }
76
+
65
77
impl Debug for ScheduleId {
66
78
fn fmt ( & self , f : & mut std:: fmt:: Formatter < ' _ > ) -> std:: fmt:: Result {
67
79
self . 0 . fmt ( f)
@@ -98,7 +110,7 @@ pub trait SystemSet: DynHash + Debug + Send + Sync + 'static {
98
110
}
99
111
100
112
/// A lightweight and printable identifier for a [`SystemSet`].
101
- #[ derive( Clone , Copy , Eq , PartialEq , Hash ) ]
113
+ #[ derive( Clone , Copy , Eq ) ]
102
114
pub struct SystemSetId ( & ' static str ) ;
103
115
104
116
impl SystemSetId {
@@ -109,6 +121,18 @@ impl SystemSetId {
109
121
}
110
122
}
111
123
124
+ impl PartialEq for SystemSetId {
125
+ fn eq ( & self , other : & Self ) -> bool {
126
+ std:: ptr:: eq ( self . 0 , other. 0 )
127
+ }
128
+ }
129
+
130
+ impl Hash for SystemSetId {
131
+ fn hash < H : Hasher > ( & self , state : & mut H ) {
132
+ std:: ptr:: hash ( self . 0 , state) ;
133
+ }
134
+ }
135
+
112
136
impl Debug for SystemSetId {
113
137
fn fmt ( & self , f : & mut std:: fmt:: Formatter < ' _ > ) -> std:: fmt:: Result {
114
138
self . 0 . fmt ( f)
0 commit comments