@@ -883,22 +883,22 @@ impl Builder {
883
883
Box :: new ( Expr :: Unsafe ( unsafe_blk) )
884
884
}
885
885
886
- pub fn block_expr ( self , blk : Box < Block > ) -> Box < Expr > {
886
+ pub fn block_expr ( self , block : Block ) -> Box < Expr > {
887
887
Box :: new ( Expr :: Block ( ExprBlock {
888
888
attrs : self . attrs ,
889
- block : * blk ,
889
+ block,
890
890
label : None ,
891
891
} ) )
892
892
}
893
893
894
- pub fn labelled_block_expr < L > ( self , blk : Box < Block > , lbl : L ) -> Box < Expr >
894
+ pub fn labelled_block_expr < L > ( self , block : Block , lbl : L ) -> Box < Expr >
895
895
where
896
896
L : Make < Label > ,
897
897
{
898
898
let lbl = lbl. make ( & self ) ;
899
899
Box :: new ( Expr :: Block ( ExprBlock {
900
900
attrs : self . attrs ,
901
- block : * blk ,
901
+ block,
902
902
label : Some ( lbl) ,
903
903
} ) )
904
904
}
@@ -1087,11 +1087,11 @@ impl Builder {
1087
1087
} ) )
1088
1088
}
1089
1089
1090
- pub fn arm ( self , pat : Box < Pat > , guard : Option < Box < Expr > > , body : Box < Expr > ) -> Arm {
1090
+ pub fn arm ( self , pat : Pat , guard : Option < Box < Expr > > , body : Box < Expr > ) -> Arm {
1091
1091
let guard = guard. map ( |g| ( Token ! [ if ] ( self . span ) , g) ) ;
1092
1092
Arm {
1093
1093
attrs : self . attrs ,
1094
- pat : * pat ,
1094
+ pat,
1095
1095
guard,
1096
1096
body,
1097
1097
fat_arrow_token : Token ! [ =>] ( self . span ) ,
@@ -1127,10 +1127,10 @@ impl Builder {
1127
1127
pub fn ifte_expr (
1128
1128
self ,
1129
1129
cond : Box < Expr > ,
1130
- then_case : Box < Block > ,
1131
- else_case : Option < Box < Expr > > ,
1130
+ then_branch : Block ,
1131
+ else_branch : Option < Box < Expr > > ,
1132
1132
) -> Box < Expr > {
1133
- let else_case = else_case . map ( |e| {
1133
+ let else_branch = else_branch . map ( |e| {
1134
1134
// The else branch in libsyntax must be one of these three cases,
1135
1135
// otherwise we have to manually add the block around the else expression
1136
1136
(
@@ -1151,12 +1151,12 @@ impl Builder {
1151
1151
attrs : self . attrs ,
1152
1152
if_token : Token ! [ if ] ( self . span ) ,
1153
1153
cond,
1154
- then_branch : * then_case ,
1155
- else_branch : else_case ,
1154
+ then_branch,
1155
+ else_branch,
1156
1156
} ) )
1157
1157
}
1158
1158
1159
- pub fn while_expr < I > ( self , cond : Box < Expr > , body : Box < Block > , label : Option < I > ) -> Box < Expr >
1159
+ pub fn while_expr < I > ( self , cond : Box < Expr > , body : Block , label : Option < I > ) -> Box < Expr >
1160
1160
where
1161
1161
I : Make < Ident > ,
1162
1162
{
@@ -1172,12 +1172,12 @@ impl Builder {
1172
1172
attrs : self . attrs ,
1173
1173
while_token : Token ! [ while ] ( self . span ) ,
1174
1174
cond,
1175
- body : * body ,
1175
+ body,
1176
1176
label,
1177
1177
} ) )
1178
1178
}
1179
1179
1180
- pub fn loop_expr < I > ( self , body : Box < Block > , label : Option < I > ) -> Box < Expr >
1180
+ pub fn loop_expr < I > ( self , body : Block , label : Option < I > ) -> Box < Expr >
1181
1181
where
1182
1182
I : Make < Ident > ,
1183
1183
{
@@ -1192,16 +1192,16 @@ impl Builder {
1192
1192
Box :: new ( Expr :: Loop ( ExprLoop {
1193
1193
attrs : self . attrs ,
1194
1194
loop_token : Token ! [ loop ] ( self . span ) ,
1195
- body : * body ,
1195
+ body,
1196
1196
label,
1197
1197
} ) )
1198
1198
}
1199
1199
1200
1200
pub fn for_expr < I > (
1201
1201
self ,
1202
- pat : Box < Pat > ,
1202
+ pat : Pat ,
1203
1203
expr : Box < Expr > ,
1204
- body : Box < Block > ,
1204
+ body : Block ,
1205
1205
label : Option < I > ,
1206
1206
) -> Box < Expr >
1207
1207
where
@@ -1219,35 +1219,35 @@ impl Builder {
1219
1219
attrs : self . attrs ,
1220
1220
for_token : Token ! [ for ] ( self . span ) ,
1221
1221
in_token : Token ! [ in] ( self . span ) ,
1222
- pat : * pat ,
1222
+ pat,
1223
1223
expr,
1224
- body : * body ,
1224
+ body,
1225
1225
label,
1226
1226
} ) )
1227
1227
}
1228
1228
1229
1229
// Patterns
1230
1230
1231
- pub fn ident_pat < I > ( self , name : I ) -> Box < Pat >
1231
+ pub fn ident_pat < I > ( self , name : I ) -> Pat
1232
1232
where
1233
1233
I : Make < Ident > ,
1234
1234
{
1235
1235
let name = name. make ( & self ) ;
1236
- Box :: new ( Pat :: Ident ( PatIdent {
1236
+ Pat :: Ident ( PatIdent {
1237
1237
attrs : self . attrs ,
1238
1238
mutability : self . mutbl . to_token ( ) ,
1239
1239
by_ref : None ,
1240
1240
ident : name,
1241
1241
subpat : None ,
1242
- } ) )
1242
+ } )
1243
1243
}
1244
1244
1245
- pub fn tuple_pat ( self , pats : Vec < Box < Pat > > ) -> Box < Pat > {
1246
- Box :: new ( Pat :: Tuple ( PatTuple {
1245
+ pub fn tuple_pat ( self , pats : Vec < Pat > ) -> Pat {
1246
+ Pat :: Tuple ( PatTuple {
1247
1247
attrs : self . attrs ,
1248
1248
paren_token : token:: Paren ( self . span ) ,
1249
- elems : punct_box ( pats) ,
1250
- } ) )
1249
+ elems : punct ( pats) ,
1250
+ } )
1251
1251
}
1252
1252
1253
1253
pub fn qpath_pat < Pa > ( self , qself : Option < QSelf > , path : Pa ) -> Box < Pat >
@@ -1262,53 +1262,53 @@ impl Builder {
1262
1262
} ) )
1263
1263
}
1264
1264
1265
- pub fn wild_pat ( self ) -> Box < Pat > {
1266
- Box :: new ( Pat :: Wild ( PatWild {
1265
+ pub fn wild_pat ( self ) -> Pat {
1266
+ Pat :: Wild ( PatWild {
1267
1267
attrs : self . attrs ,
1268
1268
underscore_token : Token ! [ _] ( self . span ) ,
1269
- } ) )
1269
+ } )
1270
1270
}
1271
1271
1272
- pub fn lit_pat ( self , lit : Box < Expr > ) -> Box < Pat > {
1273
- Box :: new ( Pat :: Lit ( PatLit {
1272
+ pub fn lit_pat ( self , lit : Box < Expr > ) -> Pat {
1273
+ Pat :: Lit ( PatLit {
1274
1274
attrs : self . attrs ,
1275
1275
expr : lit,
1276
- } ) )
1276
+ } )
1277
1277
}
1278
1278
1279
- pub fn mac_pat ( self , mac : Macro ) -> Box < Pat > {
1280
- Box :: new ( Pat :: Macro ( PatMacro {
1279
+ pub fn mac_pat ( self , mac : Macro ) -> Pat {
1280
+ Pat :: Macro ( PatMacro {
1281
1281
attrs : self . attrs ,
1282
1282
mac,
1283
- } ) )
1283
+ } )
1284
1284
}
1285
1285
1286
- pub fn ident_ref_pat < I > ( self , name : I ) -> Box < Pat >
1286
+ pub fn ident_ref_pat < I > ( self , name : I ) -> Pat
1287
1287
where
1288
1288
I : Make < Ident > ,
1289
1289
{
1290
1290
let name = name. make ( & self ) ;
1291
- Box :: new ( Pat :: Ident ( PatIdent {
1291
+ Pat :: Ident ( PatIdent {
1292
1292
attrs : self . attrs ,
1293
1293
by_ref : Some ( Token ! [ ref] ( self . span ) ) ,
1294
1294
mutability : self . mutbl . to_token ( ) ,
1295
1295
ident : name,
1296
1296
subpat : None ,
1297
- } ) )
1297
+ } )
1298
1298
}
1299
1299
1300
- pub fn or_pat ( self , pats : Vec < Box < Pat > > ) -> Box < Pat > {
1301
- Box :: new ( Pat :: Or ( PatOr {
1300
+ pub fn or_pat ( self , pats : Vec < Pat > ) -> Pat {
1301
+ Pat :: Or ( PatOr {
1302
1302
attrs : self . attrs ,
1303
1303
leading_vert : None , // Untested
1304
- cases : punct_box ( pats) ,
1305
- } ) )
1304
+ cases : punct ( pats) ,
1305
+ } )
1306
1306
}
1307
1307
1308
1308
// Types
1309
1309
1310
- pub fn barefn_ty ( self , decl : Box < BareFnTyParts > ) -> Box < Type > {
1311
- let ( inputs, variadic, output) = * decl;
1310
+ pub fn barefn_ty ( self , decl : BareFnTyParts ) -> Box < Type > {
1311
+ let ( inputs, variadic, output) = decl;
1312
1312
let abi = self . get_abi_opt ( ) ;
1313
1313
1314
1314
let barefn = TypeBareFn {
@@ -1490,7 +1490,7 @@ impl Builder {
1490
1490
} ) )
1491
1491
}
1492
1492
1493
- pub fn fn_item < S > ( self , sig : S , block : Box < Block > ) -> Box < Item >
1493
+ pub fn fn_item < S > ( self , sig : S , block : Block ) -> Box < Item >
1494
1494
where
1495
1495
S : Make < Signature > ,
1496
1496
{
@@ -1499,7 +1499,7 @@ impl Builder {
1499
1499
attrs : self . attrs ,
1500
1500
vis : self . vis ,
1501
1501
sig,
1502
- block,
1502
+ block : Box :: new ( block ) ,
1503
1503
} ) )
1504
1504
}
1505
1505
@@ -1947,11 +1947,11 @@ impl Builder {
1947
1947
}
1948
1948
}
1949
1949
1950
- pub fn block ( self , stmts : Vec < Stmt > ) -> Box < Block > {
1951
- Box :: new ( Block {
1950
+ pub fn block ( self , stmts : Vec < Stmt > ) -> Block {
1951
+ Block {
1952
1952
stmts,
1953
1953
brace_token : token:: Brace ( self . span ) ,
1954
- } )
1954
+ }
1955
1955
}
1956
1956
1957
1957
pub fn label < L > ( self , lbl : L ) -> Label
@@ -1986,11 +1986,11 @@ impl Builder {
1986
1986
}
1987
1987
}
1988
1988
1989
- pub fn arg ( self , ty : Box < Type > , pat : Box < Pat > ) -> FnArg {
1989
+ pub fn arg ( self , ty : Box < Type > , pat : Pat ) -> FnArg {
1990
1990
FnArg :: Typed ( PatType {
1991
1991
attrs : Vec :: new ( ) ,
1992
1992
ty,
1993
- pat,
1993
+ pat : Box :: new ( pat ) ,
1994
1994
colon_token : Token ! [ : ] ( self . span ) ,
1995
1995
} )
1996
1996
}
@@ -2160,17 +2160,17 @@ impl Builder {
2160
2160
}
2161
2161
2162
2162
/// Create a local variable
2163
- pub fn local ( self , pat : Box < Pat > , ty : Option < Box < Type > > , init : Option < Box < Expr > > ) -> Local {
2163
+ pub fn local ( self , pat : Pat , ty : Option < Box < Type > > , init : Option < Box < Expr > > ) -> Local {
2164
2164
let init = init. map ( |x| ( Default :: default ( ) , x) ) ;
2165
2165
let pat = if let Some ( ty) = ty {
2166
2166
Pat :: Type ( PatType {
2167
2167
attrs : vec ! [ ] ,
2168
- pat,
2168
+ pat : Box :: new ( pat ) ,
2169
2169
colon_token : Token ! [ : ] ( self . span ) ,
2170
2170
ty,
2171
2171
} )
2172
2172
} else {
2173
- * pat
2173
+ pat
2174
2174
} ;
2175
2175
Local {
2176
2176
attrs : self . attrs ,
@@ -2226,10 +2226,10 @@ impl Builder {
2226
2226
self ,
2227
2227
capture : CaptureBy ,
2228
2228
mov : Movability ,
2229
- decl : Box < FnDecl > ,
2229
+ decl : FnDecl ,
2230
2230
body : Box < Expr > ,
2231
2231
) -> Box < Expr > {
2232
- let ( _name, inputs, _variadic, output) = * decl;
2232
+ let ( _name, inputs, _variadic, output) = decl;
2233
2233
let inputs = inputs
2234
2234
. into_iter ( )
2235
2235
. map ( |e| match e {
0 commit comments