45
45
.invalid_escape_sequence { color : # FC5555 ; text-decoration : wavy underline; }
46
46
.unresolved_reference { color : # FC5555 ; text-decoration : wavy underline; }
47
47
</ style >
48
- < pre > < code > < span class ="keyword "> use</ span > < span class ="module crate_root library "> proc_macros</ span > < span class ="operator "> ::</ span > < span class ="brace "> {</ span > < span class ="function library "> mirror</ span > < span class ="comma "> ,</ span > < span class ="function library "> identity</ span > < span class ="comma "> ,</ span > < span class ="derive library "> DeriveIdentity</ span > < span class ="brace "> }</ span > < span class ="semicolon "> ;</ span >
49
-
50
- < span class ="proc_macro library "> mirror</ span > < span class ="macro_bang "> !</ span > < span class ="brace macro proc_macro "> {</ span >
51
- < span class ="brace macro proc_macro "> {</ span >
52
- < span class ="comma macro proc_macro "> ,</ span > < span class ="builtin_type macro proc_macro "> i32</ span > < span class ="colon macro proc_macro "> :</ span > < span class ="field declaration macro proc_macro public "> x</ span > < span class ="keyword macro proc_macro "> pub</ span >
53
- < span class ="comma macro proc_macro "> ,</ span > < span class ="builtin_type macro proc_macro "> i32</ span > < span class ="colon macro proc_macro "> :</ span > < span class ="field declaration macro proc_macro public "> y</ span > < span class ="keyword macro proc_macro "> pub</ span >
54
- < span class ="brace macro proc_macro "> }</ span > < span class ="struct declaration macro proc_macro "> Foo</ span > < span class ="keyword macro proc_macro "> struct</ span >
55
- < span class ="brace macro proc_macro "> }</ span >
56
- < span class ="keyword "> macro_rules</ span > < span class ="macro_bang "> !</ span > < span class ="macro declaration "> def_fn</ span > < span class ="brace "> {</ span >
48
+ < pre > < code > < span class ="keyword "> macro_rules</ span > < span class ="macro_bang "> !</ span > < span class ="macro declaration "> def_fn</ span > < span class ="brace "> {</ span >
57
49
< span class ="parenthesis "> (</ span > < span class ="punctuation "> $</ span > < span class ="parenthesis "> (</ span > < span class ="punctuation "> $</ span > tt< span class ="colon "> :</ span > tt< span class ="parenthesis "> )</ span > < span class ="punctuation "> *</ span > < span class ="parenthesis "> )</ span > < span class ="operator "> =</ span > < span class ="angle "> ></ span > < span class ="brace "> {</ span > < span class ="punctuation "> $</ span > < span class ="parenthesis "> (</ span > < span class ="punctuation "> $</ span > tt< span class ="parenthesis "> )</ span > < span class ="punctuation "> *</ span > < span class ="brace "> }</ span >
58
50
< span class ="brace "> }</ span >
59
51
60
52
< span class ="macro "> def_fn</ span > < span class ="macro_bang "> !</ span > < span class ="brace macro "> {</ span >
61
- < span class ="keyword macro "> fn</ span > < span class ="function declaration macro "> bar</ span > < span class ="parenthesis macro "> (</ span > < span class ="parenthesis macro "> )</ span > < span class ="punctuation macro "> -</ span > < span class ="angle macro "> ></ span > < span class ="builtin_type macro "> u32</ span > < span class ="brace macro "> {</ span >
53
+ < span class ="keyword macro "> fn</ span > < span class ="function declaration macro "> bar</ span > < span class ="parenthesis macro "> (</ span > < span class ="parenthesis macro "> )</ span > < span class ="operator macro "> -</ span > < span class ="operator macro "> ></ span > < span class ="builtin_type macro "> u32</ span > < span class ="brace macro "> {</ span >
62
54
< span class ="numeric_literal macro "> 100</ span >
63
55
< span class ="brace macro "> }</ span >
64
- < span class ="brace macro "> }</ span >
65
-
66
- < span class ="keyword "> macro_rules</ span > < span class ="macro_bang "> !</ span > < span class ="macro declaration "> dont_color_me_braces</ span > < span class ="brace "> {</ span >
67
- < span class ="parenthesis "> (</ span > < span class ="parenthesis "> )</ span > < span class ="operator "> =</ span > < span class ="angle "> ></ span > < span class ="brace "> {</ span > < span class ="numeric_literal "> 0</ span > < span class ="brace "> }</ span >
68
- < span class ="brace "> }</ span >
69
-
70
- < span class ="keyword "> macro_rules</ span > < span class ="macro_bang "> !</ span > < span class ="macro declaration "> noop</ span > < span class ="brace "> {</ span >
71
- < span class ="parenthesis "> (</ span > < span class ="punctuation "> $</ span > expr< span class ="colon "> :</ span > expr< span class ="parenthesis "> )</ span > < span class ="operator "> =</ span > < span class ="angle "> ></ span > < span class ="brace "> {</ span >
72
- < span class ="punctuation "> $</ span > expr
73
- < span class ="brace "> }</ span >
74
- < span class ="brace "> }</ span >
75
-
76
- < span class ="comment documentation "> /// textually shadow previous definition</ span >
77
- < span class ="keyword "> macro_rules</ span > < span class ="macro_bang "> !</ span > < span class ="macro declaration "> noop</ span > < span class ="brace "> {</ span >
78
- < span class ="parenthesis "> (</ span > < span class ="punctuation "> $</ span > expr< span class ="colon "> :</ span > expr< span class ="parenthesis "> )</ span > < span class ="operator "> =</ span > < span class ="angle "> ></ span > < span class ="brace "> {</ span >
79
- < span class ="punctuation "> $</ span > expr
80
- < span class ="brace "> }</ span >
81
- < span class ="brace "> }</ span >
82
-
83
- < span class ="keyword "> macro_rules</ span > < span class ="macro_bang "> !</ span > < span class ="macro declaration "> keyword_frag</ span > < span class ="brace "> {</ span >
84
- < span class ="parenthesis "> (</ span > < span class ="punctuation "> $</ span > type< span class ="colon "> :</ span > ty< span class ="parenthesis "> )</ span > < span class ="operator "> =</ span > < span class ="angle "> ></ span > < span class ="parenthesis "> (</ span > < span class ="punctuation "> $</ span > type< span class ="parenthesis "> )</ span >
85
- < span class ="brace "> }</ span >
86
-
87
- < span class ="keyword "> macro</ span > < span class ="macro declaration "> with_args</ span > < span class ="parenthesis "> (</ span > < span class ="punctuation "> $</ span > i< span class ="colon "> :</ span > ident< span class ="parenthesis "> )</ span > < span class ="brace "> {</ span >
88
- < span class ="punctuation "> $</ span > i
89
- < span class ="brace "> }</ span >
90
-
91
- < span class ="keyword "> macro</ span > < span class ="macro declaration "> without_args</ span > < span class ="brace "> {</ span >
92
- < span class ="parenthesis "> (</ span > < span class ="punctuation "> $</ span > i< span class ="colon "> :</ span > ident< span class ="parenthesis "> )</ span > < span class ="operator "> =</ span > < span class ="angle "> ></ span > < span class ="brace "> {</ span >
93
- < span class ="punctuation "> $</ span > i
94
- < span class ="brace "> }</ span >
95
- < span class ="brace "> }</ span >
96
-
97
- < span class ="keyword "> macro_rules</ span > < span class ="macro_bang "> !</ span > < span class ="macro declaration "> id</ span > < span class ="brace "> {</ span >
98
- < span class ="parenthesis "> (</ span > < span class ="punctuation "> $</ span > < span class ="parenthesis "> (</ span > < span class ="punctuation "> $</ span > tt< span class ="colon "> :</ span > tt< span class ="parenthesis "> )</ span > < span class ="punctuation "> *</ span > < span class ="parenthesis "> )</ span > < span class ="operator "> =</ span > < span class ="angle "> ></ span > < span class ="brace "> {</ span >
99
- < span class ="punctuation "> $</ span > < span class ="parenthesis "> (</ span > < span class ="punctuation "> $</ span > tt< span class ="parenthesis "> )</ span > < span class ="punctuation "> *</ span >
100
- < span class ="brace "> }</ span > < span class ="semicolon "> ;</ span >
101
- < span class ="brace "> }</ span >
102
-
103
- < span class ="macro default_library library "> include</ span > < span class ="macro_bang "> !</ span > < span class ="parenthesis macro "> (</ span > < span class ="macro default_library library macro "> concat</ span > < span class ="macro_bang macro "> !</ span > < span class ="parenthesis macro "> (</ span > < span class ="string_literal macro "> "foo/"</ span > < span class ="comma macro "> ,</ span > < span class ="string_literal macro "> "foo.rs"</ span > < span class ="parenthesis macro "> )</ span > < span class ="parenthesis macro "> )</ span > < span class ="semicolon "> ;</ span >
104
-
105
- < span class ="keyword "> struct</ span > < span class ="struct declaration "> S</ span > < span class ="angle "> <</ span > < span class ="type_param declaration "> T</ span > < span class ="angle "> ></ span > < span class ="parenthesis "> (</ span > < span class ="type_param "> T</ span > < span class ="parenthesis "> )</ span > < span class ="semicolon "> ;</ span >
106
- < span class ="keyword "> fn</ span > < span class ="function declaration "> main</ span > < span class ="parenthesis "> (</ span > < span class ="parenthesis "> )</ span > < span class ="brace "> {</ span >
107
- < span class ="keyword "> struct</ span > < span class ="struct declaration "> TestLocal</ span > < span class ="semicolon "> ;</ span >
108
- < span class ="comment "> // regression test, TestLocal here used to not resolve</ span >
109
- < span class ="keyword "> let</ span > < span class ="punctuation "> _</ span > < span class ="colon "> :</ span > < span class ="struct "> S</ span > < span class ="angle "> <</ span > < span class ="macro "> id</ span > < span class ="macro_bang "> !</ span > < span class ="bracket macro "> [</ span > < span class ="struct macro "> TestLocal</ span > < span class ="bracket macro "> ]</ span > < span class ="angle "> ></ span > < span class ="semicolon "> ;</ span >
110
-
111
- < span class ="macro default_library library "> format_args</ span > < span class ="macro_bang "> !</ span > < span class ="parenthesis macro "> (</ span > < span class ="string_literal macro "> "Hello, </ span > < span class ="format_specifier "> {</ span > < span class ="format_specifier "> }</ span > < span class ="string_literal macro "> !"</ span > < span class ="comma macro "> ,</ span > < span class ="parenthesis macro "> (</ span > < span class ="numeric_literal macro "> 92</ span > < span class ="comma macro "> ,</ span > < span class ="parenthesis macro "> )</ span > < span class ="operator macro "> .</ span > < span class ="field library macro "> 0</ span > < span class ="parenthesis macro "> )</ span > < span class ="semicolon "> ;</ span >
112
- < span class ="macro "> dont_color_me_braces</ span > < span class ="macro_bang "> !</ span > < span class ="parenthesis macro "> (</ span > < span class ="parenthesis macro "> )</ span > < span class ="semicolon "> ;</ span >
113
- < span class ="macro "> noop</ span > < span class ="macro_bang "> !</ span > < span class ="parenthesis macro "> (</ span > < span class ="macro macro "> noop</ span > < span class ="macro_bang macro "> !</ span > < span class ="parenthesis macro "> (</ span > < span class ="numeric_literal macro "> 1</ span > < span class ="parenthesis macro "> )</ span > < span class ="parenthesis macro "> )</ span > < span class ="semicolon "> ;</ span >
114
- < span class ="brace "> }</ span >
115
- </ code > </ pre >
56
+ < span class ="brace macro "> }</ span > </ code > </ pre >
0 commit comments