@@ -151,50 +151,50 @@ impl<'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> {
151
151
// Also see https://github.com/rust-lang/rust/issues/68364.
152
152
153
153
use rustc_middle:: mir:: Rvalue :: * ;
154
- match rvalue {
154
+ match * rvalue {
155
155
ThreadLocalRef ( did) => {
156
- let ptr = M :: thread_local_static_base_pointer ( self , * did) ?;
156
+ let ptr = M :: thread_local_static_base_pointer ( self , did) ?;
157
157
self . write_pointer ( ptr, & dest) ?;
158
158
}
159
159
160
- Use ( operand) => {
160
+ Use ( ref operand) => {
161
161
// Avoid recomputing the layout
162
162
let op = self . eval_operand ( operand, Some ( dest. layout ) ) ?;
163
163
self . copy_op ( & op, & dest, /*allow_transmute*/ false ) ?;
164
164
}
165
165
166
166
CopyForDeref ( place) => {
167
- let op = self . eval_place_to_op ( * place, Some ( dest. layout ) ) ?;
167
+ let op = self . eval_place_to_op ( place, Some ( dest. layout ) ) ?;
168
168
self . copy_op ( & op, & dest, /* allow_transmute*/ false ) ?;
169
169
}
170
170
171
- BinaryOp ( bin_op, box ( left, right) ) => {
172
- let layout = binop_left_homogeneous ( * bin_op) . then_some ( dest. layout ) ;
171
+ BinaryOp ( bin_op, box ( ref left, ref right) ) => {
172
+ let layout = binop_left_homogeneous ( bin_op) . then_some ( dest. layout ) ;
173
173
let left = self . read_immediate ( & self . eval_operand ( left, layout) ?) ?;
174
- let layout = binop_right_homogeneous ( * bin_op) . then_some ( left. layout ) ;
174
+ let layout = binop_right_homogeneous ( bin_op) . then_some ( left. layout ) ;
175
175
let right = self . read_immediate ( & self . eval_operand ( right, layout) ?) ?;
176
- self . binop_ignore_overflow ( * bin_op, & left, & right, & dest) ?;
176
+ self . binop_ignore_overflow ( bin_op, & left, & right, & dest) ?;
177
177
}
178
178
179
- CheckedBinaryOp ( bin_op, box ( left, right) ) => {
179
+ CheckedBinaryOp ( bin_op, box ( ref left, ref right) ) => {
180
180
// Due to the extra boolean in the result, we can never reuse the `dest.layout`.
181
181
let left = self . read_immediate ( & self . eval_operand ( left, None ) ?) ?;
182
- let layout = binop_right_homogeneous ( * bin_op) . then_some ( left. layout ) ;
182
+ let layout = binop_right_homogeneous ( bin_op) . then_some ( left. layout ) ;
183
183
let right = self . read_immediate ( & self . eval_operand ( right, layout) ?) ?;
184
184
self . binop_with_overflow (
185
- * bin_op, /*force_overflow_checks*/ false , & left, & right, & dest,
185
+ bin_op, /*force_overflow_checks*/ false , & left, & right, & dest,
186
186
) ?;
187
187
}
188
188
189
- UnaryOp ( un_op, operand) => {
189
+ UnaryOp ( un_op, ref operand) => {
190
190
// The operand always has the same type as the result.
191
191
let val = self . read_immediate ( & self . eval_operand ( operand, Some ( dest. layout ) ) ?) ?;
192
- let val = self . unary_op ( * un_op, & val) ?;
192
+ let val = self . unary_op ( un_op, & val) ?;
193
193
assert_eq ! ( val. layout, dest. layout, "layout mismatch for result of {:?}" , un_op) ;
194
194
self . write_immediate ( * val, & dest) ?;
195
195
}
196
196
197
- Aggregate ( box kind, operands) => {
197
+ Aggregate ( box ref kind, ref operands) => {
198
198
assert ! ( matches!( kind, mir:: AggregateKind :: Array ( ..) ) ) ;
199
199
200
200
for ( field_index, operand) in operands. iter ( ) . enumerate ( ) {
@@ -204,7 +204,7 @@ impl<'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> {
204
204
}
205
205
}
206
206
207
- Repeat ( operand, _) => {
207
+ Repeat ( ref operand, _) => {
208
208
let src = self . eval_operand ( operand, None ) ?;
209
209
assert ! ( src. layout. is_sized( ) ) ;
210
210
let dest = self . force_allocation ( & dest) ?;
@@ -241,14 +241,14 @@ impl<'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> {
241
241
}
242
242
243
243
Len ( place) => {
244
- let src = self . eval_place ( * place) ?;
244
+ let src = self . eval_place ( place) ?;
245
245
let op = self . place_to_op ( & src) ?;
246
246
let len = op. len ( self ) ?;
247
247
self . write_scalar ( Scalar :: from_machine_usize ( len, self ) , & dest) ?;
248
248
}
249
249
250
250
Ref ( _, borrow_kind, place) => {
251
- let src = self . eval_place ( * place) ?;
251
+ let src = self . eval_place ( place) ?;
252
252
let place = self . force_allocation ( & src) ?;
253
253
let val = ImmTy :: from_immediate ( place. to_ref ( self ) , dest. layout ) ;
254
254
// A fresh reference was created, make sure it gets retagged.
@@ -274,7 +274,7 @@ impl<'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> {
274
274
false
275
275
} ;
276
276
277
- let src = self . eval_place ( * place) ?;
277
+ let src = self . eval_place ( place) ?;
278
278
let place = self . force_allocation ( & src) ?;
279
279
let mut val = ImmTy :: from_immediate ( place. to_ref ( self ) , dest. layout ) ;
280
280
if !place_base_raw {
@@ -285,7 +285,7 @@ impl<'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> {
285
285
}
286
286
287
287
NullaryOp ( null_op, ty) => {
288
- let ty = self . subst_from_current_frame_and_normalize_erasing_regions ( * ty) ?;
288
+ let ty = self . subst_from_current_frame_and_normalize_erasing_regions ( ty) ?;
289
289
let layout = self . layout_of ( ty) ?;
290
290
if layout. is_unsized ( ) {
291
291
// FIXME: This should be a span_bug (#80742)
@@ -302,21 +302,21 @@ impl<'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> {
302
302
self . write_scalar ( Scalar :: from_machine_usize ( val, self ) , & dest) ?;
303
303
}
304
304
305
- ShallowInitBox ( operand, _) => {
305
+ ShallowInitBox ( ref operand, _) => {
306
306
let src = self . eval_operand ( operand, None ) ?;
307
307
let v = self . read_immediate ( & src) ?;
308
308
self . write_immediate ( * v, & dest) ?;
309
309
}
310
310
311
- Cast ( cast_kind, operand, cast_ty) => {
311
+ Cast ( cast_kind, ref operand, cast_ty) => {
312
312
let src = self . eval_operand ( operand, None ) ?;
313
313
let cast_ty =
314
- self . subst_from_current_frame_and_normalize_erasing_regions ( * cast_ty) ?;
315
- self . cast ( & src, * cast_kind, cast_ty, & dest) ?;
314
+ self . subst_from_current_frame_and_normalize_erasing_regions ( cast_ty) ?;
315
+ self . cast ( & src, cast_kind, cast_ty, & dest) ?;
316
316
}
317
317
318
318
Discriminant ( place) => {
319
- let op = self . eval_place_to_op ( * place, None ) ?;
319
+ let op = self . eval_place_to_op ( place, None ) ?;
320
320
let discr_val = self . read_discriminant ( & op) ?. 0 ;
321
321
self . write_scalar ( discr_val, & dest) ?;
322
322
}
0 commit comments