use List<Ty<'tcx>>
for tuples
This commit is contained in:
parent
7e80bc3c8d
commit
d34bcdd49c
@ -117,7 +117,7 @@ pub(crate) fn easy_call(
|
|||||||
.unzip();
|
.unzip();
|
||||||
let return_layout = self.layout_of(return_ty);
|
let return_layout = self.layout_of(return_ty);
|
||||||
let return_tys = if let ty::Tuple(tup) = return_ty.kind() {
|
let return_tys = if let ty::Tuple(tup) = return_ty.kind() {
|
||||||
tup.types().map(|ty| AbiParam::new(self.clif_type(ty).unwrap())).collect()
|
tup.iter().map(|ty| AbiParam::new(self.clif_type(ty).unwrap())).collect()
|
||||||
} else {
|
} else {
|
||||||
vec![AbiParam::new(self.clif_type(return_ty).unwrap())]
|
vec![AbiParam::new(self.clif_type(return_ty).unwrap())]
|
||||||
};
|
};
|
||||||
@ -199,7 +199,7 @@ enum ArgKind<'tcx> {
|
|||||||
};
|
};
|
||||||
|
|
||||||
let mut params = Vec::new();
|
let mut params = Vec::new();
|
||||||
for (i, _arg_ty) in tupled_arg_tys.types().enumerate() {
|
for (i, _arg_ty) in tupled_arg_tys.iter().enumerate() {
|
||||||
let arg_abi = arg_abis_iter.next().unwrap();
|
let arg_abi = arg_abis_iter.next().unwrap();
|
||||||
let param =
|
let param =
|
||||||
cvalue_for_param(fx, Some(local), Some(i), arg_abi, &mut block_params_iter);
|
cvalue_for_param(fx, Some(local), Some(i), arg_abi, &mut block_params_iter);
|
||||||
|
@ -90,10 +90,9 @@ fn clif_pair_type_from_ty<'tcx>(
|
|||||||
ty: Ty<'tcx>,
|
ty: Ty<'tcx>,
|
||||||
) -> Option<(types::Type, types::Type)> {
|
) -> Option<(types::Type, types::Type)> {
|
||||||
Some(match ty.kind() {
|
Some(match ty.kind() {
|
||||||
ty::Tuple(substs) if substs.len() == 2 => {
|
ty::Tuple(types) if types.len() == 2 => {
|
||||||
let mut types = substs.types();
|
let a = clif_type_from_ty(tcx, types[0])?;
|
||||||
let a = clif_type_from_ty(tcx, types.next().unwrap())?;
|
let b = clif_type_from_ty(tcx, types[1])?;
|
||||||
let b = clif_type_from_ty(tcx, types.next().unwrap())?;
|
|
||||||
if a.is_vector() || b.is_vector() {
|
if a.is_vector() || b.is_vector() {
|
||||||
return None;
|
return None;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user