From 44b01ccff3d993daae237c75d466050711d06268 Mon Sep 17 00:00:00 2001
From: Craig Disselkoen <craigdissel@gmail.com>
Date: Wed, 6 May 2020 12:39:11 -0700
Subject: return a PathBuf instead of String

---
 crates/ra_project_model/src/sysroot.rs | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

(limited to 'crates/ra_project_model/src')

diff --git a/crates/ra_project_model/src/sysroot.rs b/crates/ra_project_model/src/sysroot.rs
index 516e0472d..ed374f241 100644
--- a/crates/ra_project_model/src/sysroot.rs
+++ b/crates/ra_project_model/src/sysroot.rs
@@ -89,9 +89,10 @@ fn create_command_text(program: &str, args: &[&str]) -> String {
     format!("{} {}", program, args.join(" "))
 }
 
-fn run_command_in_cargo_dir(cargo_toml: &Path, program: &str, args: &[&str]) -> Result<Output> {
+fn run_command_in_cargo_dir(cargo_toml: impl AsRef<Path>, program: impl AsRef<Path>, args: &[&str]) -> Result<Output> {
+    let program = program.as_ref().as_os_str().to_str().expect("Invalid Unicode in path");
     let output = Command::new(program)
-        .current_dir(cargo_toml.parent().unwrap())
+        .current_dir(cargo_toml.as_ref().parent().unwrap())
         .args(args)
         .output()
         .context(format!("{} failed", create_command_text(program, args)))?;
-- 
cgit v1.2.3