@@ -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