Skip to content

Commit 667d6e6

Browse files
committed
XXX: Make DiagnosticBuilder::emit consuming.
This works for most of its call sites. For the small number where it doesn't, the commit adds `DiagnosticBuilder::emit_without_consuming`, which will be removed in subsequent commits. This also requires significant changes to `DiagnosticBuilder`'s chaining methods. Currently they are `&mut self -> Self` form ... XXX XXX: copy stuff from `db` file Pros - emit/emit_without_consuming split is nice - I have commits that remove all the emit_without_consuming calls - many fewer `mut` qualifiers - will allow more chaining (subsequent commits) - will allow `DiagnosticBuilder::struct_*` removal (subsequent commits) Cons - have to use `foo_mv` when chaining
1 parent ca2fc42 commit 667d6e6

File tree

86 files changed

+321
-311
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+321
-311
lines changed

compiler/rustc_ast_passes/src/feature_gate.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ macro_rules! gate {
2323
($visitor:expr, $feature:ident, $span:expr, $explain:expr, $help:expr) => {{
2424
if !$visitor.features.$feature && !$span.allows_unstable(sym::$feature) {
2525
feature_err(&$visitor.sess.parse_sess, sym::$feature, $span, $explain)
26-
.help($help)
26+
.help_mv($help)
2727
.emit();
2828
}
2929
}};

compiler/rustc_borrowck/src/diagnostics/region_errors.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,7 @@ impl<'a, 'tcx> MirBorrowckCtxt<'a, 'tcx> {
348348
let named_ty = self.regioncx.name_regions(self.infcx.tcx, hidden_ty);
349349
let named_key = self.regioncx.name_regions(self.infcx.tcx, key);
350350
let named_region = self.regioncx.name_regions(self.infcx.tcx, member_region);
351-
let mut diag = unexpected_hidden_region_diagnostic(
351+
let diag = unexpected_hidden_region_diagnostic(
352352
self.infcx.tcx,
353353
span,
354354
named_ty,

compiler/rustc_borrowck/src/region_infer/opaque_types.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -421,7 +421,7 @@ fn check_opaque_type_parameter_valid(
421421
return Err(tcx
422422
.dcx()
423423
.struct_span_err(span, "non-defining opaque type use in defining scope")
424-
.span_note(spans, format!("{descr} used multiple times"))
424+
.span_note_mv(spans, format!("{descr} used multiple times"))
425425
.emit());
426426
}
427427
}

compiler/rustc_builtin_macros/src/asm.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -458,7 +458,7 @@ fn expand_preparsed_asm(ecx: &mut ExtCtxt<'_>, args: AsmArgs) -> Option<ast::Inl
458458
match expr_to_spanned_string(ecx, template_expr, msg) {
459459
Ok(template_part) => template_part,
460460
Err(err) => {
461-
if let Some((mut err, _)) = err {
461+
if let Some((err, _)) = err {
462462
err.emit();
463463
}
464464
return None;
@@ -747,7 +747,7 @@ pub(super) fn expand_asm<'cx>(
747747
};
748748
MacEager::expr(expr)
749749
}
750-
Err(mut err) => {
750+
Err(err) => {
751751
err.emit();
752752
DummyResult::any(sp)
753753
}
@@ -779,7 +779,7 @@ pub(super) fn expand_global_asm<'cx>(
779779
DummyResult::any(sp)
780780
}
781781
}
782-
Err(mut err) => {
782+
Err(err) => {
783783
err.emit();
784784
DummyResult::any(sp)
785785
}

compiler/rustc_builtin_macros/src/assert.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ pub fn expand_assert<'cx>(
2222
) -> Box<dyn MacResult + 'cx> {
2323
let Assert { cond_expr, custom_message } = match parse_assert(cx, span, tts) {
2424
Ok(assert) => assert,
25-
Err(mut err) => {
25+
Err(err) => {
2626
err.emit();
2727
return DummyResult::any(span);
2828
}

compiler/rustc_builtin_macros/src/cfg.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ pub fn expand_cfg(
2828
);
2929
MacEager::expr(cx.expr_bool(sp, matches_cfg))
3030
}
31-
Err(mut err) => {
31+
Err(err) => {
3232
err.emit();
3333
DummyResult::any(sp)
3434
}

compiler/rustc_builtin_macros/src/cfg_eval.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ impl CfgEval<'_, '_> {
200200
parser.capture_cfg = true;
201201
match parse_annotatable_with(&mut parser) {
202202
Ok(a) => annotatable = a,
203-
Err(mut err) => {
203+
Err(err) => {
204204
err.emit();
205205
return Some(annotatable);
206206
}

compiler/rustc_builtin_macros/src/cmdline_attrs.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ pub fn inject(krate: &mut ast::Crate, parse_sess: &ParseSess, attrs: &[String])
1818
let start_span = parser.token.span;
1919
let AttrItem { path, args, tokens: _ } = match parser.parse_attr_item(false) {
2020
Ok(ai) => ai,
21-
Err(mut err) => {
21+
Err(err) => {
2222
err.emit();
2323
continue;
2424
}

compiler/rustc_builtin_macros/src/format.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ fn parse_args<'a>(ecx: &mut ExtCtxt<'a>, sp: Span, tts: TokenStream) -> PResult<
9999
}
100100

101101
match p.expect(&token::Comma) {
102-
Err(mut err) => {
102+
Err(err) => {
103103
match token::TokenKind::Comma.similar_tokens() {
104104
Some(tks) if tks.contains(&p.token.kind) => {
105105
// If a similar token is found, then it may be a typo. We
@@ -630,8 +630,7 @@ fn report_missing_placeholders(
630630
.collect::<Vec<_>>();
631631

632632
if !placeholders.is_empty() {
633-
if let Some(mut new_diag) = report_redundant_format_arguments(ecx, args, used, placeholders)
634-
{
633+
if let Some(new_diag) = report_redundant_format_arguments(ecx, args, used, placeholders) {
635634
diag.cancel();
636635
new_diag.emit();
637636
return;
@@ -976,7 +975,7 @@ fn expand_format_args_impl<'cx>(
976975
MacEager::expr(DummyResult::raw_expr(sp, true))
977976
}
978977
}
979-
Err(mut err) => {
978+
Err(err) => {
980979
err.emit();
981980
DummyResult::any(sp)
982981
}

compiler/rustc_builtin_macros/src/proc_macro_harness.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ impl<'a> Visitor<'a> for CollectProcMacros<'a> {
194194

195195
self.dcx
196196
.struct_span_err(attr.span, msg)
197-
.span_label(prev_attr.span, "previous attribute here")
197+
.span_label_mv(prev_attr.span, "previous attribute here")
198198
.emit();
199199

200200
return;

0 commit comments

Comments
 (0)