about summary refs log tree commit diff
diff options
context:
space:
mode:
authorlcnr <rust@lcnr.de>2022-02-07 16:06:31 +0100
committerlcnr <rust@lcnr.de>2022-02-21 07:09:11 +0100
commitd34bcdd49c1d584487bc69e9b44e8b3fd957f4a7 (patch)
tree6f68afff51aa81e32715fc4fa6ea81d53be3daa5
parent7e80bc3c8d8ab353ae498b10ad91049db5d3dbca (diff)
downloadrust-d34bcdd49c1d584487bc69e9b44e8b3fd957f4a7.tar.gz
rust-d34bcdd49c1d584487bc69e9b44e8b3fd957f4a7.zip
use `List<Ty<'tcx>>` for tuples
-rw-r--r--src/abi/mod.rs4
-rw-r--r--src/common.rs7
2 files changed, 5 insertions, 6 deletions
diff --git a/src/abi/mod.rs b/src/abi/mod.rs
index a0550860fa5..a249e5fa8ac 100644
--- a/src/abi/mod.rs
+++ b/src/abi/mod.rs
@@ -117,7 +117,7 @@ impl<'tcx> FunctionCx<'_, '_, 'tcx> {
             .unzip();
         let return_layout = self.layout_of(return_ty);
         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 {
             vec![AbiParam::new(self.clif_type(return_ty).unwrap())]
         };
@@ -199,7 +199,7 @@ pub(crate) fn codegen_fn_prelude<'tcx>(fx: &mut FunctionCx<'_, '_, 'tcx>, start_
                 };
 
                 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 param =
                         cvalue_for_param(fx, Some(local), Some(i), arg_abi, &mut block_params_iter);
diff --git a/src/common.rs b/src/common.rs
index 50f98965ab5..d3e36be3244 100644
--- a/src/common.rs
+++ b/src/common.rs
@@ -90,10 +90,9 @@ fn clif_pair_type_from_ty<'tcx>(
     ty: Ty<'tcx>,
 ) -> Option<(types::Type, types::Type)> {
     Some(match ty.kind() {
-        ty::Tuple(substs) if substs.len() == 2 => {
-            let mut types = substs.types();
-            let a = clif_type_from_ty(tcx, types.next().unwrap())?;
-            let b = clif_type_from_ty(tcx, types.next().unwrap())?;
+        ty::Tuple(types) if types.len() == 2 => {
+            let a = clif_type_from_ty(tcx, types[0])?;
+            let b = clif_type_from_ty(tcx, types[1])?;
             if a.is_vector() || b.is_vector() {
                 return None;
             }