mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-28 04:44:57 +00:00
Get rid of failure: ra_lsp_server & ra_project_model
This commit is contained in:
parent
a931fb1ef6
commit
9709bd39ca
10 changed files with 32 additions and 36 deletions
|
@ -3,7 +3,6 @@ use std::path::{Path, PathBuf};
|
|||
use cargo_metadata::{MetadataCommand, CargoOpt};
|
||||
use ra_arena::{Arena, RawId, impl_arena_id};
|
||||
use rustc_hash::FxHashMap;
|
||||
use failure::format_err;
|
||||
use ra_db::Edition;
|
||||
|
||||
use crate::Result;
|
||||
|
@ -127,7 +126,7 @@ impl CargoWorkspace {
|
|||
if let Some(parent) = cargo_toml.parent() {
|
||||
meta.current_dir(parent);
|
||||
}
|
||||
let meta = meta.exec().map_err(|e| format_err!("cargo metadata failed: {}", e))?;
|
||||
let meta = meta.exec().map_err(|e| format!("cargo metadata failed: {}", e))?;
|
||||
let mut pkg_by_id = FxHashMap::default();
|
||||
let mut packages = Arena::default();
|
||||
let mut targets = Arena::default();
|
||||
|
|
|
@ -6,9 +6,9 @@ use std::{
|
|||
fs::File,
|
||||
io::BufReader,
|
||||
path::{Path, PathBuf},
|
||||
error::Error
|
||||
};
|
||||
|
||||
use failure::bail;
|
||||
use rustc_hash::FxHashMap;
|
||||
|
||||
use ra_db::{CrateGraph, FileId, Edition};
|
||||
|
@ -24,7 +24,7 @@ pub use crate::{
|
|||
};
|
||||
|
||||
// FIXME use proper error enum
|
||||
pub type Result<T> = ::std::result::Result<T, ::failure::Error>;
|
||||
pub type Result<T> = ::std::result::Result<T, Box<dyn Error + Send + Sync>>;
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
pub enum ProjectWorkspace {
|
||||
|
@ -298,5 +298,5 @@ fn find_cargo_toml(path: &Path) -> Result<PathBuf> {
|
|||
}
|
||||
curr = path.parent();
|
||||
}
|
||||
bail!("can't find Cargo.toml at {}", path.display())
|
||||
Err(format!("can't find Cargo.toml at {}", path.display()))?
|
||||
}
|
||||
|
|
|
@ -38,18 +38,18 @@ impl Sysroot {
|
|||
.args(&["--print", "sysroot"])
|
||||
.output()?;
|
||||
if !rustc_output.status.success() {
|
||||
failure::bail!("failed to locate sysroot")
|
||||
Err("failed to locate sysroot")?
|
||||
}
|
||||
let stdout = String::from_utf8(rustc_output.stdout)?;
|
||||
let sysroot_path = Path::new(stdout.trim());
|
||||
let src = sysroot_path.join("lib/rustlib/src/rust/src");
|
||||
if !src.exists() {
|
||||
failure::bail!(
|
||||
Err(format!(
|
||||
"can't load standard library from sysroot\n\
|
||||
{:?}\n\
|
||||
try running `rustup component add rust-src`",
|
||||
src,
|
||||
);
|
||||
))?;
|
||||
}
|
||||
|
||||
let mut sysroot = Sysroot { crates: Arena::default() };
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue