Rollup merge of #99821 - cjgillot:ast-lifetimes-2, r=compiler-errors
Remove separate indexing of early-bound regions ~Based on https://github.com/rust-lang/rust/pull/99728.~ This PR copies some modifications from https://github.com/rust-lang/rust/pull/97839 around object lifetime defaults. These modifications allow to stop counting generic parameters during lifetime resolution, and rely on the indexing given by `rustc_typeck::collect`.
This commit is contained in:
commit
5555e13a6e
17 changed files with 180 additions and 432 deletions
|
@ -1597,8 +1597,9 @@ rustc_queries! {
|
|||
/// for each parameter if a trait object were to be passed for that parameter.
|
||||
/// For example, for `struct Foo<'a, T, U>`, this would be `['static, 'static]`.
|
||||
/// For `struct Foo<'a, T: 'a, U>`, this would instead be `['a, 'static]`.
|
||||
query object_lifetime_defaults(_: LocalDefId) -> Option<&'tcx [ObjectLifetimeDefault]> {
|
||||
desc { "looking up lifetime defaults for a region on an item" }
|
||||
query object_lifetime_default(key: DefId) -> Option<ObjectLifetimeDefault> {
|
||||
desc { "looking up lifetime defaults for generic parameter `{:?}`", key }
|
||||
separate_provide_extern
|
||||
}
|
||||
query late_bound_vars_map(_: LocalDefId)
|
||||
-> Option<&'tcx FxHashMap<ItemLocalId, Vec<ty::BoundVariableKind>>> {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue