@@ -15,7 +15,7 @@ use rustc_middle::ty::error::{ExpectedFound, TypeError};
15
15
use rustc_middle:: ty:: fold:: BottomUpFolder ;
16
16
use rustc_middle:: ty:: print:: with_no_trimmed_paths;
17
17
use rustc_middle:: ty:: { self , Article , AssocItem , Ty , TypeAndMut , TypeFoldable } ;
18
- use rustc_span:: symbol:: { sym, Symbol } ;
18
+ use rustc_span:: symbol:: sym;
19
19
use rustc_span:: { BytePos , Span , DUMMY_SP } ;
20
20
use rustc_trait_selection:: infer:: InferCtxtExt as _;
21
21
use rustc_trait_selection:: traits:: ObligationCause ;
@@ -997,7 +997,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
997
997
. collect ( ) ;
998
998
999
999
let suggestions_for = |variant : & _ , ctor_kind, field_name| {
1000
- let prefix = match self . maybe_get_struct_pattern_shorthand_field ( expr) {
1000
+ let prefix = match self . tcx . hir ( ) . maybe_get_struct_pattern_shorthand_field ( expr) {
1001
1001
Some ( ident) => format ! ( "{ident}: " ) ,
1002
1002
None => String :: new ( ) ,
1003
1003
} ;
@@ -1240,39 +1240,6 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
1240
1240
}
1241
1241
}
1242
1242
1243
- pub ( crate ) fn maybe_get_struct_pattern_shorthand_field (
1244
- & self ,
1245
- expr : & hir:: Expr < ' _ > ,
1246
- ) -> Option < Symbol > {
1247
- let hir = self . tcx . hir ( ) ;
1248
- let local = match expr {
1249
- hir:: Expr {
1250
- kind :
1251
- hir:: ExprKind :: Path ( hir:: QPath :: Resolved (
1252
- None ,
1253
- hir:: Path {
1254
- res : hir:: def:: Res :: Local ( _) ,
1255
- segments : [ hir:: PathSegment { ident, .. } ] ,
1256
- ..
1257
- } ,
1258
- ) ) ,
1259
- ..
1260
- } => Some ( ident) ,
1261
- _ => None ,
1262
- } ?;
1263
-
1264
- match hir. find_parent ( expr. hir_id ) ? {
1265
- Node :: ExprField ( field) => {
1266
- if field. ident . name == local. name && field. is_shorthand {
1267
- return Some ( local. name ) ;
1268
- }
1269
- }
1270
- _ => { }
1271
- }
1272
-
1273
- None
1274
- }
1275
-
1276
1243
/// If the given `HirId` corresponds to a block with a trailing expression, return that expression
1277
1244
pub ( crate ) fn maybe_get_block_expr (
1278
1245
& self ,
@@ -1467,7 +1434,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
1467
1434
) ) ;
1468
1435
}
1469
1436
1470
- let prefix = match self . maybe_get_struct_pattern_shorthand_field ( expr) {
1437
+ let prefix = match self . tcx . hir ( ) . maybe_get_struct_pattern_shorthand_field ( expr) {
1471
1438
Some ( ident) => format ! ( "{ident}: " ) ,
1472
1439
None => String :: new ( ) ,
1473
1440
} ;
@@ -1661,7 +1628,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
1661
1628
)
1662
1629
} ;
1663
1630
1664
- let prefix = match self . maybe_get_struct_pattern_shorthand_field ( expr) {
1631
+ let prefix = match self . tcx . hir ( ) . maybe_get_struct_pattern_shorthand_field ( expr) {
1665
1632
Some ( ident) => format ! ( "{ident}: " ) ,
1666
1633
None => String :: new ( ) ,
1667
1634
} ;
0 commit comments