提交 50985b01 编写于 作者: V varkor

Use `to_option_with` in several places

上级 e3a8ea4e
......@@ -119,7 +119,7 @@ fn path_relative_from(path: &Path, base: &Path) -> Option<PathBuf> {
use std::path::Component;
if path.is_absolute() != base.is_absolute() {
path.is_absolute().to_option(PathBuf::from(path))
path.is_absolute().to_option_with(|| PathBuf::from(path))
} else {
let mut ita = path.components();
let mut itb = base.components();
......
......@@ -69,11 +69,14 @@ pub fn into_compiled_module(self,
emit_bc: bool,
emit_bc_compressed: bool,
outputs: &OutputFilenames) -> CompiledModule {
let object = emit_obj.to_option(outputs.temp_path(OutputType::Object, Some(&self.name)));
let bytecode = emit_bc.to_option(outputs.temp_path(OutputType::Bitcode, Some(&self.name)));
let bytecode_compressed = emit_bc_compressed.to_option(
let object = emit_obj
.to_option_with(|| outputs.temp_path(OutputType::Object, Some(&self.name)));
let bytecode = emit_bc
.to_option_with(|| outputs.temp_path(OutputType::Bitcode, Some(&self.name)));
let bytecode_compressed = emit_bc_compressed.to_option_with(|| {
outputs.temp_path(OutputType::Bitcode, Some(&self.name))
.with_extension(RLIB_BYTECODE_EXTENSION));
.with_extension(RLIB_BYTECODE_EXTENSION)
});
CompiledModule {
name: self.name.clone(),
......
......@@ -547,7 +547,7 @@ fn output_contains_path(output_paths: &[PathBuf], input_path: &PathBuf) -> bool
}
fn output_conflicts_with_dir(output_paths: &[PathBuf]) -> Option<PathBuf> {
let check = |output_path: &PathBuf| output_path.is_dir().to_option(output_path.clone());
let check = |output_path: &PathBuf| output_path.is_dir().to_option_with(|| output_path.clone());
check_output(output_paths, check)
}
......
......@@ -752,7 +752,7 @@ pub fn incr_comp_session_dir(&self) -> cell::Ref<'_, PathBuf> {
}
pub fn incr_comp_session_dir_opt(&self) -> Option<cell::Ref<'_, PathBuf>> {
self.opts.incremental.is_some().to_option(self.incr_comp_session_dir())
self.opts.incremental.is_some().to_option_with(|| self.incr_comp_session_dir())
}
pub fn print_perf_stats(&self) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册