Files
rust/tests/ui
许杰友 Jieyou Xu (Joe) 43265f5721 Rollup merge of #124504 - gurry:123710-union-ICE, r=oli-obk
Mark unions non-const-propagatable in `KnownPanicsLint` without calling layout

Fixes #123710

The ICE occurs during the layout calculation of the union `InvalidTag` in #123710 because the following assert fails:https://github.com/rust-lang/rust/blob/5fe8b697e729b6eb64841a3905e57da1b47f4ca3/compiler/rustc_abi/src/layout.rs#L289-L292

The layout calculation is invoked by `KnownPanicsLint` when it is trying to figure out which locals it can const prop. Since `KnownPanicsLint` is never actually going to const props unions thanks to PR https://github.com/rust-lang/rust/pull/121628 there's no point calling layout to check if it can. So in this fix I skip the call to layout and just mark the local non-const propagatable if it is a union.
2024-04-29 18:03:24 +01:00
..
2024-04-22 18:48:47 +02:00
2024-04-29 06:49:39 +02:00
2024-04-21 15:43:43 -03:00
2024-04-07 01:16:45 +02:00
2024-04-21 15:43:43 -03:00
2024-04-24 13:12:33 +01:00
2024-04-21 15:43:43 -03:00
2024-02-01 03:31:03 +00:00
2024-03-06 12:01:54 +00:00
2024-04-21 15:43:43 -03:00
2024-04-21 15:43:43 -03:00
2024-04-14 21:34:14 +05:30
2024-04-12 20:57:07 +00:00
2024-04-03 22:48:55 +01:00
2024-04-24 13:12:33 +01:00
2024-04-12 17:45:15 +01:00
2024-04-24 13:12:33 +01:00
2024-04-24 13:12:33 +01:00
2024-04-25 10:47:24 +08:00
2024-04-21 15:43:43 -03:00
2024-04-21 20:10:12 -04:00
2024-04-07 17:38:07 -03:00
2024-04-11 17:53:27 -04:00
2024-03-23 16:14:42 +01:00
2024-04-21 15:43:43 -03:00
2024-04-14 09:42:53 -04:00
2024-02-29 14:43:43 +01:00
2024-04-24 13:12:33 +01:00
2024-03-31 14:58:17 -03:00
2024-04-17 09:50:15 +00:00
2024-04-09 01:19:43 +02:00
2024-04-22 18:48:47 +02:00
2024-04-25 10:51:54 -04:00
2024-03-15 13:37:41 +00:00
2024-04-07 17:38:07 -03:00
2024-04-06 15:14:16 -04:00
2024-04-25 10:51:54 -04:00
2024-02-22 18:05:28 +00:00
2024-01-13 12:46:58 -05:00
2024-02-07 10:42:01 +08:00
2024-01-13 12:46:58 -05:00
2024-01-13 12:46:58 -05:00
2024-02-07 10:42:01 +08: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>.