File tree 2 files changed +35
-0
lines changed
2 files changed +35
-0
lines changed Original file line number Diff line number Diff line change
1
+ // force-host
2
+ // no-prefer-dynamic
3
+
4
+ #![ feature( proc_macro_hygiene) ]
5
+ #![ feature( proc_macro_quote) ]
6
+ #![ crate_type = "proc-macro" ]
7
+
8
+ extern crate proc_macro;
9
+ use proc_macro:: * ;
10
+
11
+ #[ proc_macro]
12
+ pub fn dollar_ident ( input : TokenStream ) -> TokenStream {
13
+ let black_hole = input. into_iter ( ) . next ( ) . unwrap ( ) ;
14
+ quote ! {
15
+ $black_hole!( $$var) ;
16
+ }
17
+ }
Original file line number Diff line number Diff line change
1
+ // Proc macros can generate token sequence `$ IDENT`
2
+ // without it being recognized as an unknown macro variable.
3
+
4
+ // check-pass
5
+ // aux-build:generate-dollar-ident.rs
6
+
7
+ extern crate generate_dollar_ident;
8
+ use generate_dollar_ident:: * ;
9
+
10
+ macro_rules! black_hole {
11
+ ( $( $tt: tt) * ) => { } ;
12
+ }
13
+
14
+ black_hole ! ( $var) ;
15
+
16
+ dollar_ident ! ( black_hole) ;
17
+
18
+ fn main ( ) { }
You can’t perform that action at this time.
0 commit comments