@@ -123,7 +123,7 @@ impl<'tcx> CValue<'tcx> {
123
123
scalar_to_clif_type ( fx. tcx , element. clone ( ) )
124
124
. by ( u16:: try_from ( count) . unwrap ( ) ) . unwrap ( )
125
125
}
126
- _ => unreachable ! ( ) ,
126
+ _ => unreachable ! ( "{:?}" , layout . ty ) ,
127
127
} ;
128
128
ptr. load ( fx, clif_ty, MemFlags :: new ( ) )
129
129
}
@@ -458,7 +458,7 @@ impl<'tcx> CPlace<'tcx> {
458
458
let dst_layout = self . layout ( ) ;
459
459
let to_ptr = match self . inner {
460
460
CPlaceInner :: Var ( var) => {
461
- let data = from. load_scalar ( fx) ;
461
+ let data = CValue ( from. 0 , dst_layout ) . load_scalar ( fx) ;
462
462
let src_ty = fx. bcx . func . dfg . value_type ( data) ;
463
463
let dst_ty = fx. clif_type ( self . layout ( ) . ty ) . unwrap ( ) ;
464
464
let data = match ( src_ty, dst_ty) {
@@ -487,7 +487,7 @@ impl<'tcx> CPlace<'tcx> {
487
487
CPlaceInner :: Addr ( _, Some ( _) ) => bug ! ( "Can't write value to unsized place {:?}" , self ) ,
488
488
} ;
489
489
490
- match self . layout ( ) . abi {
490
+ match from . layout ( ) . abi {
491
491
// FIXME make Abi::Vector work too
492
492
Abi :: Scalar ( _) => {
493
493
let val = from. load_scalar ( fx) ;
0 commit comments