File tree Expand file tree Collapse file tree 2 files changed +33
-0
lines changed
tests/ui/parser/attribute Expand file tree Collapse file tree 2 files changed +33
-0
lines changed Original file line number Diff line number Diff line change 1+ extern crate proc_macro;
2+ use proc_macro:: * ;
3+
4+ fn spans_callsite ( ts : TokenStream ) -> TokenStream {
5+ let mut new_ts = TokenStream :: new ( ) ;
6+
7+ for i in ts {
8+ let new_token = i. clone ( ) ;
9+ match new_token {
10+ TokenTree :: Group ( g) => {
11+ new_ts. extend ( [ Group :: new ( g. delimiter ( ) , spans_callsite ( g. stream ( ) ) ) ] )
12+ }
13+ mut other => {
14+ other. set_span ( Span :: call_site ( ) ) ;
15+ new_ts. extend ( [ other] ) ;
16+ }
17+ }
18+ }
19+
20+ new_ts
21+ }
22+
23+ #[ proc_macro_attribute]
24+ pub fn all_spans_same ( _: TokenStream , ts : TokenStream ) -> TokenStream {
25+ spans_callsite ( ts)
26+ }
Original file line number Diff line number Diff line change 1+ // regression test for #146808
2+ //@ proc-macro: all_spans_same.rs
3+ extern crate all_spans_same;
4+
5+ #[ all_spans_same:: all_spans_same]
6+ #[ allow{ } ]
7+ fn main ( ) { }
You can’t perform that action at this time.
0 commit comments