rust/tests
bors d163e5e515 Auto merge of #123737 - compiler-errors:alias-wf, r=lcnr
Check alias args for WF even if they have escaping bound vars

#### What

This PR stops skipping arguments of aliases if they have escaping bound vars, instead recursing into them and only discarding the resulting obligations referencing bounds vars.

#### An example:

From the test:
```
trait Trait {
    type Gat<U: ?Sized>;
}

fn test<T>(f: for<'a> fn(<&'a T as Trait>::Gat<&'a [str]>)) where for<'a> &'a T: Trait {}
//~^ ERROR the size for values of type `[()]` cannot be known at compilation time

fn main() {}
```

We now prove that `str: Sized` in order for `&'a [str]` to be well-formed. We were previously unconditionally skipping over `&'a [str]` as it referenced a buond variable. We now recurse into it and instead only discard the `[str]: 'a` obligation because of the escaping bound vars.

#### Why?

This is a change that improves consistency about proving well-formedness earlier in the pipeline, which is necessary for future work on where-bounds in binders and correctly handling higher-ranked implied bounds. I don't expect this to fix any unsoundness.

#### What doesn't it fix?

Specifically, this doesn't check projection predicates' components are well-formed, because there are too many regressions: https://github.com/rust-lang/rust/pull/123737#issuecomment-2052198478
2024-07-03 03:48:06 +00:00
..
assembly Rollup merge of #126555 - beetrees:f16-inline-asm-arm, r=Amanieu 2024-06-22 12:57:18 +02:00
auxiliary Clean up users of rust_dbg_call 2024-04-17 15:08:08 -04:00
codegen Use the aligned size for alloca at ret when the pass mode is cast. 2024-07-02 06:33:40 +08:00
codegen-units Avoid MIR bloat in inlining 2024-07-01 05:17:13 -07:00
coverage Rollup merge of #126956 - joboet:fmt_no_extern_ty, r=RalfJung 2024-06-28 08:34:08 +02:00
coverage-run-rustdoc
crashes Migrate tests to use -Znext-solver 2024-06-30 17:08:45 +00:00
debuginfo Add debuginfo tests for collapse_debuginfo for statics. 2024-06-13 16:04:31 +02:00
incremental Auto merge of #126409 - pacak:incr-uplorry, r=michaelwoerister 2024-06-20 09:06:16 +00:00
mir-opt Rollup merge of #127136 - compiler-errors:coroutine-closure-env-shim, r=oli-obk 2024-07-02 17:47:46 +02:00
pretty Auto merge of #125918 - oli-obk:const_block_ice, r=compiler-errors 2024-06-07 09:08:59 +00:00
run-make Auto merge of #126941 - GuillaumeGomez:migrate-run-make-llvm-ident, r=Kobzol 2024-07-01 21:55:41 +00:00
run-pass-valgrind rustfmt tests/run-pass-valgrind/. 2024-06-04 09:53:02 +10:00
rustdoc Migrate tests to use -Znext-solver 2024-06-30 17:08:45 +00:00
rustdoc-gui Don't call switch-theme function 2024-06-29 11:56:06 +02:00
rustdoc-js rustdoc-search: use lowercase, non-normalized name for type search 2024-06-09 11:56:52 -07:00
rustdoc-js-std Update tests 2024-06-07 11:55:52 +08:00
rustdoc-json rustfmt tests/rustdoc-json/. 2024-06-04 14:15:19 +10:00
rustdoc-ui Rollup merge of #127016 - bvanjoi:fix-126986, r=GuillaumeGomez 2024-06-28 22:04:16 +02:00
ui Auto merge of #123737 - compiler-errors:alias-wf, r=lcnr 2024-07-03 03:48:06 +00:00
ui-fulldeps Add method to get all attributes on a definition 2024-06-28 13:24:41 +08:00
COMPILER_TESTS.md