File tree Expand file tree Collapse file tree 3 files changed +89
-0
lines changed Expand file tree Collapse file tree 3 files changed +89
-0
lines changed Original file line number Diff line number Diff line change 1+ //~ ERROR expected type, found `$`
2+
3+ // edition:2018
4+ // aux-build:test-macros.rs
5+
6+ // Anonymize unstable non-dummy spans while still showing dummy spans `0..0`.
7+ // normalize-stdout-test "bytes\([^0]\w*\.\.(\w+)\)" -> "bytes(LO..$1)"
8+ // normalize-stdout-test "bytes\((\w+)\.\.[^0]\w*\)" -> "bytes($1..HI)"
9+
10+ #![ feature( proc_macro_hygiene) ]
11+
12+ #[ macro_use]
13+ extern crate test_macros;
14+
15+ type S = u8 ;
16+
17+ macro_rules! m { ( ) => {
18+ #[ print_attr]
19+ struct A ( identity!( $crate:: S ) ) ;
20+ } }
21+
22+ m ! ( ) ;
23+
24+ fn main ( ) { }
Original file line number Diff line number Diff line change 1+ error: expected type, found `$`
2+
3+ error: aborting due to previous error
4+
Original file line number Diff line number Diff line change 1+ PRINT-ATTR INPUT (DISPLAY): struct A(identity!($crate :: S));
2+ PRINT-ATTR RE-COLLECTED (DISPLAY): struct A ( identity ! ( $ crate :: S ) ) ;
3+ PRINT-ATTR INPUT (DEBUG): TokenStream [
4+ Ident {
5+ ident: "struct",
6+ span: #0 bytes(0..0),
7+ },
8+ Ident {
9+ ident: "A",
10+ span: #0 bytes(0..0),
11+ },
12+ Group {
13+ delimiter: Parenthesis,
14+ stream: TokenStream [
15+ Ident {
16+ ident: "identity",
17+ span: #0 bytes(0..0),
18+ },
19+ Punct {
20+ ch: '!',
21+ spacing: Alone,
22+ span: #0 bytes(0..0),
23+ },
24+ Group {
25+ delimiter: Parenthesis,
26+ stream: TokenStream [
27+ Punct {
28+ ch: '$',
29+ spacing: Alone,
30+ span: #0 bytes(0..0),
31+ },
32+ Ident {
33+ ident: "crate",
34+ span: #0 bytes(0..0),
35+ },
36+ Punct {
37+ ch: ':',
38+ spacing: Joint,
39+ span: #0 bytes(0..0),
40+ },
41+ Punct {
42+ ch: ':',
43+ spacing: Alone,
44+ span: #0 bytes(0..0),
45+ },
46+ Ident {
47+ ident: "S",
48+ span: #0 bytes(0..0),
49+ },
50+ ],
51+ span: #0 bytes(0..0),
52+ },
53+ ],
54+ span: #0 bytes(0..0),
55+ },
56+ Punct {
57+ ch: ';',
58+ spacing: Alone,
59+ span: #0 bytes(0..0),
60+ },
61+ ]
You can’t perform that action at this time.
0 commit comments