File tree 3 files changed +55
-1
lines changed
test/run-pass-fulldeps/proc-macro
3 files changed +55
-1
lines changed Original file line number Diff line number Diff line change @@ -589,7 +589,8 @@ impl<'a> Parser<'a> {
589
589
self . token_cursor . next ( )
590
590
} ;
591
591
if next. sp == syntax_pos:: DUMMY_SP {
592
- next. sp = self . prev_span ;
592
+ // Tweak the location for better diagnostics, but keep syntactic context intact.
593
+ next. sp = self . prev_span . with_ctxt ( next. sp . ctxt ( ) ) ;
593
594
}
594
595
next
595
596
}
Original file line number Diff line number Diff line change
1
+ // Copyright 2018 The Rust Project Developers. See the COPYRIGHT
2
+ // file at the top-level directory of this distribution and at
3
+ // http://rust-lang.org/COPYRIGHT.
4
+ //
5
+ // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6
+ // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7
+ // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8
+ // option. This file may not be copied, modified, or distributed
9
+ // except according to those terms.
10
+
11
+ // no-prefer-dynamic
12
+
13
+ #![ crate_type = "proc-macro" ]
14
+ #![ feature( proc_macro) ]
15
+
16
+ extern crate proc_macro;
17
+ use proc_macro:: TokenStream ;
18
+
19
+ #[ proc_macro_attribute]
20
+ pub fn check ( _a : TokenStream , b : TokenStream ) -> TokenStream {
21
+ b. into_iter ( ) . collect ( )
22
+ }
Original file line number Diff line number Diff line change
1
+ // Copyright 2018 The Rust Project Developers. See the COPYRIGHT
2
+ // file at the top-level directory of this distribution and at
3
+ // http://rust-lang.org/COPYRIGHT.
4
+ //
5
+ // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6
+ // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7
+ // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8
+ // option. This file may not be copied, modified, or distributed
9
+ // except according to those terms.
10
+
11
+ // aux-build:issue-50061.rs
12
+ // ignore-stage1
13
+
14
+ #![ feature( proc_macro, proc_macro_path_invoc, decl_macro) ]
15
+
16
+ extern crate issue_50061;
17
+
18
+ macro inner( any_token $v: tt) {
19
+ $v
20
+ }
21
+
22
+ macro outer( $v: tt) {
23
+ inner ! ( any_token $v)
24
+ }
25
+
26
+ #[ issue_50061:: check]
27
+ fn main ( ) {
28
+ //! this doc comment forces roundtrip through a string
29
+ let checkit = 0 ;
30
+ outer ! ( checkit) ;
31
+ }
You can’t perform that action at this time.
0 commit comments