Files
rust/tests/ui
León Orell Valerian Liehr 94d780d647 Rollup merge of #131558 - sassman:feat/warnin-for-no-mangle-together-with-export-name, r=Urgau
Lint on combining `#[no_mangle]` and `#[export_name]`

This is my very first contribution to the compiler, even though I read the [chapter about lints](https://rustc-dev-guide.rust-lang.org/diagnostics.html) I'm not very certain that this ~~new lint is done right as a builtin lint~~ PR is right. I appreciate any guidance on how to improve the code.

- Add test for issue #47446
- ~~Implement the new lint `mixed_export_name_and_no_mangle` as a builtin lint (not sure if that is the right way to go)~~ Extend `unused_attributes` lint
- Add suggestion how to fix it

<details>

<summary>Old proposed new lint</summary>

> The `mixed_export_name_and_no_mangle` lint detects usage of both `#[export_name]` and `#[no_mangle]` on the same item which results on `#[no_mangle]` being ignored.
>
> *warn-by-default*
>
> ### Example
>
> ```rust
> #[no_mangle] // ignored
> #[export_name = "foo"] // takes precedences
> pub fn bar() {}
> ```
>
> ### Explanation
>
> The compiler will not respect the `#[no_mangle]` attribute when generating the symbol name for the function, as the `#[export_name]` attribute takes precedence. This can lead to confusion and is unnecessary.

</details>
2024-12-10 08:55:54 +01:00
..
2024-12-07 22:18:51 +00:00
2024-07-18 00:00:04 +00:00
2024-12-06 16:42:09 -05:00
2024-12-05 14:14:17 -08:00
2024-12-09 17:31:16 +08:00
2024-12-09 21:55:13 +00:00
2024-12-07 22:18:51 +00:00
2024-11-03 18:59:31 +00:00
2024-09-05 06:37:38 -04:00
2024-10-30 16:47:47 -07:00
2024-10-30 16:47:47 -07:00
2024-12-09 17:39:08 +08:00
2024-11-16 20:03:31 +00:00
2024-08-18 19:46:53 +02:00
2024-12-09 21:55:13 +00:00
2024-08-03 07:57:31 -04:00
2024-12-08 20:21:46 +00:00
2024-10-12 13:01:36 +02:00
2024-12-05 14:14:17 -08: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-12-09 21:58:07 +00:00
2024-12-07 22:18:51 +00:00
2024-11-17 22:15:54 +00:00
2024-12-07 22:18:51 +00:00
2024-12-06 16:42:09 -05: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>.