Skip to content

Commit b7e7f6e

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. Note that the current output is incorrect, because it duplicates the added attribute. The next commit will fix this.
1 parent 39b38a9 commit b7e7f6e

File tree

2 files changed

+102
-98
lines changed

2 files changed

+102
-98
lines changed

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

+5-7
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

Original file line numberDiff line numberDiff line change
@@ -1,21 +1,11 @@
1-
PRINT-DERIVE INPUT (DISPLAY): struct Foo
1+
PRINT-DERIVE INPUT (DISPLAY): struct
2+
Foo([bool; #[rustc_dummy(first)] #[rustc_dummy(second)]
3+
{ #![rustc_dummy(third)] #[rustc_dummy(fourth)] #[rustc_dummy(fourth)] 30 }]);
4+
PRINT-DERIVE DEEP-RE-COLLECTED (DISPLAY): struct
5+
Foo([bool; #[rustc_dummy(first)] #[rustc_dummy(second)]
26
{
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-
}
7+
#! [rustc_dummy(third)] #[rustc_dummy(fourth)] #[rustc_dummy(fourth)] 30
8+
}]);
199
PRINT-DERIVE INPUT (DEBUG): TokenStream [
2010
Ident {
2111
ident: "struct",
@@ -26,155 +16,171 @@ PRINT-DERIVE INPUT (DEBUG): TokenStream [
2616
span: $DIR/macro-rules-derive-cfg.rs:17:16: 17:19 (#3),
2717
},
2818
Group {
29-
delimiter: Brace,
19+
delimiter: Parenthesis,
3020
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-
},
4021
Group {
4122
delimiter: Bracket,
4223
stream: TokenStream [
4324
Ident {
4425
ident: "bool",
45-
span: $DIR/macro-rules-derive-cfg.rs:18:19: 18:23 (#3),
26+
span: $DIR/macro-rules-derive-cfg.rs:18:14: 18:18 (#3),
4627
},
4728
Punct {
4829
ch: ';',
4930
spacing: Alone,
50-
span: $DIR/macro-rules-derive-cfg.rs:18:23: 18:24 (#3),
31+
span: $DIR/macro-rules-derive-cfg.rs:18:18: 18:19 (#3),
32+
},
33+
Punct {
34+
ch: '#',
35+
spacing: Alone,
36+
span: $DIR/macro-rules-derive-cfg.rs:18:20: 18:21 (#3),
5137
},
5238
Group {
53-
delimiter: Brace,
39+
delimiter: Bracket,
5440
stream: TokenStream [
5541
Ident {
56-
ident: "let",
57-
span: $DIR/macro-rules-derive-cfg.rs:19:17: 19:20 (#3),
42+
ident: "rustc_dummy",
43+
span: $DIR/macro-rules-derive-cfg.rs:18:43: 18:54 (#3),
44+
},
45+
Group {
46+
delimiter: Parenthesis,
47+
stream: TokenStream [
48+
Ident {
49+
ident: "first",
50+
span: $DIR/macro-rules-derive-cfg.rs:18:55: 18:60 (#3),
51+
},
52+
],
53+
span: $DIR/macro-rules-derive-cfg.rs:18:54: 18:61 (#3),
5854
},
55+
],
56+
span: $DIR/macro-rules-derive-cfg.rs:18:21: 18:63 (#3),
57+
},
58+
Punct {
59+
ch: '#',
60+
spacing: Alone,
61+
span: $DIR/macro-rules-derive-cfg.rs:23:13: 23:14 (#0),
62+
},
63+
Group {
64+
delimiter: Bracket,
65+
stream: TokenStream [
5966
Ident {
60-
ident: "a",
61-
span: $DIR/macro-rules-derive-cfg.rs:19:21: 19:22 (#3),
67+
ident: "rustc_dummy",
68+
span: $DIR/macro-rules-derive-cfg.rs:23:36: 23:47 (#0),
6269
},
63-
Punct {
64-
ch: '=',
65-
spacing: Alone,
66-
span: $DIR/macro-rules-derive-cfg.rs:19:23: 19:24 (#3),
70+
Group {
71+
delimiter: Parenthesis,
72+
stream: TokenStream [
73+
Ident {
74+
ident: "second",
75+
span: $DIR/macro-rules-derive-cfg.rs:23:48: 23:54 (#0),
76+
},
77+
],
78+
span: $DIR/macro-rules-derive-cfg.rs:23:47: 23:55 (#0),
6779
},
80+
],
81+
span: $DIR/macro-rules-derive-cfg.rs:23:14: 23:57 (#0),
82+
},
83+
Group {
84+
delimiter: Brace,
85+
stream: TokenStream [
6886
Punct {
6987
ch: '#',
88+
spacing: Joint,
89+
span: $DIR/macro-rules-derive-cfg.rs:24:5: 24:6 (#0),
90+
},
91+
Punct {
92+
ch: '!',
7093
spacing: Alone,
71-
span: $DIR/macro-rules-derive-cfg.rs:19:25: 19:26 (#3),
94+
span: $DIR/macro-rules-derive-cfg.rs:24:6: 24:7 (#0),
7295
},
7396
Group {
7497
delimiter: Bracket,
7598
stream: TokenStream [
7699
Ident {
77100
ident: "rustc_dummy",
78-
span: $DIR/macro-rules-derive-cfg.rs:19:48: 19:59 (#3),
101+
span: $DIR/macro-rules-derive-cfg.rs:24:29: 24:40 (#0),
79102
},
80103
Group {
81104
delimiter: Parenthesis,
82105
stream: TokenStream [
83106
Ident {
84-
ident: "first",
85-
span: $DIR/macro-rules-derive-cfg.rs:19:60: 19:65 (#3),
107+
ident: "third",
108+
span: $DIR/macro-rules-derive-cfg.rs:24:41: 24:46 (#0),
86109
},
87110
],
88-
span: $DIR/macro-rules-derive-cfg.rs:19:59: 19:66 (#3),
111+
span: $DIR/macro-rules-derive-cfg.rs:24:40: 24:47 (#0),
89112
},
90113
],
91-
span: $DIR/macro-rules-derive-cfg.rs:19:26: 19:68 (#3),
114+
span: $DIR/macro-rules-derive-cfg.rs:24:7: 24:49 (#0),
92115
},
93116
Punct {
94117
ch: '#',
95118
spacing: Alone,
96-
span: $DIR/macro-rules-derive-cfg.rs:26:13: 26:14 (#0),
119+
span: $DIR/macro-rules-derive-cfg.rs:25:5: 25:6 (#0),
97120
},
98121
Group {
99122
delimiter: Bracket,
100123
stream: TokenStream [
101124
Ident {
102125
ident: "rustc_dummy",
103-
span: $DIR/macro-rules-derive-cfg.rs:26:36: 26:47 (#0),
126+
span: $DIR/macro-rules-derive-cfg.rs:25:28: 25:39 (#0),
104127
},
105128
Group {
106129
delimiter: Parenthesis,
107130
stream: TokenStream [
108131
Ident {
109-
ident: "second",
110-
span: $DIR/macro-rules-derive-cfg.rs:26:48: 26:54 (#0),
132+
ident: "fourth",
133+
span: $DIR/macro-rules-derive-cfg.rs:25:40: 25:46 (#0),
111134
},
112135
],
113-
span: $DIR/macro-rules-derive-cfg.rs:26:47: 26:55 (#0),
136+
span: $DIR/macro-rules-derive-cfg.rs:25:39: 25:47 (#0),
114137
},
115138
],
116-
span: $DIR/macro-rules-derive-cfg.rs:26:14: 26:57 (#0),
139+
span: $DIR/macro-rules-derive-cfg.rs:25:6: 25:49 (#0),
140+
},
141+
Punct {
142+
ch: '#',
143+
spacing: Alone,
144+
span: $DIR/macro-rules-derive-cfg.rs:25:5: 25:6 (#0),
117145
},
118146
Group {
119-
delimiter: Brace,
147+
delimiter: Bracket,
120148
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),
149+
Ident {
150+
ident: "rustc_dummy",
151+
span: $DIR/macro-rules-derive-cfg.rs:25:28: 25:39 (#0),
130152
},
131153
Group {
132-
delimiter: Bracket,
154+
delimiter: Parenthesis,
133155
stream: TokenStream [
134156
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),
157+
ident: "fourth",
158+
span: $DIR/macro-rules-derive-cfg.rs:25:40: 25:46 (#0),
147159
},
148160
],
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),
161+
span: $DIR/macro-rules-derive-cfg.rs:25:39: 25:47 (#0),
156162
},
157163
],
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),
164+
span: $DIR/macro-rules-derive-cfg.rs:25:6: 25:49 (#0),
164165
},
165166
Literal {
166167
kind: Integer,
167-
symbol: "0",
168+
symbol: "30",
168169
suffix: None,
169-
span: $DIR/macro-rules-derive-cfg.rs:20:17: 20:18 (#3),
170+
span: $DIR/macro-rules-derive-cfg.rs:26:5: 26:7 (#0),
170171
},
171172
],
172-
span: $DIR/macro-rules-derive-cfg.rs:18:25: 21:14 (#3),
173+
span: $DIR/macro-rules-derive-cfg.rs:23:58: 27:2 (#0),
173174
},
174175
],
175-
span: $DIR/macro-rules-derive-cfg.rs:18:18: 21:15 (#3),
176+
span: $DIR/macro-rules-derive-cfg.rs:18:13: 18:70 (#3),
176177
},
177178
],
178-
span: $DIR/macro-rules-derive-cfg.rs:17:20: 22:10 (#3),
179+
span: $DIR/macro-rules-derive-cfg.rs:17:19: 19:10 (#3),
180+
},
181+
Punct {
182+
ch: ';',
183+
spacing: Alone,
184+
span: $DIR/macro-rules-derive-cfg.rs:19:10: 19:11 (#3),
179185
},
180186
]

0 commit comments

Comments
 (0)