Use iter::zip in compiler/
This commit is contained in:
parent
3b1f5e3462
commit
72ebebe474
87 changed files with 213 additions and 204 deletions
|
@ -24,6 +24,7 @@ use tracing::{debug, info};
|
|||
use std::ffi::{CStr, CString};
|
||||
use std::fs::File;
|
||||
use std::io;
|
||||
use std::iter;
|
||||
use std::path::Path;
|
||||
use std::ptr;
|
||||
use std::slice;
|
||||
|
@ -916,9 +917,7 @@ impl ThinLTOKeysMap {
|
|||
modules: &[llvm::ThinLTOModule],
|
||||
names: &[CString],
|
||||
) -> Self {
|
||||
let keys = modules
|
||||
.iter()
|
||||
.zip(names.iter())
|
||||
let keys = iter::zip(modules, names)
|
||||
.map(|(module, name)| {
|
||||
let key = build_string(|rust_str| unsafe {
|
||||
llvm::LLVMRustComputeLTOCacheKey(rust_str, module.identifier, data.0);
|
||||
|
|
|
@ -21,6 +21,7 @@ use rustc_target::abi::{self, Align, Size};
|
|||
use rustc_target::spec::{HasTargetSpec, Target};
|
||||
use std::borrow::Cow;
|
||||
use std::ffi::CStr;
|
||||
use std::iter;
|
||||
use std::ops::{Deref, Range};
|
||||
use std::ptr;
|
||||
use tracing::debug;
|
||||
|
@ -1352,18 +1353,14 @@ impl Builder<'a, 'll, 'tcx> {
|
|||
|
||||
let param_tys = self.cx.func_params_types(fn_ty);
|
||||
|
||||
let all_args_match = param_tys
|
||||
.iter()
|
||||
.zip(args.iter().map(|&v| self.val_ty(v)))
|
||||
let all_args_match = iter::zip(¶m_tys, args.iter().map(|&v| self.val_ty(v)))
|
||||
.all(|(expected_ty, actual_ty)| *expected_ty == actual_ty);
|
||||
|
||||
if all_args_match {
|
||||
return Cow::Borrowed(args);
|
||||
}
|
||||
|
||||
let casted_args: Vec<_> = param_tys
|
||||
.into_iter()
|
||||
.zip(args.iter())
|
||||
let casted_args: Vec<_> = iter::zip(param_tys, args)
|
||||
.enumerate()
|
||||
.map(|(i, (expected_ty, &actual_val))| {
|
||||
let actual_ty = self.val_ty(actual_val);
|
||||
|
|
|
@ -1962,9 +1962,7 @@ fn prepare_enum_metadata(
|
|||
|
||||
let discriminant_type_metadata = |discr: Primitive| {
|
||||
let enumerators_metadata: Vec<_> = match enum_type.kind() {
|
||||
ty::Adt(def, _) => def
|
||||
.discriminants(tcx)
|
||||
.zip(&def.variants)
|
||||
ty::Adt(def, _) => iter::zip(def.discriminants(tcx), &def.variants)
|
||||
.map(|((_, discr), v)| {
|
||||
let name = v.ident.as_str();
|
||||
let is_unsigned = match discr.ty.kind() {
|
||||
|
@ -2336,9 +2334,7 @@ fn compute_type_parameters(cx: &CodegenCx<'ll, 'tcx>, ty: Ty<'tcx>) -> &'ll DIAr
|
|||
if substs.types().next().is_some() {
|
||||
let generics = cx.tcx.generics_of(def.did);
|
||||
let names = get_parameter_names(cx, generics);
|
||||
let template_params: Vec<_> = substs
|
||||
.iter()
|
||||
.zip(names)
|
||||
let template_params: Vec<_> = iter::zip(substs, names)
|
||||
.filter_map(|(kind, name)| {
|
||||
if let GenericArgKind::Type(ty) = kind.unpack() {
|
||||
let actual_type =
|
||||
|
|
|
@ -37,6 +37,7 @@ use rustc_target::abi::{LayoutOf, Primitive, Size};
|
|||
use libc::c_uint;
|
||||
use smallvec::SmallVec;
|
||||
use std::cell::RefCell;
|
||||
use std::iter;
|
||||
use tracing::debug;
|
||||
|
||||
mod create_scope_map;
|
||||
|
@ -448,9 +449,7 @@ impl DebugInfoMethods<'tcx> for CodegenCx<'ll, 'tcx> {
|
|||
// Again, only create type information if full debuginfo is enabled
|
||||
let template_params: Vec<_> = if cx.sess().opts.debuginfo == DebugInfo::Full {
|
||||
let names = get_parameter_names(cx, generics);
|
||||
substs
|
||||
.iter()
|
||||
.zip(names)
|
||||
iter::zip(substs, names)
|
||||
.filter_map(|(kind, name)| {
|
||||
if let GenericArgKind::Type(ty) = kind.unpack() {
|
||||
let actual_type =
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
#![feature(extended_key_value_attributes)]
|
||||
#![feature(extern_types)]
|
||||
#![feature(in_band_lifetimes)]
|
||||
#![feature(iter_zip)]
|
||||
#![feature(nll)]
|
||||
#![cfg_attr(bootstrap, feature(or_patterns))]
|
||||
#![recursion_limit = "256"]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue