diff options
| author | bors <bors@rust-lang.org> | 2023-11-08 10:08:44 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2023-11-08 10:08:44 +0000 |
| commit | fab1054e1742790c22ccc92a625736d658363677 (patch) | |
| tree | db086ac22ee6f267a7e7899460d7155f14d00eff /tests/rustdoc-js-std/parser-returned.js | |
| parent | 750c2ecd1503fe7ff39e41603977d12de33417d8 (diff) | |
| parent | 97c9d8f405e1b93bf69334b239f89d92d28847a0 (diff) | |
| download | rust-fab1054e1742790c22ccc92a625736d658363677.tar.gz rust-fab1054e1742790c22ccc92a625736d658363677.zip | |
Auto merge of #117542 - compiler-errors:only-normalize-predicate, r=lcnr
Only use `normalize_param_env` when normalizing predicate in `check_item_bounds`
Only use the `normalize_param_env` when normalizing the item bound predicate in `check_item_bounds`, instead of using it when processing this obligation as well. This causes <BUG> to reoccur, but hopefully with better caching in the future, we can fix this would having such bad effects on perf.
This PR also fixes #117598. It turns out that the GAT predicate that we install is actually wrong -- given code like:
```
impl<'r> HasValueRef<'r> for Any {
type Database = Any;
}
```
We currently generate a predicate that looks like `<Any as HasValueRef<'r>>::Database = Any`, where `'r` is an early-bound variable. Really this GAT assumption should be universally quantified over the impl's args, i.e. `for<'r> <Any as HasValueRef<'r>>::Database = Any`, but then we'd need the binder to also include all the WC of the impl as well, which we don't support yet, lol.
Diffstat (limited to 'tests/rustdoc-js-std/parser-returned.js')
0 files changed, 0 insertions, 0 deletions
