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:
bors 2019-05-24 03:07:07 +00:00
commit 46805805ab
11 changed files with 2108 additions and 2020 deletions

View file

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