Skip to content

Commit 371fb8b

Browse files
committed
Tweak tests/ui/proc-macro/macro-rules-derive-cfg.rs.
- Trim some unnecessary fat from the type declaration. - Add another attribute, to make it a stronger test of `cfg_attr` processing.
1 parent 6b678c5 commit 371fb8b

File tree

2 files changed

+87
-110
lines changed

2 files changed

+87
-110
lines changed

tests/ui/proc-macro/macro-rules-derive-cfg.rs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,15 @@ extern crate test_macros;
1414
macro_rules! produce_it {
1515
($expr:expr) => {
1616
#[derive(Print)]
17-
struct Foo {
18-
val: [bool; {
19-
let a = #[cfg_attr(not(FALSE), rustc_dummy(first))] $expr;
20-
0
21-
}]
22-
}
17+
struct Foo(
18+
[bool; #[cfg_attr(not(FALSE), rustc_dummy(first))] $expr]
19+
);
2320
}
2421
}
2522

2623
produce_it!(#[cfg_attr(not(FALSE), rustc_dummy(second))] {
27-
#![cfg_attr(not(FALSE), allow(unused))]
24+
#![cfg_attr(not(FALSE), rustc_dummy(third))]
25+
#[cfg_attr(not(FALSE), rustc_dummy(fourth))]
2826
30
2927
});
3028

