@@ -229,7 +229,7 @@ impl<'cx, 'tcx> MirBorrowckCtxt<'cx, 'tcx> {
229229 seen_spans. insert ( move_span) ;
230230 }
231231
232- use_spans. var_path_only_subdiag ( & mut err, desired_action) ;
232+ use_spans. var_path_only_subdiag ( self . dcx ( ) , & mut err, desired_action) ;
233233
234234 if !is_loop_move {
235235 err. span_label (
@@ -291,18 +291,24 @@ impl<'cx, 'tcx> MirBorrowckCtxt<'cx, 'tcx> {
291291 if needs_note {
292292 if let Some ( local) = place. as_local ( ) {
293293 let span = self . body . local_decls [ local] . source_info . span ;
294- err. subdiagnostic ( crate :: session_diagnostics:: TypeNoCopy :: Label {
295- is_partial_move,
296- ty,
297- place : & note_msg,
298- span,
299- } ) ;
294+ err. subdiagnostic (
295+ self . dcx ( ) ,
296+ crate :: session_diagnostics:: TypeNoCopy :: Label {
297+ is_partial_move,
298+ ty,
299+ place : & note_msg,
300+ span,
301+ } ,
302+ ) ;
300303 } else {
301- err. subdiagnostic ( crate :: session_diagnostics:: TypeNoCopy :: Note {
302- is_partial_move,
303- ty,
304- place : & note_msg,
305- } ) ;
304+ err. subdiagnostic (
305+ self . dcx ( ) ,
306+ crate :: session_diagnostics:: TypeNoCopy :: Note {
307+ is_partial_move,
308+ ty,
309+ place : & note_msg,
310+ } ,
311+ ) ;
306312 } ;
307313 }
308314
@@ -557,7 +563,7 @@ impl<'cx, 'tcx> MirBorrowckCtxt<'cx, 'tcx> {
557563 E0381 ,
558564 "{used} binding {desc}{isnt_initialized}"
559565 ) ;
560- use_spans. var_path_only_subdiag ( & mut err, desired_action) ;
566+ use_spans. var_path_only_subdiag ( self . dcx ( ) , & mut err, desired_action) ;
561567
562568 if let InitializationRequiringAction :: PartialAssignment
563569 | InitializationRequiringAction :: Assignment = desired_action
@@ -848,9 +854,13 @@ impl<'cx, 'tcx> MirBorrowckCtxt<'cx, 'tcx> {
848854 & value_msg,
849855 ) ;
850856
851- borrow_spans. var_path_only_subdiag ( & mut err, crate :: InitializationRequiringAction :: Borrow ) ;
857+ borrow_spans. var_path_only_subdiag (
858+ self . dcx ( ) ,
859+ & mut err,
860+ crate :: InitializationRequiringAction :: Borrow ,
861+ ) ;
852862
853- move_spans. var_subdiag ( None , & mut err, None , |kind, var_span| {
863+ move_spans. var_subdiag ( self . dcx ( ) , & mut err, None , |kind, var_span| {
854864 use crate :: session_diagnostics:: CaptureVarCause :: * ;
855865 match kind {
856866 hir:: ClosureKind :: Coroutine ( _) => MoveUseInCoroutine { var_span } ,
@@ -895,7 +905,7 @@ impl<'cx, 'tcx> MirBorrowckCtxt<'cx, 'tcx> {
895905 borrow_span,
896906 & self . describe_any_place ( borrow. borrowed_place . as_ref ( ) ) ,
897907 ) ;
898- borrow_spans. var_subdiag ( None , & mut err, Some ( borrow. kind ) , |kind, var_span| {
908+ borrow_spans. var_subdiag ( self . dcx ( ) , & mut err, Some ( borrow. kind ) , |kind, var_span| {
899909 use crate :: session_diagnostics:: CaptureVarCause :: * ;
900910 let place = & borrow. borrowed_place ;
901911 let desc_place = self . describe_any_place ( place. as_ref ( ) ) ;
@@ -1043,7 +1053,7 @@ impl<'cx, 'tcx> MirBorrowckCtxt<'cx, 'tcx> {
10431053 "mutably borrow" ,
10441054 ) ;
10451055 borrow_spans. var_subdiag (
1046- None ,
1056+ self . dcx ( ) ,
10471057 & mut err,
10481058 Some ( BorrowKind :: Mut { kind : MutBorrowKind :: ClosureCapture } ) ,
10491059 |kind, var_span| {
@@ -1131,22 +1141,31 @@ impl<'cx, 'tcx> MirBorrowckCtxt<'cx, 'tcx> {
11311141 } ;
11321142
11331143 if issued_spans == borrow_spans {
1134- borrow_spans. var_subdiag ( None , & mut err, Some ( gen_borrow_kind) , |kind, var_span| {
1135- use crate :: session_diagnostics:: CaptureVarCause :: * ;
1136- match kind {
1137- hir:: ClosureKind :: Coroutine ( _) => BorrowUsePlaceCoroutine {
1138- place : desc_place,
1139- var_span,
1140- is_single_var : false ,
1141- } ,
1142- hir:: ClosureKind :: Closure | hir:: ClosureKind :: CoroutineClosure ( _) => {
1143- BorrowUsePlaceClosure { place : desc_place, var_span, is_single_var : false }
1144+ borrow_spans. var_subdiag (
1145+ self . dcx ( ) ,
1146+ & mut err,
1147+ Some ( gen_borrow_kind) ,
1148+ |kind, var_span| {
1149+ use crate :: session_diagnostics:: CaptureVarCause :: * ;
1150+ match kind {
1151+ hir:: ClosureKind :: Coroutine ( _) => BorrowUsePlaceCoroutine {
1152+ place : desc_place,
1153+ var_span,
1154+ is_single_var : false ,
1155+ } ,
1156+ hir:: ClosureKind :: Closure | hir:: ClosureKind :: CoroutineClosure ( _) => {
1157+ BorrowUsePlaceClosure {
1158+ place : desc_place,
1159+ var_span,
1160+ is_single_var : false ,
1161+ }
1162+ }
11441163 }
1145- }
1146- } ) ;
1164+ } ,
1165+ ) ;
11471166 } else {
11481167 issued_spans. var_subdiag (
1149- Some ( self . dcx ( ) ) ,
1168+ self . dcx ( ) ,
11501169 & mut err,
11511170 Some ( issued_borrow. kind ) ,
11521171 |kind, var_span| {
@@ -1165,7 +1184,7 @@ impl<'cx, 'tcx> MirBorrowckCtxt<'cx, 'tcx> {
11651184 ) ;
11661185
11671186 borrow_spans. var_subdiag (
1168- Some ( self . dcx ( ) ) ,
1187+ self . dcx ( ) ,
11691188 & mut err,
11701189 Some ( gen_borrow_kind) ,
11711190 |kind, var_span| {
@@ -2217,7 +2236,7 @@ impl<'cx, 'tcx> MirBorrowckCtxt<'cx, 'tcx> {
22172236 err. span_label ( borrow_span, "borrowed value does not live long enough" ) ;
22182237 err. span_label ( drop_span, format ! ( "`{name}` dropped here while still borrowed" ) ) ;
22192238
2220- borrow_spans. args_subdiag ( & mut err, |args_span| {
2239+ borrow_spans. args_subdiag ( self . dcx ( ) , & mut err, |args_span| {
22212240 crate :: session_diagnostics:: CaptureArgLabel :: Capture {
22222241 is_within : borrow_spans. for_coroutine ( ) ,
22232242 args_span,
@@ -2476,7 +2495,7 @@ impl<'cx, 'tcx> MirBorrowckCtxt<'cx, 'tcx> {
24762495 None ,
24772496 ) ;
24782497
2479- borrow_spans. args_subdiag ( & mut err, |args_span| {
2498+ borrow_spans. args_subdiag ( self . dcx ( ) , & mut err, |args_span| {
24802499 crate :: session_diagnostics:: CaptureArgLabel :: Capture {
24812500 is_within : borrow_spans. for_coroutine ( ) ,
24822501 args_span,
@@ -2935,7 +2954,7 @@ impl<'cx, 'tcx> MirBorrowckCtxt<'cx, 'tcx> {
29352954 "assign" ,
29362955 ) ;
29372956
2938- loan_spans. var_subdiag ( None , & mut err, Some ( loan. kind ) , |kind, var_span| {
2957+ loan_spans. var_subdiag ( self . dcx ( ) , & mut err, Some ( loan. kind ) , |kind, var_span| {
29392958 use crate :: session_diagnostics:: CaptureVarCause :: * ;
29402959 match kind {
29412960 hir:: ClosureKind :: Coroutine ( _) => BorrowUseInCoroutine { var_span } ,
@@ -2953,7 +2972,7 @@ impl<'cx, 'tcx> MirBorrowckCtxt<'cx, 'tcx> {
29532972
29542973 let mut err = self . cannot_assign_to_borrowed ( span, loan_span, & descr_place) ;
29552974
2956- loan_spans. var_subdiag ( None , & mut err, Some ( loan. kind ) , |kind, var_span| {
2975+ loan_spans. var_subdiag ( self . dcx ( ) , & mut err, Some ( loan. kind ) , |kind, var_span| {
29572976 use crate :: session_diagnostics:: CaptureVarCause :: * ;
29582977 match kind {
29592978 hir:: ClosureKind :: Coroutine ( _) => BorrowUseInCoroutine { var_span } ,
0 commit comments