diff options
| author | Timo <30553356+y21@users.noreply.github.com> | 2025-05-17 10:43:54 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-17 10:43:54 +0000 |
| commit | da7b678992dd65dbd644bfe30ba61a9a0d2c695c (patch) | |
| tree | c96bbfc1b21730ce029e2c8d49e915cb5292a3b1 /tests | |
| parent | daeb6a1d180b040ed4f61485cc1294859a287f88 (diff) | |
| parent | 4de5b2757df953e4f0198aca3cf89c720e6bcbdf (diff) | |
| download | rust-da7b678992dd65dbd644bfe30ba61a9a0d2c695c.tar.gz rust-da7b678992dd65dbd644bfe30ba61a9a0d2c695c.zip | |
`empty_struct_with_brackets`: do not lint code coming from macro expansion (#14623)
Do not attempt to fetch a snippet from expansion. Without this change, the inside of macros could[*] be shown as the source of the problem. [*] Due to the way the source code is processed and reparsed in this macro, the declarative macro has to be located outside the current source file for the bug to appear. Otherwise, the macro call itself will be (mis)identified as a potential `struct` field definition and the lint will not trigger. changelog: [`empty_struct_with_brackets`]: do not lint code coming from macro expansion
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/ui/empty_structs_with_brackets.fixed | 8 | ||||
| -rw-r--r-- | tests/ui/empty_structs_with_brackets.rs | 8 |
2 files changed, 16 insertions, 0 deletions
diff --git a/tests/ui/empty_structs_with_brackets.fixed b/tests/ui/empty_structs_with_brackets.fixed index b1600862a8f..419cf2354f8 100644 --- a/tests/ui/empty_structs_with_brackets.fixed +++ b/tests/ui/empty_structs_with_brackets.fixed @@ -23,4 +23,12 @@ struct MyTupleStruct(usize, String); // should not trigger lint struct MySingleTupleStruct(usize); // should not trigger lint struct MyUnitLikeStruct; // should not trigger lint +macro_rules! empty_struct { + ($s:ident) => { + struct $s {} + }; +} + +empty_struct!(FromMacro); + fn main() {} diff --git a/tests/ui/empty_structs_with_brackets.rs b/tests/ui/empty_structs_with_brackets.rs index 1f69c4be9ec..90c415c1220 100644 --- a/tests/ui/empty_structs_with_brackets.rs +++ b/tests/ui/empty_structs_with_brackets.rs @@ -23,4 +23,12 @@ struct MyTupleStruct(usize, String); // should not trigger lint struct MySingleTupleStruct(usize); // should not trigger lint struct MyUnitLikeStruct; // should not trigger lint +macro_rules! empty_struct { + ($s:ident) => { + struct $s {} + }; +} + +empty_struct!(FromMacro); + fn main() {} |
