@@ -254,33 +254,34 @@ fn try_parse_contains<'tcx>(cx: &LateContext<'_>, expr: &'tcx Expr<'_>) -> Optio
254
254
_ => None ,
255
255
} ) ;
256
256
257
- match expr. kind {
258
- ExprKind :: MethodCall (
259
- _,
257
+ if let ExprKind :: MethodCall (
258
+ _,
259
+ map,
260
+ [
261
+ Expr {
262
+ kind : ExprKind :: AddrOf ( _, _, key) ,
263
+ span : key_span,
264
+ ..
265
+ } ,
266
+ ] ,
267
+ _,
268
+ ) = expr. kind
269
+ && key_span. eq_ctxt ( expr. span )
270
+ {
271
+ let id = cx. typeck_results ( ) . type_dependent_def_id ( expr. hir_id ) ?;
272
+ let expr = ContainsExpr {
273
+ negated,
260
274
map,
261
- [
262
- Expr {
263
- kind : ExprKind :: AddrOf ( _, _, key) ,
264
- span : key_span,
265
- ..
266
- } ,
267
- ] ,
268
- _,
269
- ) if key_span. eq_ctxt ( expr. span ) => {
270
- let id = cx. typeck_results ( ) . type_dependent_def_id ( expr. hir_id ) ?;
271
- let expr = ContainsExpr {
272
- negated,
273
- map,
274
- key,
275
- call_ctxt : expr. span . ctxt ( ) ,
276
- } ;
277
- match cx. tcx . get_diagnostic_name ( id) {
278
- Some ( sym:: btreemap_contains_key) => Some ( ( MapType :: BTree , expr) ) ,
279
- Some ( sym:: hashmap_contains_key) => Some ( ( MapType :: Hash , expr) ) ,
280
- _ => None ,
281
- }
282
- } ,
283
- _ => None ,
275
+ key,
276
+ call_ctxt : expr. span . ctxt ( ) ,
277
+ } ;
278
+ match cx. tcx . get_diagnostic_name ( id) {
279
+ Some ( sym:: btreemap_contains_key) => Some ( ( MapType :: BTree , expr) ) ,
280
+ Some ( sym:: hashmap_contains_key) => Some ( ( MapType :: Hash , expr) ) ,
281
+ _ => None ,
282
+ }
283
+ } else {
284
+ None
284
285
}
285
286
}
286
287
0 commit comments