@@ -2959,21 +2959,27 @@ impl<'infcx, 'tcx> MirBorrowckCtxt<'_, 'infcx, 'tcx> {
2959
2959
}
2960
2960
}
2961
2961
2962
- let mut err = self . path_does_not_live_long_enough ( borrow_span, & format ! ( "`{name}`" ) ) ;
2962
+ let name = if borrow_span. in_external_macro ( self . infcx . tcx . sess . source_map ( ) ) {
2963
+ // Don't name local variables in external macros.
2964
+ "value" . to_string ( )
2965
+ } else {
2966
+ format ! ( "`{name}`" )
2967
+ } ;
2968
+
2969
+ let mut err = self . path_does_not_live_long_enough ( borrow_span, & name) ;
2963
2970
2964
2971
if let Some ( annotation) = self . annotate_argument_and_return_for_borrow ( borrow) {
2965
2972
let region_name = annotation. emit ( self , & mut err) ;
2966
2973
2967
2974
err. span_label (
2968
2975
borrow_span,
2969
- format ! ( "` {name}` would have to be valid for `{region_name}`..." ) ,
2976
+ format ! ( "{name} would have to be valid for `{region_name}`..." ) ,
2970
2977
) ;
2971
2978
2972
2979
err. span_label (
2973
2980
drop_span,
2974
2981
format ! (
2975
- "...but `{}` will be dropped here, when the {} returns" ,
2976
- name,
2982
+ "...but {name} will be dropped here, when the {} returns" ,
2977
2983
self . infcx
2978
2984
. tcx
2979
2985
. opt_item_name( self . mir_def_id( ) . to_def_id( ) )
@@ -3011,7 +3017,7 @@ impl<'infcx, 'tcx> MirBorrowckCtxt<'_, 'infcx, 'tcx> {
3011
3017
}
3012
3018
} else {
3013
3019
err. span_label ( borrow_span, "borrowed value does not live long enough" ) ;
3014
- err. span_label ( drop_span, format ! ( "` {name}` dropped here while still borrowed" ) ) ;
3020
+ err. span_label ( drop_span, format ! ( "{name} dropped here while still borrowed" ) ) ;
3015
3021
3016
3022
borrow_spans. args_subdiag ( & mut err, |args_span| {
3017
3023
crate :: session_diagnostics:: CaptureArgLabel :: Capture {
0 commit comments