Files
rust/tests/ui
Matthias Krüger 9fd0972677 Rollup merge of #133798 - lcnr:nested-bodies-opaques, r=compiler-errors
stop replacing bivariant args with `'static` when computing closure requirements

It is unnecessary, these get constrained when checking that the opaque type is well-formed.

It also results in the opaque type no longer being well formed. If you've got `fn foo<'a>() -> impl Sized + 'a` the opaque is `type Opaque<'a, 'aDummy> where 'a: 'aDummy, 'aDummy: 'a` where `'aDummy`  is bivariant. If we call `foo::<'b>()`  inside of a closure and its return type ends up in a type test, we start out with the WF `Opaque<'b, 'b>`, and then replace the bivariant `'b` with `'static`. `Opaque<'b, 'static>` is no longer well-formed. Given how these type tests are used, I don't think this caused any practical issues.

r? types
2024-12-04 05:42:08 +01:00
..
2024-07-18 00:00:04 +00:00
2024-11-03 18:59:31 +00:00
2024-09-05 06:37:38 -04:00
2024-11-26 10:46:02 +00:00
2024-10-30 16:47:47 -07:00
2024-10-30 16:47:47 -07:00
2024-11-16 20:03:31 +00:00
2024-08-18 19:46:53 +02:00
2024-05-28 12:31:12 +02:00
2024-08-03 07:57:31 -04:00
2024-10-12 13:01:36 +02:00
2024-11-22 11:12:15 -08:00
2024-11-07 18:18:34 -08:00
2024-11-02 03:08:04 +00:00
2024-11-17 22:15:54 +00:00
2024-11-22 11:12:15 -08:00
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-06-25 18:06:22 +02: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>.