1
Fork 0

refactor: replace &PathBuf with &Path to enhance generality

This commit is contained in:
Integral 2024-12-18 00:28:34 +08:00
parent 978c659b72
commit 7eb0d84424
No known key found for this signature in database
GPG key ID: 06313911057DD5A8
8 changed files with 15 additions and 18 deletions

View file

@ -26,7 +26,7 @@ use std::fmt::Write as _;
use std::fs::{self, File}; use std::fs::{self, File};
use std::io::{self, IsTerminal, Read, Write}; use std::io::{self, IsTerminal, Read, Write};
use std::panic::{self, PanicHookInfo, catch_unwind}; use std::panic::{self, PanicHookInfo, catch_unwind};
use std::path::PathBuf; use std::path::{Path, PathBuf};
use std::process::{self, Command, Stdio}; use std::process::{self, Command, Stdio};
use std::sync::atomic::{AtomicBool, Ordering}; use std::sync::atomic::{AtomicBool, Ordering};
use std::sync::{Arc, OnceLock}; use std::sync::{Arc, OnceLock};
@ -460,7 +460,7 @@ fn run_compiler(
}) })
} }
fn dump_feature_usage_metrics(tcxt: TyCtxt<'_>, metrics_dir: &PathBuf) { fn dump_feature_usage_metrics(tcxt: TyCtxt<'_>, metrics_dir: &Path) {
let output_filenames = tcxt.output_filenames(()); let output_filenames = tcxt.output_filenames(());
let mut metrics_file_name = std::ffi::OsString::from("unstable_feature_usage_metrics-"); let mut metrics_file_name = std::ffi::OsString::from("unstable_feature_usage_metrics-");
let mut metrics_path = output_filenames.with_directory_and_extension(metrics_dir, "json"); let mut metrics_path = output_filenames.with_directory_and_extension(metrics_dir, "json");

View file

@ -1076,7 +1076,7 @@ impl OutputFilenames {
self.with_directory_and_extension(&self.out_directory, extension) self.with_directory_and_extension(&self.out_directory, extension)
} }
pub fn with_directory_and_extension(&self, directory: &PathBuf, extension: &str) -> PathBuf { pub fn with_directory_and_extension(&self, directory: &Path, extension: &str) -> PathBuf {
let mut path = directory.join(&self.filestem); let mut path = directory.join(&self.filestem);
path.set_extension(extension); path.set_extension(extension);
path path

View file

@ -209,7 +209,7 @@ pub fn setup(config: &Config, profile: Profile) {
setup_config_toml(path, profile, config); setup_config_toml(path, profile, config);
} }
fn setup_config_toml(path: &PathBuf, profile: Profile, config: &Config) { fn setup_config_toml(path: &Path, profile: Profile, config: &Config) {
if profile == Profile::None { if profile == Profile::None {
return; return;
} }

View file

@ -1942,7 +1942,7 @@ impl Config {
); );
let channel = config let channel = config
.read_file_by_commit(&PathBuf::from("src/ci/channel"), commit) .read_file_by_commit(Path::new("src/ci/channel"), commit)
.trim() .trim()
.to_owned(); .to_owned();
@ -2383,12 +2383,10 @@ impl Config {
/// Return the version it would have used for the given commit. /// Return the version it would have used for the given commit.
pub(crate) fn artifact_version_part(&self, commit: &str) -> String { pub(crate) fn artifact_version_part(&self, commit: &str) -> String {
let (channel, version) = if self.rust_info.is_managed_git_subrepository() { let (channel, version) = if self.rust_info.is_managed_git_subrepository() {
let channel = self let channel =
.read_file_by_commit(&PathBuf::from("src/ci/channel"), commit) self.read_file_by_commit(Path::new("src/ci/channel"), commit).trim().to_owned();
.trim()
.to_owned();
let version = let version =
self.read_file_by_commit(&PathBuf::from("src/version"), commit).trim().to_owned(); self.read_file_by_commit(Path::new("src/version"), commit).trim().to_owned();
(channel, version) (channel, version)
} else { } else {
let channel = fs::read_to_string(self.src.join("src/ci/channel")); let channel = fs::read_to_string(self.src.join("src/ci/channel"));

View file

@ -1,6 +1,6 @@
use std::env; use std::env;
use std::ffi::OsString; use std::ffi::OsString;
use std::path::PathBuf; use std::path::{Path, PathBuf};
use std::process::Command; use std::process::Command;
use std::sync::Arc; use std::sync::Arc;
@ -141,7 +141,7 @@ pub(crate) fn extract_cdb_version(full_version_line: &str) -> Option<[u16; 4]> {
pub(crate) fn analyze_gdb( pub(crate) fn analyze_gdb(
gdb: Option<String>, gdb: Option<String>,
target: &str, target: &str,
android_cross_path: &PathBuf, android_cross_path: &Path,
) -> (Option<String>, Option<u32>) { ) -> (Option<String>, Option<u32>) {
#[cfg(not(windows))] #[cfg(not(windows))]
const GDB_FALLBACK: &str = "gdb"; const GDB_FALLBACK: &str = "gdb";

View file

@ -598,10 +598,9 @@ pub fn collect_and_make_tests(config: Arc<Config>) -> Vec<test::TestDescAndFn> {
let mut collector = let mut collector =
TestCollector { tests: vec![], found_path_stems: HashSet::new(), poisoned: false }; TestCollector { tests: vec![], found_path_stems: HashSet::new(), poisoned: false };
collect_tests_from_dir(&cx, &mut collector, &cx.config.src_base, &PathBuf::new()) collect_tests_from_dir(&cx, &mut collector, &cx.config.src_base, Path::new("")).unwrap_or_else(
.unwrap_or_else(|reason| { |reason| panic!("Could not read tests from {}: {reason}", cx.config.src_base.display()),
panic!("Could not read tests from {}: {reason}", cx.config.src_base.display()) );
});
let TestCollector { tests, found_path_stems, poisoned } = collector; let TestCollector { tests, found_path_stems, poisoned } = collector;

View file

@ -2560,7 +2560,7 @@ impl<'test> TestCx<'test> {
}) })
} }
fn delete_file(&self, file: &PathBuf) { fn delete_file(&self, file: &Path) {
if !file.exists() { if !file.exists() {
// Deleting a nonexistent file would error. // Deleting a nonexistent file would error.
return; return;

View file

@ -163,7 +163,7 @@ fn apply_shared_opts(cmd: &mut Command, opts: &SharedOpts) {
} }
} }
fn execute_benchmark(cmd: &mut Command, compiler: &PathBuf) { fn execute_benchmark(cmd: &mut Command, compiler: &Path) {
cmd.arg(compiler); cmd.arg(compiler);
println!("Running `rustc-perf` using `{}`", compiler.display()); println!("Running `rustc-perf` using `{}`", compiler.display());