Files
rust/tests/ui
Matthias Krüger dd60b6ca27 Rollup merge of #137232 - estebank:from-residual-note, r=petrochenkov
Don't mention `FromResidual` on bad `?`

Unless `try_trait_v2` is enabled, don't mention that `FromResidual` isn't implemented for a specific type when the implicit `From` conversion of a `?` fails. For the end user on stable, `?` might as well be a compiler intrinsic, so we remove that note to avoid further confusion and allowing other parts of the error to be more prominent.

```
error[E0277]: `?` couldn't convert the error to `u8`
  --> $DIR/bad-interconversion.rs:4:20
   |
LL | fn result_to_result() -> Result<u64, u8> {
   |                          --------------- expected `u8` because of this
LL |     Ok(Err(123_i32)?)
   |        ------------^ the trait `From<i32>` is not implemented for `u8`
   |        |
   |        this can't be annotated with `?` because it has type `Result<_, i32>`
   |
   = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
   = help: the following other types implement trait `From<T>`:
             `u8` implements `From<Char>`
             `u8` implements `From<bool>`
```
2025-02-19 18:52:08 +01:00
..
2025-02-14 00:37:23 +01:00
2025-02-13 23:49:09 +01:00
2025-02-14 00:37:23 +01:00
2024-12-12 23:36:27 +00:00
2024-12-31 23:46:39 +08:00
2025-02-14 00:37:23 +01:00
2025-02-18 13:22:45 +01:00
2025-02-07 16:02:19 +00:00
2024-12-12 23:36:27 +00:00
2025-01-28 19:35:51 +00:00
2025-01-07 16:04:14 +01:00
2025-01-26 13:55:59 +00:00
2025-02-18 16:22:16 +00:00
2025-01-30 20:37:56 -07:00
2025-02-13 23:49:09 +01:00
2025-01-29 15:45:13 +00:00
2024-12-25 10:36:32 +01:00
2025-01-23 10:55:01 +00:00
2025-02-04 21:42:43 +05:30
2024-10-28 14:20:28 +11:00
2024-10-28 14:20:28 +11:00
2024-12-02 03:43:50 -07: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 interpret a test.

As part of an ongoing 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 a legacy compiletest-style test header. To fix this, you should migrate to the ui_test-style header //@ <content>.