Auto merge of #97313 - cjgillot:ast-lifetimes-anon, r=petrochenkov
Resolve function lifetime elision on the AST ~Based on https://github.com/rust-lang/rust/pull/97720~ Lifetime elision for functions is purely syntactic in nature, so can be resolved on the AST. This PR replicates the elision logic and diagnostics on the AST, and replaces HIR-based resolution by a `delay_span_bug`. This refactor allows for more consistent diagnostics, which don't have to guess the original code from HIR. r? `@petrochenkov`
This commit is contained in:
commit
6dbae3ad19
58 changed files with 1719 additions and 1786 deletions
|
@ -1835,7 +1835,6 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
|
|||
debug!(?self.captured_lifetimes);
|
||||
let name = match res {
|
||||
LifetimeRes::Param { mut param, binder } => {
|
||||
debug_assert_ne!(ident.name, kw::UnderscoreLifetime);
|
||||
let p_name = ParamName::Plain(ident);
|
||||
if let Some(mut captured_lifetimes) = self.captured_lifetimes.take() {
|
||||
if !captured_lifetimes.binders_to_ignore.contains(&binder) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue