Jubilee 7a4970476e
Rollup merge of #132757 - compiler-errors:yeet-check-wf, r=lcnr
Get rid of `check_opaque_type_well_formed`

Instead, replicate it by improving the span of the opaque in `check_opaque_meets_bounds`.

This has two consequences:
1. We now prefer "concrete type differs" errors, since we'll hit those first before we check the opaque is WF.
2. Spans have gotten slightly worse.

Specifically, (2.) could be improved by adding a new obligation cause that explains that the definition's environment has stronger assumptions than the declaration.

r? lcnr
2024-11-08 20:46:12 -08:00
..
2024-10-28 14:20:28 +11:00
2024-11-03 18:59:31 +00:00
2024-11-03 18:59:31 +00:00
2024-11-05 21:54:45 +00:00
2024-11-01 01:46:23 +00:00
2024-11-03 18:59:31 +00:00
2024-10-30 16:47:47 -07:00
2024-10-30 16:47:47 -07:00
2024-10-31 13:12:22 +08:00
2024-10-24 04:33:14 +08:00
2024-10-28 14:20:28 +11:00
2024-11-04 12:06:19 +01:00
2024-11-03 18:59:31 +00:00
2024-11-02 21:29:59 +01:00
2024-10-22 12:55:16 +00:00
2024-10-12 13:01:36 +02:00
2024-10-11 11:30:08 -04:00
2024-10-30 10:48:08 +00:00
2024-11-07 18:18:34 -08:00
2024-11-02 03:08:04 +00:00
2024-10-28 14:12:17 +08:00
2024-11-07 20:56:36 +00:00
2023-01-11 09:32:08 +00:00
2024-10-28 14:20:28 +11:00
2024-10-28 14:20:28 +11:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2024-10-30 16:47:47 -07:00

UI Tests

This folder contains rustc's UI tests.

Test Directives (Headers)

Typically, a UI test will have some test directives / headers which are special comments that tell compiletest how to build and intepret a test.

As part of an on-going effort to rewrite compiletest (see https://github.com/rust-lang/compiler-team/issues/536), a major change proposal to change legacy compiletest-style headers // <directive> to ui_test-style headers //@ <directive> was accepted (see https://github.com/rust-lang/compiler-team/issues/512.

An example directive is ignore-test. In legacy compiletest style, the header would be written as

// ignore-test

but in ui_test style, the header would be written as

//@ ignore-test

compiletest is changed to accept only //@ directives for UI tests (currently), and will reject and report an error if it encounters any comments // <content> that may be parsed as an legacy compiletest-style test header. To fix this, you should migrate to the ui_test-style header //@ <content>.