@@ -193,51 +193,18 @@ for mir::TerminatorKind<'gcx> {
193193
194194impl_stable_hash_for ! ( struct mir:: Statement <' tcx> { source_info, kind } ) ;
195195
196- impl < ' a , ' gcx > HashStable < StableHashingContext < ' a > >
197- for mir:: StatementKind < ' gcx > {
198- fn hash_stable < W : StableHasherResult > ( & self ,
199- hcx : & mut StableHashingContext < ' a > ,
200- hasher : & mut StableHasher < W > ) {
201- mem:: discriminant ( self ) . hash_stable ( hcx, hasher) ;
202-
203- match * self {
204- mir:: StatementKind :: Assign ( ref place, ref rvalue) => {
205- place. hash_stable ( hcx, hasher) ;
206- rvalue. hash_stable ( hcx, hasher) ;
207- }
208- mir:: StatementKind :: FakeRead ( ref cause, ref place) => {
209- cause. hash_stable ( hcx, hasher) ;
210- place. hash_stable ( hcx, hasher) ;
211- }
212- mir:: StatementKind :: SetDiscriminant { ref place, variant_index } => {
213- place. hash_stable ( hcx, hasher) ;
214- variant_index. hash_stable ( hcx, hasher) ;
215- }
216- mir:: StatementKind :: StorageLive ( ref place) |
217- mir:: StatementKind :: StorageDead ( ref place) => {
218- place. hash_stable ( hcx, hasher) ;
219- }
220- mir:: StatementKind :: EscapeToRaw ( ref place) => {
221- place. hash_stable ( hcx, hasher) ;
222- }
223- mir:: StatementKind :: Retag { fn_entry, ref place } => {
224- fn_entry. hash_stable ( hcx, hasher) ;
225- place. hash_stable ( hcx, hasher) ;
226- }
227- mir:: StatementKind :: AscribeUserType ( ref place, ref variance, ref c_ty) => {
228- place. hash_stable ( hcx, hasher) ;
229- variance. hash_stable ( hcx, hasher) ;
230- c_ty. hash_stable ( hcx, hasher) ;
231- }
232- mir:: StatementKind :: Nop => { }
233- mir:: StatementKind :: InlineAsm { ref asm, ref outputs, ref inputs } => {
234- asm. hash_stable ( hcx, hasher) ;
235- outputs. hash_stable ( hcx, hasher) ;
236- inputs. hash_stable ( hcx, hasher) ;
237- }
238- }
239- }
240- }
196+ impl_stable_hash_for ! ( impl <' gcx> for enum mir:: StatementKind <' gcx> [ mir:: StatementKind ] {
197+ Assign ( place, rvalue) ,
198+ FakeRead ( cause, place) ,
199+ SetDiscriminant { place, variant_index } ,
200+ StorageLive ( place) ,
201+ StorageDead ( place) ,
202+ EscapeToRaw ( place) ,
203+ Retag { fn_entry, two_phase, place } ,
204+ AscribeUserType ( place, variance, c_ty) ,
205+ Nop ,
206+ InlineAsm { asm, outputs, inputs } ,
207+ } ) ;
241208
242209impl_stable_hash_for ! ( enum mir:: FakeReadCause { ForMatchGuard , ForMatchedPlace , ForLet } ) ;
243210
0 commit comments