Lines changed: 82 additions & 103 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,9 @@
1-
PRINT-DERIVE INPUT (DISPLAY): struct Foo
2-
{
3-
val :
4-
[bool;
5-
{
6-
let a = #[rustc_dummy(first)] #[rustc_dummy(second)]
7-
{ #![allow(unused)] 30 }; 0
8-
}]
9-
}
10-
PRINT-DERIVE DEEP-RE-COLLECTED (DISPLAY): struct Foo
11-
{
12-
val :
13-
[bool;
14-
{
15-
let a = #[rustc_dummy(first)] #[rustc_dummy(second)]
16-
{ #! [allow(unused)] 30 }; 0
17-
}]
18-
}
1+
PRINT-DERIVE INPUT (DISPLAY): struct
2+
Foo([bool; #[rustc_dummy(first)] #[rustc_dummy(second)]
3+
{ #![rustc_dummy(third)] #[rustc_dummy(fourth)] 30 }]);
4+
PRINT-DERIVE DEEP-RE-COLLECTED (DISPLAY): struct
5+
Foo([bool; #[rustc_dummy(first)] #[rustc_dummy(second)]
6+
{ #! [rustc_dummy(third)] #[rustc_dummy(fourth)] 30 }]);
197
PRINT-DERIVE INPUT (DEBUG): TokenStream [
208
Ident {
219
ident: "struct",
@@ -26,155 +14,146 @@ PRINT-DERIVE INPUT (DEBUG): TokenStream [
2614
span: $DIR/macro-rules-derive-cfg.rs:17:16: 17:19 (#3),
2715
},
2816
Group {
29-
delimiter: Brace,
17+
delimiter: Parenthesis,
3018
stream: TokenStream [
31-
Ident {
32-
ident: "val",
33-
span: $DIR/macro-rules-derive-cfg.rs:18:13: 18:16 (#3),
34-
},
35-
Punct {
36-
ch: ':',
37-
spacing: Alone,
38-
span: $DIR/macro-rules-derive-cfg.rs:18:16: 18:17 (#3),
39-
},
4019
Group {
4120
delimiter: Bracket,
4221
stream: TokenStream [
4322
Ident {
4423
ident: "bool",
45-
span: $DIR/macro-rules-derive-cfg.rs:18:19: 18:23 (#3),
24+
span: $DIR/macro-rules-derive-cfg.rs:18:14: 18:18 (#3),
4625
},
4726
Punct {
4827
ch: ';',
4928
spacing: Alone,
50-
span: $DIR/macro-rules-derive-cfg.rs:18:23: 18:24 (#3),
29+
span: $DIR/macro-rules-derive-cfg.rs:18:18: 18:19 (#3),
30+
},
31+
Punct {
32+
ch: '#',
33+
spacing: Alone,
34+
span: $DIR/macro-rules-derive-cfg.rs:18:20: 18:21 (#3),
5135
},
5236
Group {
53-
delimiter: Brace,
37+
delimiter: Bracket,
5438
stream: TokenStream [
5539
Ident {
56-
ident: "let",
57-
span: $DIR/macro-rules-derive-cfg.rs:19:17: 19:20 (#3),
40+
ident: "rustc_dummy",
41+
span: $DIR/macro-rules-derive-cfg.rs:18:43: 18:54 (#3),
5842
},
43+
Group {
44+
delimiter: Parenthesis,
45+
stream: TokenStream [
46+
Ident {
47+
ident: "first",
48+
span: $DIR/macro-rules-derive-cfg.rs:18:55: 18:60 (#3),
49+
},
50+
],
51+
span: $DIR/macro-rules-derive-cfg.rs:18:54: 18:61 (#3),
52+
},
53+
],
54+
span: $DIR/macro-rules-derive-cfg.rs:18:21: 18:63 (#3),
55+
},
56+
Punct {
57+
ch: '#',
58+
spacing: Alone,
59+
span: $DIR/macro-rules-derive-cfg.rs:23:13: 23:14 (#0),
60+
},
61+
Group {
62+
delimiter: Bracket,
63+
stream: TokenStream [
5964
Ident {
60-
ident: "a",
61-
span: $DIR/macro-rules-derive-cfg.rs:19:21: 19:22 (#3),
65+
ident: "rustc_dummy",
66+
span: $DIR/macro-rules-derive-cfg.rs:23:36: 23:47 (#0),
6267
},
63-
Punct {
64-
ch: '=',
65-
spacing: Alone,
66-
span: $DIR/macro-rules-derive-cfg.rs:19:23: 19:24 (#3),
68+
Group {
69+
delimiter: Parenthesis,
70+
stream: TokenStream [
71+
Ident {
72+
ident: "second",
73+
span: $DIR/macro-rules-derive-cfg.rs:23:48: 23:54 (#0),
74+
},
75+
],
76+
span: $DIR/macro-rules-derive-cfg.rs:23:47: 23:55 (#0),
6777
},
78+
],
79+
span: $DIR/macro-rules-derive-cfg.rs:23:14: 23:57 (#0),
80+
},
81+
Group {
82+
delimiter: Brace,
83+
stream: TokenStream [
6884
Punct {
6985
ch: '#',
86+
spacing: Joint,
87+
span: $DIR/macro-rules-derive-cfg.rs:24:5: 24:6 (#0),
88+
},
89+
Punct {
90+
ch: '!',
7091
spacing: Alone,
71-
span: $DIR/macro-rules-derive-cfg.rs:19:25: 19:26 (#3),
92+
span: $DIR/macro-rules-derive-cfg.rs:24:6: 24:7 (#0),
7293
},
7394
Group {
7495
delimiter: Bracket,
7596
stream: TokenStream [
7697
Ident {
7798
ident: "rustc_dummy",
78-
span: $DIR/macro-rules-derive-cfg.rs:19:48: 19:59 (#3),
99+
span: $DIR/macro-rules-derive-cfg.rs:24:29: 24:40 (#0),
79100
},
80101
Group {
81102
delimiter: Parenthesis,
82103
stream: TokenStream [
83104
Ident {
84-
ident: "first",
85-
span: $DIR/macro-rules-derive-cfg.rs:19:60: 19:65 (#3),
105+
ident: "third",
106+
span: $DIR/macro-rules-derive-cfg.rs:24:41: 24:46 (#0),
86107
},
87108
],
88-
span: $DIR/macro-rules-derive-cfg.rs:19:59: 19:66 (#3),
109+
span: $DIR/macro-rules-derive-cfg.rs:24:40: 24:47 (#0),
89110
},
90111
],
91-
span: $DIR/macro-rules-derive-cfg.rs:19:26: 19:68 (#3),
112+
span: $DIR/macro-rules-derive-cfg.rs:24:7: 24:49 (#0),
92113
},
93114
Punct {
94115
ch: '#',
95116
spacing: Alone,
96-
span: $DIR/macro-rules-derive-cfg.rs:26:13: 26:14 (#0),
117+
span: $DIR/macro-rules-derive-cfg.rs:25:5: 25:6 (#0),
97118
},
98119
Group {
99120
delimiter: Bracket,
100121
stream: TokenStream [
101122
Ident {
102123
ident: "rustc_dummy",
103-
span: $DIR/macro-rules-derive-cfg.rs:26:36: 26:47 (#0),
124+
span: $DIR/macro-rules-derive-cfg.rs:25:28: 25:39 (#0),
104125
},
105126
Group {
106127
delimiter: Parenthesis,
107128
stream: TokenStream [
108129
Ident {
109-
ident: "second",
110-
span: $DIR/macro-rules-derive-cfg.rs:26:48: 26:54 (#0),
130+
ident: "fourth",
131+
span: $DIR/macro-rules-derive-cfg.rs:25:40: 25:46 (#0),
111132
},
112133
],
113-
span: $DIR/macro-rules-derive-cfg.rs:26:47: 26:55 (#0),
134+
span: $DIR/macro-rules-derive-cfg.rs:25:39: 25:47 (#0),
114135
},
115136
],
116-
span: $DIR/macro-rules-derive-cfg.rs:26:14: 26:57 (#0),
117-
},
118-
Group {
119-
delimiter: Brace,
120-
stream: TokenStream [
121-
Punct {
122-
ch: '#',
123-
spacing: Joint,
124-
span: $DIR/macro-rules-derive-cfg.rs:27:5: 27:6 (#0),
125-
},
126-
Punct {
127-
ch: '!',
128-
spacing: Alone,
129-
span: $DIR/macro-rules-derive-cfg.rs:27:6: 27:7 (#0),
130-
},
131-
Group {
132-
delimiter: Bracket,
133-
stream: TokenStream [
134-
Ident {
135-
ident: "allow",
136-
span: $DIR/macro-rules-derive-cfg.rs:27:29: 27:34 (#0),
137-
},
138-
Group {
139-
delimiter: Parenthesis,
140-
stream: TokenStream [
141-
Ident {
142-
ident: "unused",
143-
span: $DIR/macro-rules-derive-cfg.rs:27:35: 27:41 (#0),
144-
},
145-
],
146-
span: $DIR/macro-rules-derive-cfg.rs:27:34: 27:42 (#0),
147-
},
148-
],
149-
span: $DIR/macro-rules-derive-cfg.rs:27:7: 27:44 (#0),
150-
},
151-
Literal {
152-
kind: Integer,
153-
symbol: "30",
154-
suffix: None,
155-
span: $DIR/macro-rules-derive-cfg.rs:28:5: 28:7 (#0),
156-
},
157-
],
158-
span: $DIR/macro-rules-derive-cfg.rs:26:58: 29:2 (#0),
159-
},
160-
Punct {
161-
ch: ';',
162-
spacing: Alone,
163-
span: $DIR/macro-rules-derive-cfg.rs:19:74: 19:75 (#3),
137+
span: $DIR/macro-rules-derive-cfg.rs:25:6: 25:49 (#0),
164138
},
165139
Literal {
166140
kind: Integer,
167-
symbol: "0",
141+
symbol: "30",
168142
suffix: None,
169-
span: $DIR/macro-rules-derive-cfg.rs:20:17: 20:18 (#3),
143+
span: $DIR/macro-rules-derive-cfg.rs:26:5: 26:7 (#0),
170144
},
171145
],
172-
span: $DIR/macro-rules-derive-cfg.rs:18:25: 21:14 (#3),
146+
span: $DIR/macro-rules-derive-cfg.rs:23:58: 27:2 (#0),
173147
},
174148
],
175-
span: $DIR/macro-rules-derive-cfg.rs:18:18: 21:15 (#3),
149+
span: $DIR/macro-rules-derive-cfg.rs:18:13: 18:70 (#3),
176150
},
177151
],
178-
span: $DIR/macro-rules-derive-cfg.rs:17:20: 22:10 (#3),
152+
span: $DIR/macro-rules-derive-cfg.rs:17:19: 19:10 (#3),
153+
},
154+
Punct {
155+
ch: ';',
156+
spacing: Alone,
157+
span: $DIR/macro-rules-derive-cfg.rs:19:10: 19:11 (#3),
179158
},
180159
]

0 commit comments

Comments
 (0)