@@ -118,23 +118,22 @@ enum BlockMode {
118
118
/// `token::Interpolated` tokens.
119
119
macro_rules! maybe_whole_expr {
120
120
( $p: expr) => {
121
- if let token:: Interpolated ( nt) = $p. token. clone( ) {
122
- match * nt {
123
- token:: NtExpr ( ref e) | token:: NtLiteral ( ref e) => {
121
+ if let token:: Interpolated ( nt) = & $p. token {
122
+ match & * * nt {
123
+ token:: NtExpr ( e) | token:: NtLiteral ( e) => {
124
+ let e = e. clone( ) ;
124
125
$p. bump( ) ;
125
- return Ok ( ( * e ) . clone ( ) ) ;
126
+ return Ok ( e ) ;
126
127
}
127
- token:: NtPath ( ref path) => {
128
+ token:: NtPath ( path) => {
129
+ let path = path. clone( ) ;
128
130
$p. bump( ) ;
129
- let span = $p. span;
130
- let kind = ExprKind :: Path ( None , ( * path) . clone( ) ) ;
131
- return Ok ( $p. mk_expr( span, kind, ThinVec :: new( ) ) ) ;
131
+ return Ok ( $p. mk_expr( $p. span, ExprKind :: Path ( None , path) , ThinVec :: new( ) ) ) ;
132
132
}
133
- token:: NtBlock ( ref block) => {
133
+ token:: NtBlock ( block) => {
134
+ let block = block. clone( ) ;
134
135
$p. bump( ) ;
135
- let span = $p. span;
136
- let kind = ExprKind :: Block ( ( * block) . clone( ) , None ) ;
137
- return Ok ( $p. mk_expr( span, kind, ThinVec :: new( ) ) ) ;
136
+ return Ok ( $p. mk_expr( $p. span, ExprKind :: Block ( block, None ) , ThinVec :: new( ) ) ) ;
138
137
}
139
138
_ => { } ,
140
139
} ;
@@ -145,8 +144,9 @@ macro_rules! maybe_whole_expr {
145
144
/// As maybe_whole_expr, but for things other than expressions
146
145
macro_rules! maybe_whole {
147
146
( $p: expr, $constructor: ident, |$x: ident| $e: expr) => {
148
- if let token:: Interpolated ( nt) = $p. token. clone( ) {
149
- if let token:: $constructor( $x) = ( * nt) . clone( ) {
147
+ if let token:: Interpolated ( nt) = & $p. token {
148
+ if let token:: $constructor( x) = & * * nt {
149
+ let $x = x. clone( ) ;
150
150
$p. bump( ) ;
151
151
return Ok ( $e) ;
152
152
}
0 commit comments