support revealing defined opaque post borrowck by lcnr · Pull Request #133501 · rust-lang/rust

@lcnr lcnr mentioned this pull request

Nov 26, 2024

bors added a commit to rust-lang-ci/rust that referenced this pull request

Nov 27, 2024
[DO NOT MERGE] bootstrap with `-Znext-solver=globally`

A revival of rust-lang#124812.

Current status, we're failing in:

- failing in `rustc_next_trait_solver` with 126 instances of the following error
```
error[E0311]: the parameter type `I` may not live long enough
    |
help: consider adding an explicit lifetime bound
   --> compiler/rustc_next_trait_solver/src/solve/trait_goals.rs:624:53
    |
624 ~     fn consider_structural_builtin_unsize_candidates<'a>(
625 ~         ecx: &mut EvalCtxt<'a, D>,
626 |         goal: Goal<I, Self>,
627 ~     ) -> Vec<Candidate<I>> where I: 'a {
```
- `itertools` hangs, we're already encountered this hang in our previous attempt due to large type sizes. I believe that it's simply caused by a missing cache somewhere, potentially in `wf.rs`, but other visitors may also be responsible. See rust-itertools/itertools#945 for more details

### commits

- rust-lang#133501
- rust-lang#133493
- 9456bfe and b21b116 reimplement candidate preference based on rust-lang#132325, not yet a separate PR
- c3ef9cd is a rebased version of rust-lang#125334, unsure whether I actually want to land this PR for now

r? `@ghost`

compiler-errors

bors added a commit to rust-lang-ci/rust that referenced this pull request

Nov 27, 2024

@bors

bors added a commit to rust-lang-ci/rust that referenced this pull request

Nov 27, 2024

bors added a commit to rust-lang-ci/rust that referenced this pull request

Nov 28, 2024

compiler-errors

@bors bors added S-waiting-on-bors

Status: Waiting on bors to run and complete tests. Bors will change the label on completion.

and removed S-waiting-on-review

Status: Awaiting review from the assignee but also interested parties.

labels

Nov 28, 2024

matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request

Nov 29, 2024
…piler-errors

support revealing defined opaque post borrowck

By adding a new `TypingMode::PostBorrowckAnalysis`. Currently only supported with the new solver and I didn't look into the way we replace `ReErased`. `@compiler-errors` mentioned that always using existentials may be unsound.

r? `@compiler-errors`

bors added a commit to rust-lang-ci/rust that referenced this pull request

Nov 29, 2024

bors added a commit to rust-lang-ci/rust that referenced this pull request

Nov 29, 2024

rust-timer added a commit to rust-lang-ci/rust that referenced this pull request

Nov 29, 2024
Rollup merge of rust-lang#133501 - lcnr:post-borrowck-analysis, r=compiler-errors

support revealing defined opaque post borrowck

By adding a new `TypingMode::PostBorrowckAnalysis`. Currently only supported with the new solver and I didn't look into the way we replace `ReErased`. ``@compiler-errors`` mentioned that always using existentials may be unsound.

r? ``@compiler-errors``

@lcnr lcnr mentioned this pull request

Dec 5, 2024

@lcnr lcnr deleted the post-borrowck-analysis branch

December 5, 2024 09:56

@lcnr lcnr mentioned this pull request

Dec 19, 2024

8 tasks