File tree Expand file tree Collapse file tree 1 file changed +15
-1
lines changed Expand file tree Collapse file tree 1 file changed +15
-1
lines changed Original file line number Diff line number Diff line change @@ -7,7 +7,8 @@ fn concat(tokens: &[TokenTree], group_span: Span) -> TokenTree {
7
7
let mut segments = Vec :: new ( ) ;
8
8
let mut span = None ;
9
9
loop {
10
- match tokens. next ( ) {
10
+ let t = tokens. next ( ) ;
11
+ match t {
11
12
None => break ,
12
13
Some ( TokenTree :: Literal ( lit) ) => {
13
14
// Allow us to concat string literals by stripping quotes
@@ -46,6 +47,19 @@ fn concat(tokens: &[TokenTree], group_span: Span) -> TokenTree {
46
47
} ;
47
48
segments. push ( ( value, sp) ) ;
48
49
}
50
+ Some ( TokenTree :: Group ( group) ) => {
51
+ let stream: Vec < _ > = group. stream ( ) . into_iter ( ) . collect ( ) ;
52
+ if let TokenTree :: Literal ( lit) = & stream[ 0 ] {
53
+ let mut value = lit. to_string ( ) ;
54
+ if value. starts_with ( '"' ) && value. ends_with ( '"' ) {
55
+ value. remove ( 0 ) ;
56
+ value. pop ( ) ;
57
+ }
58
+ segments. push ( ( value, lit. span ( ) ) ) ;
59
+ } else {
60
+ panic ! ( "unexpected token in paste segments" ) ;
61
+ }
62
+ }
49
63
_ => panic ! ( "unexpected token in paste segments" ) ,
50
64
} ;
51
65
}
You can’t perform that action at this time.
0 commit comments