rust/tests
bors bf62436bce Auto merge of #114602 - compiler-errors:rpit-outlives-sadness, r=oli-obk
Map RPIT duplicated lifetimes back to fn captured lifetimes

Use the [`lifetime_mapping`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/hir/struct.OpaqueTy.html#structfield.lifetime_mapping) to map an RPIT's captured lifetimes back to the early- or late-bound lifetimes from its parent function. We may be going thru several layers of mapping, since opaques can be nested, so we introduce `TyCtxt::map_rpit_lifetime_to_fn_lifetime` to loop through several opaques worth of mapping, and handle turning it into a `ty::Region` as well.

We can then use this instead of the identity substs for RPITs in `check_opaque_meets_bounds` to address #114285.

We can then also use `map_rpit_lifetime_to_fn_lifetime` to properly install bidirectional-outlives predicates for both RPITs and RPITITs. This addresses #114601.

I based this on #114574, but I don't actually know how much of that PR we still need, so some code may be redundant now... 🤷

---

Fixes #114597
Fixes #114579
Fixes #114285

Also fixes #114601, since it turns out we had other bugs with RPITITs and their duplicated lifetime params 😅.

Supersedes #114574

r? `@oli-obk`
2023-08-08 13:03:10 +00:00
..
assembly Auto merge of #112922 - g0djan:godjan/wasi-threads, r=wesleywiser 2023-08-02 01:01:48 +00:00
auxiliary
codegen Rollup merge of #114562 - Trolldemorted:thiscall, r=oli-obk 2023-08-07 16:47:57 +02:00
codegen-units
debuginfo Replace ignore-everything with only-arch 2023-07-29 15:49:07 -07:00
incremental Forbid old-style simd_shuffleN intrinsics 2023-08-03 09:29:00 +00:00
mir-opt bless 2023-08-03 18:42:12 +00:00
pretty Rollup merge of #111042 - Zalathar:no-coverage, r=wesleywiser 2023-05-01 17:10:24 +02:00
run-coverage refactor(rustc_middle): Substs -> GenericArg 2023-07-14 13:27:35 +01:00
run-coverage-rustdoc Re-bless the newly-migrated tests 2023-06-28 11:09:19 +10:00
run-make Rollup merge of #114093 - Enselic:stdin-unknown-mod, r=Mark-Simulacrum 2023-08-07 05:29:10 +02:00
run-make-fulldeps On nightly, dump ICE backtraces to disk 2023-07-19 14:10:07 +00:00
run-pass-valgrind
rustdoc Rollup merge of #114253 - fmease:compute-variances-for-lazy-ty-aliases, r=oli-obk 2023-08-04 09:18:58 +02:00
rustdoc-gui Migrate GUI colors test to original CSS color format 2023-08-06 12:46:35 +02:00
rustdoc-js Auto merge of #112233 - notriddle:notriddle/search-unify, r=GuillaumeGomez 2023-06-15 03:04:46 +00:00
rustdoc-js-std Auto merge of #108537 - GuillaumeGomez:rustdoc-search-whitespace-as-separator, r=notriddle 2023-07-02 18:49:29 +00:00
rustdoc-json Handle inherent associated types fallout 2023-08-03 02:18:52 +02:00
rustdoc-ui Fix windows test output. 2023-08-01 14:24:11 +02:00
ui Auto merge of #114602 - compiler-errors:rpit-outlives-sadness, r=oli-obk 2023-08-08 13:03:10 +00:00
ui-fulldeps Bump syn dependency 2023-07-26 08:42:40 +00:00
COMPILER_TESTS.md