Files
rust/tests/ui
bors 7a202a9056 Auto merge of #135204 - RalfJung:win64-zst, r=SparrowLii
fix handling of ZST in win64 ABI on windows-msvc targets

The Microsoft calling conventions do not really say anything about ZST since they do not seem to exist in MSVC. However, both GCC and clang allow passing ZST over  `__attribute__((ms_abi))` functions (which matches our `extern "win64" fn`) on `windows-gnu` targets, and therefore implicitly define a de-facto ABI for these types (and lucky enough they seem to define the same ABI). This ABI should be the same for windows-msvc and windows-gnu targets, so we use this as a hint for how to implement this ABI everywhere: we always pass ZST by-ref.

The best alternative would be to just reject compiling functions which cannot exist in MSVC, but that would be a breaking change.

Cc `@programmerjake` `@ChrisDenton`
Fixes https://github.com/rust-lang/rust/issues/132893
2025-01-13 13:05:53 +00:00
..
2024-12-12 23:36:27 +00:00
2024-07-18 00:00:04 +00:00
2024-12-31 15:11:18 +08:00
2024-12-12 23:36:27 +00:00
2024-12-12 23:36:27 +00:00
2024-12-12 23:36:27 +00:00
2024-09-05 06:37:38 -04:00
2024-12-31 23:46:39 +08:00
2024-12-31 23:46:39 +08:00
2024-10-30 16:47:47 -07:00
2024-12-13 14:18:41 -08:00
2024-10-30 16:47:47 -07:00
2024-12-12 23:36:27 +00:00
2024-12-12 23:36:27 +00:00
2025-01-08 07:34:59 +00:00
2024-11-16 20:03:31 +00:00
2024-08-03 07:57:31 -04:00
2025-01-10 02:22:57 +01:00
2024-12-13 00:04:56 +00:00
2024-11-07 18:18:34 -08:00
2024-11-02 03:08:04 +00:00
2024-12-16 14:59:10 -05:00
2025-01-06 06:11:06 +00:00
2024-12-25 10:36:32 +01:00
2024-12-07 22:18:51 +00:00
2025-01-10 02:22:57 +01:00
2025-01-08 07:34:59 +00:00
2024-12-06 16:42:09 -05:00
2024-12-12 23:36:27 +00: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-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>.