Use IntoIterator for array impl everywhere.
This commit is contained in:
parent
b34cf1a9e1
commit
1acb44f03c
21 changed files with 41 additions and 50 deletions
|
@ -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.
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue