File tree Expand file tree Collapse file tree 3 files changed +55
-1
lines changed
test/run-pass-fulldeps/proc-macro Expand file tree Collapse file tree 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> {
589589 self . token_cursor . next ( )
590590 } ;
591591 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 ( ) ) ;
593594 }
594595 next
595596 }
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