1
Fork 0

Use IntoIterator for array impl everywhere.

This commit is contained in:
Mara Bos 2021-09-03 12:36:33 +02:00
parent b34cf1a9e1
commit 1acb44f03c
21 changed files with 41 additions and 50 deletions

View file

@ -16,6 +16,7 @@
#![feature(min_specialization)]
#![feature(step_trait)]
use std::iter::FromIterator;
use std::path::{Path, PathBuf};
#[macro_use]
@ -47,12 +48,11 @@ const RUST_LIB_DIR: &str = "rustlib";
/// `"lib*/rustlib/x86_64-unknown-linux-gnu"`.
pub fn target_rustlib_path(sysroot: &Path, target_triple: &str) -> PathBuf {
let libdir = find_libdir(sysroot);
std::array::IntoIter::new([
PathBuf::from_iter([
Path::new(libdir.as_ref()),
Path::new(RUST_LIB_DIR),
Path::new(target_triple),
])
.collect::<PathBuf>()
}
/// The name of the directory rustc expects libraries to be located.

View file

@ -42,6 +42,7 @@ use rustc_serialize::json::{Json, ToJson};
use rustc_span::symbol::{sym, Symbol};
use std::collections::BTreeMap;
use std::convert::TryFrom;
use std::iter::FromIterator;
use std::ops::{Deref, DerefMut};
use std::path::{Path, PathBuf};
use std::str::FromStr;
@ -2173,12 +2174,11 @@ impl Target {
// Additionally look in the sysroot under `lib/rustlib/<triple>/target.json`
// as a fallback.
let rustlib_path = crate::target_rustlib_path(&sysroot, &target_triple);
let p = std::array::IntoIter::new([
let p = PathBuf::from_iter([
Path::new(sysroot),
Path::new(&rustlib_path),
Path::new("target.json"),
])
.collect::<PathBuf>();
]);
if p.is_file() {
return load_file(&p);
}