Files
rust/tests/ui
bors 67bb749c2e Auto merge of #130775 - jieyouxu:revert-129047, r=nagisa
Revert "Apply EarlyOtherwiseBranch to scalar value #129047"

This reverts PR #129047, commit a772336fb3, reversing changes made to 702987f75b.

cc `@DianQK` and `@cjgillot` as the PR author and reviewer of #129047 respectively.

It seems [Apply EarlyOtherwiseBranch to scalar value #129047](https://github.com/rust-lang/rust/pull/129047) may have lead to several nightly regressions:

- https://github.com/rust-lang/rust/issues/130769
- https://github.com/rust-lang/rust/issues/130774
- https://github.com/rust-lang/rust/issues/130771

Example test that would ICE with changes in #129047 (this test is included in this PR):

```rs
//@ compile-flags: -C opt-level=3
//@ check-pass

use std::task::Poll;

pub fn poll(val: Poll<Result<Option<Vec<u8>>, u8>>) {
    match val {
        Poll::Ready(Ok(Some(_trailers))) => {}
        Poll::Ready(Err(_err)) => {}
        Poll::Ready(Ok(None)) => {}
        Poll::Pending => {}
    }
}
```

Since this is a mir-opt ICE that seems to quite easy to trigger with real-world crates being affected, let's revert for now and reland the mir-opt after these are fixed.
2024-09-24 14:52:06 +00:00
..
2024-09-21 13:05:21 +02:00
2024-07-18 00:00:04 +00:00
2024-09-22 10:46:59 -04:00
2024-09-20 09:18:47 +00:00
2024-07-19 23:27:42 +03:00
2024-08-10 12:07:17 +02:00
2024-08-11 09:58:11 +01:00
2024-09-23 22:12:54 +02:00
2024-09-20 10:02:14 -07:00
2024-04-21 15:43:43 -03:00
2024-08-09 22:02:23 -04:00
2024-08-10 12:07:17 +02:00
2024-09-20 10:02:14 -07:00
2024-09-12 08:08:38 +02:00
2024-08-28 23:32:40 +01:00
2024-08-02 11:34:54 +00:00
2024-09-05 06:37:38 -04:00
2024-06-01 09:40:46 +08:00
2024-09-15 09:51:32 +02:00
2024-09-20 10:02:14 -07:00
2024-07-12 03:22:32 +00:00
2024-09-06 10:32:48 -04:00
2024-09-20 10:02:14 -07:00
2024-04-29 14:53:38 +02:00
2024-05-20 11:13:10 -04:00
2024-09-24 08:56:41 +00:00
2024-08-18 19:46:53 +02:00
2024-05-28 12:31:12 +02:00
2024-08-02 11:34:54 +00:00
2024-08-02 11:34:54 +00:00
2024-08-03 07:57:31 -04:00
2024-08-18 19:46:53 +02:00
2024-09-09 19:39:43 -07:00
2024-08-31 23:56:45 +02:00
2024-09-03 14:36:21 +02:00
2024-08-18 19:46:53 +02:00
2024-09-18 16:45:48 -04:00
2024-05-21 20:16:39 +00:00
2024-06-25 18:06:22 +02: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>.