@@ -70,8 +70,7 @@ impl<'c> Translation<'c> {
70
70
let val = self . convert_expr ( ctx. used ( ) , args[ 0 ] ) ?;
71
71
72
72
Ok ( val. map ( |v| {
73
- let val =
74
- mk ( ) . method_call_expr ( v, "is_sign_negative" , vec ! [ ] as Vec < Box < Expr > > ) ;
73
+ let val = mk ( ) . method_call_expr ( v, "is_sign_negative" , vec ! [ ] ) ;
75
74
76
75
mk ( ) . cast_expr ( val, mk ( ) . path_ty ( vec ! [ "libc" , "c_int" ] ) )
77
76
} ) )
@@ -84,11 +83,7 @@ impl<'c> Translation<'c> {
84
83
let zero = mk ( ) . lit_expr ( mk ( ) . int_lit ( 0 , "" ) ) ;
85
84
let one = mk ( ) . lit_expr ( mk ( ) . int_lit ( 1 , "" ) ) ;
86
85
let cmp = BinOp :: Eq ( Default :: default ( ) ) ;
87
- let zeros = mk ( ) . method_call_expr (
88
- x. clone ( ) ,
89
- "trailing_zeros" ,
90
- vec ! [ ] as Vec < Box < Expr > > ,
91
- ) ;
86
+ let zeros = mk ( ) . method_call_expr ( x. clone ( ) , "trailing_zeros" , vec ! [ ] ) ;
92
87
let zeros_cast = mk ( ) . cast_expr ( zeros, mk ( ) . path_ty ( vec ! [ "i32" ] ) ) ;
93
88
let zeros_plus1 = mk ( ) . binary_expr ( add, zeros_cast, one) ;
94
89
let block = mk ( ) . block ( vec ! [ mk( ) . expr_stmt( zero. clone( ) ) ] ) ;
@@ -100,25 +95,24 @@ impl<'c> Translation<'c> {
100
95
"__builtin_clz" | "__builtin_clzl" | "__builtin_clzll" => {
101
96
let val = self . convert_expr ( ctx. used ( ) , args[ 0 ] ) ?;
102
97
Ok ( val. map ( |x| {
103
- let zeros = mk ( ) . method_call_expr ( x, "leading_zeros" , vec ! [ ] as Vec < Box < Expr > > ) ;
98
+ let zeros = mk ( ) . method_call_expr ( x, "leading_zeros" , vec ! [ ] ) ;
104
99
mk ( ) . cast_expr ( zeros, mk ( ) . path_ty ( vec ! [ "i32" ] ) )
105
100
} ) )
106
101
}
107
102
"__builtin_ctz" | "__builtin_ctzl" | "__builtin_ctzll" => {
108
103
let val = self . convert_expr ( ctx. used ( ) , args[ 0 ] ) ?;
109
104
Ok ( val. map ( |x| {
110
- let zeros =
111
- mk ( ) . method_call_expr ( x, "trailing_zeros" , vec ! [ ] as Vec < Box < Expr > > ) ;
105
+ let zeros = mk ( ) . method_call_expr ( x, "trailing_zeros" , vec ! [ ] ) ;
112
106
mk ( ) . cast_expr ( zeros, mk ( ) . path_ty ( vec ! [ "i32" ] ) )
113
107
} ) )
114
108
}
115
109
"__builtin_bswap16" | "__builtin_bswap32" | "__builtin_bswap64" => {
116
110
let val = self . convert_expr ( ctx. used ( ) , args[ 0 ] ) ?;
117
- Ok ( val. map ( |x| mk ( ) . method_call_expr ( x, "swap_bytes" , vec ! [ ] as Vec < Box < Expr > > ) ) )
111
+ Ok ( val. map ( |x| mk ( ) . method_call_expr ( x, "swap_bytes" , vec ! [ ] ) ) )
118
112
}
119
113
"__builtin_fabs" | "__builtin_fabsf" | "__builtin_fabsl" => {
120
114
let val = self . convert_expr ( ctx. used ( ) , args[ 0 ] ) ?;
121
- Ok ( val. map ( |x| mk ( ) . method_call_expr ( x, "abs" , vec ! [ ] as Vec < Box < Expr > > ) ) )
115
+ Ok ( val. map ( |x| mk ( ) . method_call_expr ( x, "abs" , vec ! [ ] ) ) )
122
116
}
123
117
"__builtin_isfinite" | "__builtin_isnan" => {
124
118
let val = self . convert_expr ( ctx. used ( ) , args[ 0 ] ) ?;
@@ -129,19 +123,15 @@ impl<'c> Translation<'c> {
129
123
_ => panic ! ( ) ,
130
124
} ;
131
125
Ok ( val. map ( |x| {
132
- let call = mk ( ) . method_call_expr ( x, seg, vec ! [ ] as Vec < Box < Expr > > ) ;
126
+ let call = mk ( ) . method_call_expr ( x, seg, vec ! [ ] ) ;
133
127
mk ( ) . cast_expr ( call, mk ( ) . path_ty ( vec ! [ "i32" ] ) )
134
128
} ) )
135
129
}
136
130
"__builtin_isinf_sign" => {
137
131
// isinf_sign(x) -> fabs(x) == infinity ? (signbit(x) ? -1 : 1) : 0
138
132
let val = self . convert_expr ( ctx. used ( ) , args[ 0 ] ) ?;
139
133
Ok ( val. map ( |x| {
140
- let inner_cond = mk ( ) . method_call_expr (
141
- x. clone ( ) ,
142
- "is_sign_positive" ,
143
- vec ! [ ] as Vec < Box < Expr > > ,
144
- ) ;
134
+ let inner_cond = mk ( ) . method_call_expr ( x. clone ( ) , "is_sign_positive" , vec ! [ ] ) ;
145
135
let one = mk ( ) . lit_expr ( mk ( ) . int_lit ( 1 , "" ) ) ;
146
136
let minus_one = mk ( ) . unary_expr (
147
137
UnOp :: Neg ( Default :: default ( ) ) ,
@@ -150,8 +140,7 @@ impl<'c> Translation<'c> {
150
140
let one_block = mk ( ) . block ( vec ! [ mk( ) . expr_stmt( one) ] ) ;
151
141
let inner_ifte = mk ( ) . ifte_expr ( inner_cond, one_block, Some ( minus_one) ) ;
152
142
let zero = mk ( ) . lit_expr ( mk ( ) . int_lit ( 0 , "" ) ) ;
153
- let outer_cond =
154
- mk ( ) . method_call_expr ( x, "is_infinite" , vec ! [ ] as Vec < Box < Expr > > ) ;
143
+ let outer_cond = mk ( ) . method_call_expr ( x, "is_infinite" , vec ! [ ] ) ;
155
144
let inner_ifte_block = mk ( ) . block ( vec ! [ mk( ) . expr_stmt( inner_ifte) ] ) ;
156
145
mk ( ) . ifte_expr ( outer_cond, inner_ifte_block, Some ( zero) )
157
146
} ) )
@@ -167,7 +156,7 @@ impl<'c> Translation<'c> {
167
156
"__builtin_popcount" | "__builtin_popcountl" | "__builtin_popcountll" => {
168
157
let val = self . convert_expr ( ctx. used ( ) , args[ 0 ] ) ?;
169
158
Ok ( val. map ( |x| {
170
- let zeros = mk ( ) . method_call_expr ( x, "count_ones" , vec ! [ ] as Vec < Box < Expr > > ) ;
159
+ let zeros = mk ( ) . method_call_expr ( x, "count_ones" , vec ! [ ] ) ;
171
160
mk ( ) . cast_expr ( zeros, mk ( ) . path_ty ( vec ! [ "i32" ] ) )
172
161
} ) )
173
162
}
@@ -272,11 +261,8 @@ impl<'c> Translation<'c> {
272
261
let fn_ctx = self . function_context . borrow ( ) ;
273
262
let src = fn_ctx. get_va_list_arg_name ( ) ;
274
263
275
- let call_expr = mk ( ) . method_call_expr (
276
- mk ( ) . ident_expr ( src) ,
277
- "clone" ,
278
- vec ! [ ] as Vec < Box < Expr > > ,
279
- ) ;
264
+ let call_expr =
265
+ mk ( ) . method_call_expr ( mk ( ) . ident_expr ( src) , "clone" , vec ! [ ] ) ;
280
266
let assign_expr = mk ( ) . assign_expr ( dst. to_expr ( ) , call_expr) ;
281
267
let stmt = mk ( ) . semi_stmt ( assign_expr) ;
282
268
@@ -295,8 +281,7 @@ impl<'c> Translation<'c> {
295
281
let dst = self . convert_expr ( ctx. expect_valistimpl ( ) . used ( ) , args[ 0 ] ) ?;
296
282
let src = self . convert_expr ( ctx. expect_valistimpl ( ) . used ( ) , args[ 1 ] ) ?;
297
283
298
- let call_expr =
299
- mk ( ) . method_call_expr ( src. to_expr ( ) , "clone" , vec ! [ ] as Vec < Box < Expr > > ) ;
284
+ let call_expr = mk ( ) . method_call_expr ( src. to_expr ( ) , "clone" , vec ! [ ] ) ;
300
285
let assign_expr = mk ( ) . assign_expr ( dst. to_expr ( ) , call_expr) ;
301
286
let stmt = mk ( ) . semi_stmt ( assign_expr) ;
302
287
@@ -326,14 +311,10 @@ impl<'c> Translation<'c> {
326
311
Ok ( WithStmts :: new (
327
312
vec ! [ mk( ) . local_stmt( Box :: new( mk( ) . local(
328
313
mk( ) . mutbl( ) . ident_pat( & alloca_name) ,
329
- None as Option < Box < Type >> ,
314
+ None ,
330
315
Some ( vec_expr( zero_elem, cast_int( count, "usize" , false ) ) ) ,
331
316
) ) ) ] ,
332
- mk ( ) . method_call_expr (
333
- mk ( ) . ident_expr ( & alloca_name) ,
334
- "as_mut_ptr" ,
335
- vec ! [ ] as Vec < Box < Expr > > ,
336
- ) ,
317
+ mk ( ) . method_call_expr ( mk ( ) . ident_expr ( & alloca_name) , "as_mut_ptr" , vec ! [ ] ) ,
337
318
) )
338
319
} )
339
320
}
@@ -540,7 +521,7 @@ impl<'c> Translation<'c> {
540
521
self . use_feature ( "core_intrinsics" ) ;
541
522
542
523
let atomic_func = mk ( ) . abs_path_expr ( vec ! [ "core" , "intrinsics" , "atomic_fence" ] ) ;
543
- let call_expr = mk ( ) . call_expr ( atomic_func, vec ! [ ] as Vec < Box < Expr > > ) ;
524
+ let call_expr = mk ( ) . call_expr ( atomic_func, vec ! [ ] ) ;
544
525
self . convert_side_effects_expr (
545
526
ctx,
546
527
WithStmts :: new_val ( call_expr) ,
@@ -657,7 +638,7 @@ impl<'c> Translation<'c> {
657
638
mk( ) . ident_pat( & sum_name) ,
658
639
mk( ) . ident_pat( over_name. clone( ) ) ,
659
640
] ) ,
660
- None as Option < Box < Type > > ,
641
+ None ,
661
642
Some ( overflowing) ,
662
643
) ) ) ;
663
644
0 commit comments