Files
rust/tests/ui
Guillaume Gomez acf48fcb9d Rollup merge of #133368 - compiler-errors:codegen-select-unconstrained-params, r=lcnr
Delay a bug when encountering an impl with unconstrained generics in `codegen_select`

Despite its name, `codegen_select` is what powers `Instance::try_resolve`, which is used in pre-codegen contexts to try to resolve a method where possible. One place that it's used is in the "recursion MIR lint" that detects recursive MIR bodies.

If we encounter an impl in `codegen_select` that contains unconstrained generic parameters, we expect that impl to caused an error to be reported; however, there's no temporal guarantee that this error is reported *before* we call `codegen_select`. This is what a delayed bug is *for*, and this PR makes us use a delayed bug rather than asserting something about errors already having been emitted.

Fixes  #126646
2024-11-28 03:14:46 +01:00
..
2024-07-18 00:00:04 +00:00
2024-11-22 11:12:15 -08:00
2024-11-22 11:12:15 -08:00
2024-08-10 12:07:17 +02:00
2024-11-03 18:59:31 +00:00
2024-09-05 06:37:38 -04:00
2024-11-17 21:49:10 +01: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-22 11:12:15 -08:00
2024-09-20 10:02:14 -07:00
2024-11-16 20:03:31 +00:00
2024-08-18 19:46:53 +02:00
2024-09-27 14:40:38 +01:00
2024-11-02 21:29:59 +01: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-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>.