@@ -175,32 +175,32 @@ impl<'tcx> TyCtxt<'tcx> {
175
175
delayed_lints : & [ DelayedLint ] ,
176
176
define_opaque : Option < & [ ( Span , LocalDefId ) ] > ,
177
177
) -> ( Option < Fingerprint > , Option < Fingerprint > , Option < Fingerprint > ) {
178
- if self . needs_crate_hash ( ) {
179
- self . with_stable_hashing_context ( |mut hcx| {
180
- let mut stable_hasher = StableHasher :: new ( ) ;
181
- node. hash_stable ( & mut hcx, & mut stable_hasher) ;
182
- // Bodies are stored out of line, so we need to pull them explicitly in the hash.
183
- bodies. hash_stable ( & mut hcx, & mut stable_hasher) ;
184
- let h1 = stable_hasher. finish ( ) ;
178
+ if !self . needs_crate_hash ( ) {
179
+ return ( None , None , None ) ;
180
+ }
185
181
186
- let mut stable_hasher = StableHasher :: new ( ) ;
187
- attrs. hash_stable ( & mut hcx, & mut stable_hasher) ;
182
+ self . with_stable_hashing_context ( |mut hcx| {
183
+ let mut stable_hasher = StableHasher :: new ( ) ;
184
+ node. hash_stable ( & mut hcx, & mut stable_hasher) ;
185
+ // Bodies are stored out of line, so we need to pull them explicitly in the hash.
186
+ bodies. hash_stable ( & mut hcx, & mut stable_hasher) ;
187
+ let h1 = stable_hasher. finish ( ) ;
188
188
189
- // Hash the defined opaque types, which are not present in the attrs.
190
- define_opaque . hash_stable ( & mut hcx, & mut stable_hasher) ;
189
+ let mut stable_hasher = StableHasher :: new ( ) ;
190
+ attrs . hash_stable ( & mut hcx, & mut stable_hasher) ;
191
191
192
- let h2 = stable_hasher. finish ( ) ;
192
+ // Hash the defined opaque types, which are not present in the attrs.
193
+ define_opaque. hash_stable ( & mut hcx, & mut stable_hasher) ;
193
194
194
- // hash lints emitted during ast lowering
195
- let mut stable_hasher = StableHasher :: new ( ) ;
196
- delayed_lints. hash_stable ( & mut hcx, & mut stable_hasher) ;
197
- let h3 = stable_hasher. finish ( ) ;
195
+ let h2 = stable_hasher. finish ( ) ;
198
196
199
- ( Some ( h1) , Some ( h2) , Some ( h3) )
200
- } )
201
- } else {
202
- ( None , None , None )
203
- }
197
+ // hash lints emitted during ast lowering
198
+ let mut stable_hasher = StableHasher :: new ( ) ;
199
+ delayed_lints. hash_stable ( & mut hcx, & mut stable_hasher) ;
200
+ let h3 = stable_hasher. finish ( ) ;
201
+
202
+ ( Some ( h1) , Some ( h2) , Some ( h3) )
203
+ } )
204
204
}
205
205
}
206
206
0 commit comments