mirror of
https://github.com/rust-lang/rust.git
synced 2026-04-27 18:57:42 +03:00
session: Cleanup CanonicalizedPath::new
It wants an owned path, so pass an owned path
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
#![allow(rustc::bad_opt_access)]
|
||||
use std::collections::{BTreeMap, BTreeSet};
|
||||
use std::collections::BTreeMap;
|
||||
use std::num::NonZero;
|
||||
use std::path::{Path, PathBuf};
|
||||
use std::path::PathBuf;
|
||||
use std::sync::atomic::AtomicBool;
|
||||
|
||||
use rustc_abi::Align;
|
||||
@@ -89,8 +89,8 @@ fn new_public_extern_entry<S, I>(locations: I) -> ExternEntry
|
||||
S: Into<String>,
|
||||
I: IntoIterator<Item = S>,
|
||||
{
|
||||
let locations: BTreeSet<CanonicalizedPath> =
|
||||
locations.into_iter().map(|s| CanonicalizedPath::new(Path::new(&s.into()))).collect();
|
||||
let locations =
|
||||
locations.into_iter().map(|s| CanonicalizedPath::new(PathBuf::from(s.into()))).collect();
|
||||
|
||||
ExternEntry {
|
||||
location: ExternLocation::ExactPaths(locations),
|
||||
|
||||
@@ -2323,14 +2323,13 @@ pub fn parse_externs(
|
||||
let ExternOpt { crate_name: name, path, options } =
|
||||
split_extern_opt(early_dcx, unstable_opts, &arg).unwrap_or_else(|e| e.emit());
|
||||
|
||||
let path = path.map(|p| CanonicalizedPath::new(p.as_path()));
|
||||
|
||||
let entry = externs.entry(name.to_owned());
|
||||
|
||||
use std::collections::btree_map::Entry;
|
||||
|
||||
let entry = if let Some(path) = path {
|
||||
// --extern prelude_name=some_file.rlib
|
||||
let path = CanonicalizedPath::new(path);
|
||||
match entry {
|
||||
Entry::Vacant(vacant) => {
|
||||
let files = BTreeSet::from_iter(iter::once(path));
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
use std::path::{Path, PathBuf};
|
||||
use std::path::PathBuf;
|
||||
use std::sync::OnceLock;
|
||||
|
||||
use rustc_data_structures::profiling::VerboseTimingGuard;
|
||||
@@ -104,8 +104,8 @@ pub struct CanonicalizedPath {
|
||||
}
|
||||
|
||||
impl CanonicalizedPath {
|
||||
pub fn new(path: &Path) -> Self {
|
||||
Self { original: path.to_owned(), canonicalized: try_canonicalize(path).ok() }
|
||||
pub fn new(path: PathBuf) -> Self {
|
||||
Self { canonicalized: try_canonicalize(&path).ok(), original: path }
|
||||
}
|
||||
|
||||
pub fn canonicalized(&self) -> &PathBuf {
|
||||
|
||||
Reference in New Issue
Block a user