Auto merge of #60984 - matthewjasper:borrowck-error-reporting-cleanup, r=pnkfelix
Borrowck error reporting cleanup * Don't show variables created by desugarings in borrowck errors * Move "conflict error" reporting to it's own module, so that `error_reporting` contains only common error reporting methods. * Remove unused `ScopeTree` parameter. r? @pnkfelix
This commit is contained in:
commit
46805805ab
11 changed files with 2108 additions and 2020 deletions
|
@ -8421,6 +8421,8 @@ impl<'a> Parser<'a> {
|
|||
for (index, input) in decl.inputs.iter_mut().enumerate() {
|
||||
let id = ast::DUMMY_NODE_ID;
|
||||
let span = input.pat.span;
|
||||
let desugared_span = self.sess.source_map()
|
||||
.mark_span_with_reason(CompilerDesugaringKind::Async, span, None);
|
||||
|
||||
// Construct a name for our temporary argument.
|
||||
let name = format!("__arg{}", index);
|
||||
|
@ -8437,8 +8439,7 @@ impl<'a> Parser<'a> {
|
|||
// this would affect the input to procedural macros, but they can have
|
||||
// their span marked as being the result of a compiler desugaring so
|
||||
// that they aren't linted against.
|
||||
input.pat.span = self.sess.source_map().mark_span_with_reason(
|
||||
CompilerDesugaringKind::Async, span, None);
|
||||
input.pat.span = desugared_span;
|
||||
|
||||
(binding_mode, ident, true)
|
||||
}
|
||||
|
@ -8458,7 +8459,7 @@ impl<'a> Parser<'a> {
|
|||
node: PatKind::Ident(
|
||||
BindingMode::ByValue(Mutability::Immutable), ident, None,
|
||||
),
|
||||
span,
|
||||
span: desugared_span,
|
||||
}),
|
||||
source: ArgSource::AsyncFn(input.pat.clone()),
|
||||
})
|
||||
|
@ -8471,7 +8472,7 @@ impl<'a> Parser<'a> {
|
|||
pat: P(Pat {
|
||||
id,
|
||||
node: PatKind::Ident(binding_mode, ident, None),
|
||||
span,
|
||||
span: desugared_span,
|
||||
}),
|
||||
// We explicitly do not specify the type for this statement. When the user's
|
||||
// argument type is `impl Trait` then this would require the
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue