From a931fb1ef633473e272bb3f9ba86968dd90f44a7 Mon Sep 17 00:00:00 2001 From: Muhammad Mominul Huque Date: Sat, 15 Jun 2019 01:03:17 +0600 Subject: Get rid of failure: gen_lsp_server --- Cargo.lock | 1 - crates/gen_lsp_server/Cargo.toml | 1 - crates/gen_lsp_server/examples/01_gen_lsp_server.rs | 6 ++++-- .../examples/02_gen_lsp_server_with_logging.rs | 6 ++++-- crates/gen_lsp_server/src/lib.rs | 16 ++++++++-------- crates/gen_lsp_server/src/msg.rs | 7 +++---- crates/gen_lsp_server/src/stdio.rs | 5 ++--- 7 files changed, 21 insertions(+), 21 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2c1c7099e..08690c8c3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -490,7 +490,6 @@ name = "gen_lsp_server" version = "0.2.0" dependencies = [ "crossbeam-channel 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", - "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "flexi_logger 0.11.5 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "lsp-types 0.57.2 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/crates/gen_lsp_server/Cargo.toml b/crates/gen_lsp_server/Cargo.toml index fa2fefea5..d375606d0 100644 --- a/crates/gen_lsp_server/Cargo.toml +++ b/crates/gen_lsp_server/Cargo.toml @@ -10,7 +10,6 @@ description = "Generic LSP server scaffold." [dependencies] lsp-types = "0.57.0" log = "0.4.3" -failure = "0.1.4" serde_json = "1.0.34" serde = { version = "1.0.83", features = ["derive"] } crossbeam-channel = "0.3.5" diff --git a/crates/gen_lsp_server/examples/01_gen_lsp_server.rs b/crates/gen_lsp_server/examples/01_gen_lsp_server.rs index 60c581075..bc497f74a 100644 --- a/crates/gen_lsp_server/examples/01_gen_lsp_server.rs +++ b/crates/gen_lsp_server/examples/01_gen_lsp_server.rs @@ -1,3 +1,5 @@ +use std::error::Error; + use crossbeam_channel::{Sender, Receiver}; use lsp_types::{ ServerCapabilities, InitializeParams, @@ -5,7 +7,7 @@ use lsp_types::{ }; use gen_lsp_server::{run_server, stdio_transport, handle_shutdown, RawMessage, RawResponse}; -fn main() -> Result<(), failure::Error> { +fn main() -> Result<(), Box> { let (receiver, sender, io_threads) = stdio_transport(); run_server(ServerCapabilities::default(), receiver, sender, main_loop)?; io_threads.join()?; @@ -16,7 +18,7 @@ fn main_loop( _params: InitializeParams, receiver: &Receiver, sender: &Sender, -) -> Result<(), failure::Error> { +) -> Result<(), Box> { for msg in receiver { match msg { RawMessage::Request(req) => { diff --git a/crates/gen_lsp_server/examples/02_gen_lsp_server_with_logging.rs b/crates/gen_lsp_server/examples/02_gen_lsp_server_with_logging.rs index 27e4f1cbc..1a6174462 100644 --- a/crates/gen_lsp_server/examples/02_gen_lsp_server_with_logging.rs +++ b/crates/gen_lsp_server/examples/02_gen_lsp_server_with_logging.rs @@ -42,6 +42,8 @@ //! {"jsonrpc": "2.0", "method": "exit", "params": null} //! ``` +use std::error::Error; + use crossbeam_channel::{Sender, Receiver}; use lsp_types::{ ServerCapabilities, InitializeParams, @@ -52,7 +54,7 @@ use gen_lsp_server::{ run_server, stdio_transport, handle_shutdown, RawMessage, RawResponse, RawRequest, }; -fn main() -> Result<(), failure::Error> { +fn main() -> Result<(), Box> { // Set up logging. Because `stdio_transport` gets a lock on stdout and stdin, we must have // our logging only write out to stderr. flexi_logger::Logger::with_str("info").start().unwrap(); @@ -75,7 +77,7 @@ fn main_loop( _params: InitializeParams, receiver: &Receiver, sender: &Sender, -) -> Result<(), failure::Error> { +) -> Result<(), Box> { info!("starting example main loop"); for msg in receiver { info!("got msg: {:?}", msg); diff --git a/crates/gen_lsp_server/src/lib.rs b/crates/gen_lsp_server/src/lib.rs index 1cd5a3a7c..7643dcacc 100644 --- a/crates/gen_lsp_server/src/lib.rs +++ b/crates/gen_lsp_server/src/lib.rs @@ -54,7 +54,7 @@ //! } //! ``` -use failure::{bail, format_err}; +use std::error::Error; mod msg; mod stdio; @@ -66,7 +66,7 @@ use lsp_types::{ InitializeParams, InitializeResult, ServerCapabilities, }; -pub type Result = ::std::result::Result; +pub type Result = ::std::result::Result>; pub use crate::{ msg::{ErrorCode, RawMessage, RawNotification, RawRequest, RawResponse, RawResponseError}, stdio::{stdio_transport, Threads}, @@ -92,8 +92,8 @@ pub fn run_server( match receiver.recv() { Ok(RawMessage::Notification(n)) => n .cast::() - .map_err(|n| format_err!("unexpected notification during shutdown: {:?}", n))?, - m => bail!("unexpected message during shutdown: {:?}", m), + .map_err(|n| format!("unexpected notification during shutdown: {:?}", n))?, + m => Err(format!("unexpected message during shutdown: {:?}", m))?, } log::info!("lsp server shutdown complete"); Ok(()) @@ -118,19 +118,19 @@ fn initialize( ) -> Result { let (id, params) = match receiver.recv() { Ok(RawMessage::Request(req)) => match req.cast::() { - Err(req) => bail!("expected initialize request, got {:?}", req), + Err(req) => Err(format!("expected initialize request, got {:?}", req))?, Ok(req) => req, }, - msg => bail!("expected initialize request, got {:?}", msg), + msg => Err(format!("expected initialize request, got {:?}", msg))?, }; let resp = RawResponse::ok::(id, &InitializeResult { capabilities: caps }); sender.send(RawMessage::Response(resp)).unwrap(); match receiver.recv() { Ok(RawMessage::Notification(n)) => { n.cast::() - .map_err(|_| format_err!("expected initialized notification"))?; + .map_err(|_| "expected initialized notification")?; } - _ => bail!("expected initialized notification"), + _ => Err(format!("expected initialized notification"))?, } Ok(params) } diff --git a/crates/gen_lsp_server/src/msg.rs b/crates/gen_lsp_server/src/msg.rs index 1d39ba4bc..8138b84eb 100644 --- a/crates/gen_lsp_server/src/msg.rs +++ b/crates/gen_lsp_server/src/msg.rs @@ -3,7 +3,6 @@ use std::io::{BufRead, Write}; use lsp_types::{notification::Notification, request::Request}; use serde::{Deserialize, Serialize}; use serde_json::{from_str, from_value, to_string, to_value, Value}; -use failure::{bail, format_err}; use crate::Result; @@ -175,7 +174,7 @@ fn read_msg_text(inp: &mut impl BufRead) -> Result> { return Ok(None); } if !buf.ends_with("\r\n") { - bail!("malformed header: {:?}", buf); + Err(format!("malformed header: {:?}", buf))?; } let buf = &buf[..buf.len() - 2]; if buf.is_empty() { @@ -184,12 +183,12 @@ fn read_msg_text(inp: &mut impl BufRead) -> Result> { let mut parts = buf.splitn(2, ": "); let header_name = parts.next().unwrap(); let header_value = - parts.next().ok_or_else(|| format_err!("malformed header: {:?}", buf))?; + parts.next().ok_or_else(|| format!("malformed header: {:?}", buf))?; if header_name == "Content-Length" { size = Some(header_value.parse::()?); } } - let size = size.ok_or_else(|| format_err!("no Content-Length"))?; + let size = size.ok_or("no Content-Length")?; let mut buf = buf.into_bytes(); buf.resize(size, 0); inp.read_exact(&mut buf)?; diff --git a/crates/gen_lsp_server/src/stdio.rs b/crates/gen_lsp_server/src/stdio.rs index 2d6418400..f8931f2dc 100644 --- a/crates/gen_lsp_server/src/stdio.rs +++ b/crates/gen_lsp_server/src/stdio.rs @@ -4,7 +4,6 @@ use std::{ }; use crossbeam_channel::{bounded, Receiver, Sender}; -use failure::bail; use lsp_types::notification::Exit; use crate::{RawMessage, Result}; @@ -48,11 +47,11 @@ impl Threads { pub fn join(self) -> Result<()> { match self.reader.join() { Ok(r) => r?, - Err(_) => bail!("reader panicked"), + Err(_) => Err("reader panicked")?, } match self.writer.join() { Ok(r) => r, - Err(_) => bail!("writer panicked"), + Err(_) => Err("writer panicked")?, } } } -- cgit v1.2.3 From 9709bd39ca8a564d517372ee33304d34ac0b09bf Mon Sep 17 00:00:00 2001 From: Muhammad Mominul Huque Date: Sat, 15 Jun 2019 02:42:56 +0600 Subject: Get rid of failure: ra_lsp_server & ra_project_model --- Cargo.lock | 3 --- crates/ra_lsp_server/Cargo.toml | 2 -- crates/ra_lsp_server/src/lib.rs | 2 +- crates/ra_lsp_server/src/main.rs | 2 +- crates/ra_lsp_server/src/main_loop.rs | 31 +++++++++++++++----------- crates/ra_lsp_server/src/world.rs | 11 +++++---- crates/ra_project_model/Cargo.toml | 2 -- crates/ra_project_model/src/cargo_workspace.rs | 3 +-- crates/ra_project_model/src/lib.rs | 6 ++--- crates/ra_project_model/src/sysroot.rs | 6 ++--- 10 files changed, 32 insertions(+), 36 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 08690c8c3..990672a0a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1128,8 +1128,6 @@ name = "ra_lsp_server" version = "0.1.0" dependencies = [ "crossbeam-channel 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", - "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "flexi_logger 0.11.5 (registry+https://github.com/rust-lang/crates.io-index)", "gen_lsp_server 0.2.0", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1187,7 +1185,6 @@ name = "ra_project_model" version = "0.1.0" dependencies = [ "cargo_metadata 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", - "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "ra_arena 0.1.0", "ra_db 0.1.0", diff --git a/crates/ra_lsp_server/Cargo.toml b/crates/ra_lsp_server/Cargo.toml index d52e0165f..142467cc9 100644 --- a/crates/ra_lsp_server/Cargo.toml +++ b/crates/ra_lsp_server/Cargo.toml @@ -7,8 +7,6 @@ authors = ["rust-analyzer developers"] [dependencies] threadpool = "1.7.1" relative-path = "0.4.0" -failure = "0.1.4" -failure_derive = "0.1.4" serde_json = "1.0.34" serde = { version = "1.0.83", features = ["derive"] } crossbeam-channel = "0.3.5" diff --git a/crates/ra_lsp_server/src/lib.rs b/crates/ra_lsp_server/src/lib.rs index aabde420b..14cfa401f 100644 --- a/crates/ra_lsp_server/src/lib.rs +++ b/crates/ra_lsp_server/src/lib.rs @@ -9,5 +9,5 @@ pub mod req; pub mod init; mod world; -pub type Result = ::std::result::Result; +pub type Result = std::result::Result>; pub use crate::{caps::server_capabilities, main_loop::main_loop, main_loop::LspError, init::InitializationOptions}; diff --git a/crates/ra_lsp_server/src/main.rs b/crates/ra_lsp_server/src/main.rs index 3c3e8b5b0..7749d97d6 100644 --- a/crates/ra_lsp_server/src/main.rs +++ b/crates/ra_lsp_server/src/main.rs @@ -25,7 +25,7 @@ fn main() -> Result<()> { } Err(_) => { log::error!("server panicked"); - failure::bail!("server panicked") + Err("server panicked")? } } } diff --git a/crates/ra_lsp_server/src/main_loop.rs b/crates/ra_lsp_server/src/main_loop.rs index 0790ea472..fe6b360d4 100644 --- a/crates/ra_lsp_server/src/main_loop.rs +++ b/crates/ra_lsp_server/src/main_loop.rs @@ -2,11 +2,9 @@ mod handlers; mod subscriptions; pub(crate) mod pending_requests; -use std::{fmt, path::PathBuf, sync::Arc, time::Instant}; +use std::{fmt, path::PathBuf, sync::Arc, time::Instant, error::Error}; use crossbeam_channel::{select, unbounded, Receiver, RecvError, Sender}; -use failure::{bail, format_err}; -use failure_derive::Fail; use gen_lsp_server::{ handle_shutdown, ErrorCode, RawMessage, RawNotification, RawRequest, RawResponse, }; @@ -32,8 +30,7 @@ use crate::{ const THREADPOOL_SIZE: usize = 8; const MAX_IN_FLIGHT_LIBS: usize = THREADPOOL_SIZE - 3; -#[derive(Debug, Fail)] -#[fail(display = "Language Server request failed with {}. ({})", code, message)] +#[derive(Debug)] pub struct LspError { pub code: i32, pub message: String, @@ -45,6 +42,14 @@ impl LspError { } } +impl fmt::Display for LspError { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "Language Server request failed with {}. ({})", self.code, self.message) + } +} + +impl Error for LspError {} + pub fn main_loop( ws_roots: Vec, options: InitializationOptions, @@ -177,12 +182,12 @@ fn main_loop_inner( let event = select! { recv(msg_receiver) -> msg => match msg { Ok(msg) => Event::Msg(msg), - Err(RecvError) => bail!("client exited without shutdown"), + Err(RecvError) => Err("client exited without shutdown")?, }, recv(task_receiver) -> task => Event::Task(task.unwrap()), recv(state.vfs.read().task_receiver()) -> task => match task { Ok(task) => Event::Vfs(task), - Err(RecvError) => bail!("vfs died"), + Err(RecvError) => Err("vfs died")?, }, recv(libdata_receiver) -> data => Event::Lib(data.unwrap()) }; @@ -380,7 +385,7 @@ fn on_notification( let not = match not.cast::() { Ok(params) => { let uri = params.text_document.uri; - let path = uri.to_file_path().map_err(|()| format_err!("invalid uri: {}", uri))?; + let path = uri.to_file_path().map_err(|()| format!("invalid uri: {}", uri))?; if let Some(file_id) = state.vfs.write().add_file_overlay(&path, params.text_document.text) { @@ -393,9 +398,9 @@ fn on_notification( let not = match not.cast::() { Ok(mut params) => { let uri = params.text_document.uri; - let path = uri.to_file_path().map_err(|()| format_err!("invalid uri: {}", uri))?; + let path = uri.to_file_path().map_err(|()| format!("invalid uri: {}", uri))?; let text = - params.content_changes.pop().ok_or_else(|| format_err!("empty changes"))?.text; + params.content_changes.pop().ok_or_else(|| format!("empty changes"))?.text; state.vfs.write().change_file_overlay(path.as_path(), text); return Ok(()); } @@ -404,7 +409,7 @@ fn on_notification( let not = match not.cast::() { Ok(params) => { let uri = params.text_document.uri; - let path = uri.to_file_path().map_err(|()| format_err!("invalid uri: {}", uri))?; + let path = uri.to_file_path().map_err(|()| format!("invalid uri: {}", uri))?; if let Some(file_id) = state.vfs.write().remove_file_overlay(path.as_path()) { subs.remove_sub(FileId(file_id.0)); } @@ -546,7 +551,7 @@ where RawResponse::err( id, ErrorCode::InternalError as i32, - format!("{}\n{}", e, e.backtrace()), + e.to_string() ) } } @@ -599,6 +604,6 @@ fn show_message(typ: req::MessageType, message: impl Into, sender: &Send sender.send(not.into()).unwrap(); } -fn is_canceled(e: &failure::Error) -> bool { +fn is_canceled(e: &Box) -> bool { e.downcast_ref::().is_some() } diff --git a/crates/ra_lsp_server/src/world.rs b/crates/ra_lsp_server/src/world.rs index f9ce570ca..7822e1c1c 100644 --- a/crates/ra_lsp_server/src/world.rs +++ b/crates/ra_lsp_server/src/world.rs @@ -11,7 +11,6 @@ use ra_ide_api::{ use ra_vfs::{Vfs, VfsChange, VfsFile, VfsRoot}; use relative_path::RelativePathBuf; use parking_lot::RwLock; -use failure::{Error, format_err}; use gen_lsp_server::ErrorCode; use crate::{ @@ -169,13 +168,13 @@ impl WorldSnapshot { } pub fn uri_to_file_id(&self, uri: &Url) -> Result { - let path = uri.to_file_path().map_err(|()| format_err!("invalid uri: {}", uri))?; + let path = uri.to_file_path().map_err(|()| format!("invalid uri: {}", uri))?; let file = self.vfs.read().path2file(&path).ok_or_else(|| { // Show warning as this file is outside current workspace - Error::from(LspError { + LspError { code: ErrorCode::InvalidRequest as i32, message: "Rust file outside current workspace is not supported yet.".to_string(), - }) + } })?; Ok(FileId(file.0)) } @@ -183,7 +182,7 @@ impl WorldSnapshot { pub fn file_id_to_uri(&self, id: FileId) -> Result { let path = self.vfs.read().file2path(VfsFile(id.0)); let url = Url::from_file_path(&path) - .map_err(|_| format_err!("can't convert path to url: {}", path.display()))?; + .map_err(|_| format!("can't convert path to url: {}", path.display()))?; Ok(url) } @@ -191,7 +190,7 @@ impl WorldSnapshot { let base = self.vfs.read().root2path(VfsRoot(root.0)); let path = path.to_path(base); let url = Url::from_file_path(&path) - .map_err(|_| format_err!("can't convert path to url: {}", path.display()))?; + .map_err(|_| format!("can't convert path to url: {}", path.display()))?; Ok(url) } diff --git a/crates/ra_project_model/Cargo.toml b/crates/ra_project_model/Cargo.toml index cf4adf35c..c1a91d950 100644 --- a/crates/ra_project_model/Cargo.toml +++ b/crates/ra_project_model/Cargo.toml @@ -9,8 +9,6 @@ log = "0.4.5" rustc-hash = "1.0" relative-path = "0.4.0" -failure = "0.1.4" - walkdir = "2.2.7" cargo_metadata = "0.7.0" diff --git a/crates/ra_project_model/src/cargo_workspace.rs b/crates/ra_project_model/src/cargo_workspace.rs index 5a1657788..d5ebf2c7a 100644 --- a/crates/ra_project_model/src/cargo_workspace.rs +++ b/crates/ra_project_model/src/cargo_workspace.rs @@ -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(); diff --git a/crates/ra_project_model/src/lib.rs b/crates/ra_project_model/src/lib.rs index 4ae7f685c..a3af153f1 100644 --- a/crates/ra_project_model/src/lib.rs +++ b/crates/ra_project_model/src/lib.rs @@ -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 = ::std::result::Result; +pub type Result = ::std::result::Result>; #[derive(Debug, Clone)] pub enum ProjectWorkspace { @@ -298,5 +298,5 @@ fn find_cargo_toml(path: &Path) -> Result { } curr = path.parent(); } - bail!("can't find Cargo.toml at {}", path.display()) + Err(format!("can't find Cargo.toml at {}", path.display()))? } diff --git a/crates/ra_project_model/src/sysroot.rs b/crates/ra_project_model/src/sysroot.rs index 8b87aa7bd..d6eb824a3 100644 --- a/crates/ra_project_model/src/sysroot.rs +++ b/crates/ra_project_model/src/sysroot.rs @@ -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() }; -- cgit v1.2.3 From f032eeb05f0b7d77e30cd6c5eea016cc5d649e3f Mon Sep 17 00:00:00 2001 From: Muhammad Mominul Huque Date: Sat, 15 Jun 2019 13:24:02 +0600 Subject: Get rid of failure: ra_batch ra_cli --- Cargo.lock | 2 -- crates/gen_lsp_server/src/lib.rs | 2 +- crates/ra_batch/Cargo.toml | 2 -- crates/ra_batch/src/lib.rs | 7 +++---- crates/ra_cli/Cargo.toml | 1 - crates/ra_cli/src/main.rs | 4 ++-- crates/ra_syntax/src/lib.rs | 2 +- 7 files changed, 7 insertions(+), 13 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 990672a0a..03b5794fa 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1020,7 +1020,6 @@ dependencies = [ name = "ra_batch" version = "0.1.0" dependencies = [ - "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "ra_db 0.1.0", "ra_hir 0.1.0", @@ -1036,7 +1035,6 @@ name = "ra_cli" version = "0.1.0" dependencies = [ "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)", - "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "flexi_logger 0.11.5 (registry+https://github.com/rust-lang/crates.io-index)", "indicatif 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "join_to_string 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/crates/gen_lsp_server/src/lib.rs b/crates/gen_lsp_server/src/lib.rs index 7643dcacc..7c4fbbee4 100644 --- a/crates/gen_lsp_server/src/lib.rs +++ b/crates/gen_lsp_server/src/lib.rs @@ -66,7 +66,7 @@ use lsp_types::{ InitializeParams, InitializeResult, ServerCapabilities, }; -pub type Result = ::std::result::Result>; +pub type Result = std::result::Result>; pub use crate::{ msg::{ErrorCode, RawMessage, RawNotification, RawRequest, RawResponse, RawResponseError}, stdio::{stdio_transport, Threads}, diff --git a/crates/ra_batch/Cargo.toml b/crates/ra_batch/Cargo.toml index 3037e27c4..8bf085bbf 100644 --- a/crates/ra_batch/Cargo.toml +++ b/crates/ra_batch/Cargo.toml @@ -8,8 +8,6 @@ authors = ["rust-analyzer developers"] log = "0.4.5" rustc-hash = "1.0" -failure = "0.1.4" - ra_vfs = "0.2.0" ra_syntax = { path = "../ra_syntax" } ra_db = { path = "../ra_db" } diff --git a/crates/ra_batch/src/lib.rs b/crates/ra_batch/src/lib.rs index c59821f44..35e783b14 100644 --- a/crates/ra_batch/src/lib.rs +++ b/crates/ra_batch/src/lib.rs @@ -1,8 +1,7 @@ mod vfs_filter; -use std::sync::Arc; -use std::path::Path; -use std::collections::HashSet; +use std::{sync::Arc, path::Path, collections::HashSet, error::Error}; + use rustc_hash::FxHashMap; @@ -14,7 +13,7 @@ use ra_project_model::ProjectWorkspace; use ra_vfs::{Vfs, VfsChange}; use vfs_filter::IncludeRustFiles; -type Result = std::result::Result; +type Result = std::result::Result>; #[salsa::database( ra_db::SourceDatabaseStorage, diff --git a/crates/ra_cli/Cargo.toml b/crates/ra_cli/Cargo.toml index 3117f4fda..57bd0c3d7 100644 --- a/crates/ra_cli/Cargo.toml +++ b/crates/ra_cli/Cargo.toml @@ -7,7 +7,6 @@ publish = false [dependencies] clap = "2.32.0" -failure = "0.1.4" join_to_string = "0.1.1" flexi_logger = "0.11.0" indicatif = "0.11.0" diff --git a/crates/ra_cli/src/main.rs b/crates/ra_cli/src/main.rs index c9ca13bbc..04370539a 100644 --- a/crates/ra_cli/src/main.rs +++ b/crates/ra_cli/src/main.rs @@ -1,6 +1,6 @@ mod analysis_stats; -use std::io::Read; +use std::{io::Read, error::Error}; use clap::{App, Arg, SubCommand}; use ra_ide_api::{file_structure, Analysis}; @@ -8,7 +8,7 @@ use ra_syntax::{SourceFile, TreeArc, AstNode}; use flexi_logger::Logger; use ra_prof::profile; -type Result = ::std::result::Result; +type Result = ::std::result::Result>; fn main() -> Result<()> { Logger::with_env().start()?; diff --git a/crates/ra_syntax/src/lib.rs b/crates/ra_syntax/src/lib.rs index 8c0ba6f2d..e46ad12db 100644 --- a/crates/ra_syntax/src/lib.rs +++ b/crates/ra_syntax/src/lib.rs @@ -11,7 +11,7 @@ //! //! The most interesting modules here are `syntax_node` (which defines concrete //! syntax tree) and `ast` (which defines abstract syntax tree on top of the -//! CST). The actual parser live in a separate `ra_parser` crate, thought the +//! CST). The actual parser live in a separate `ra_parser` crate, though the //! lexer lives in this crate. //! //! See `api_walkthrough` test in this file for a quick API tour! -- cgit v1.2.3 From ebb40c7f87d58fb74c8f3b4dfcb2704140599d65 Mon Sep 17 00:00:00 2001 From: Muhammad Mominul Huque Date: Sat, 15 Jun 2019 13:37:15 +0600 Subject: cargo format --- crates/gen_lsp_server/src/lib.rs | 3 +-- crates/gen_lsp_server/src/msg.rs | 3 +-- crates/ra_batch/src/lib.rs | 1 - crates/ra_lsp_server/src/main_loop.rs | 9 ++------- 4 files changed, 4 insertions(+), 12 deletions(-) diff --git a/crates/gen_lsp_server/src/lib.rs b/crates/gen_lsp_server/src/lib.rs index 7c4fbbee4..8e7697ed4 100644 --- a/crates/gen_lsp_server/src/lib.rs +++ b/crates/gen_lsp_server/src/lib.rs @@ -127,8 +127,7 @@ fn initialize( sender.send(RawMessage::Response(resp)).unwrap(); match receiver.recv() { Ok(RawMessage::Notification(n)) => { - n.cast::() - .map_err(|_| "expected initialized notification")?; + n.cast::().map_err(|_| "expected initialized notification")?; } _ => Err(format!("expected initialized notification"))?, } diff --git a/crates/gen_lsp_server/src/msg.rs b/crates/gen_lsp_server/src/msg.rs index 8138b84eb..2928e4f8b 100644 --- a/crates/gen_lsp_server/src/msg.rs +++ b/crates/gen_lsp_server/src/msg.rs @@ -182,8 +182,7 @@ fn read_msg_text(inp: &mut impl BufRead) -> Result> { } let mut parts = buf.splitn(2, ": "); let header_name = parts.next().unwrap(); - let header_value = - parts.next().ok_or_else(|| format!("malformed header: {:?}", buf))?; + let header_value = parts.next().ok_or_else(|| format!("malformed header: {:?}", buf))?; if header_name == "Content-Length" { size = Some(header_value.parse::()?); } diff --git a/crates/ra_batch/src/lib.rs b/crates/ra_batch/src/lib.rs index 35e783b14..96b32d9fe 100644 --- a/crates/ra_batch/src/lib.rs +++ b/crates/ra_batch/src/lib.rs @@ -2,7 +2,6 @@ mod vfs_filter; use std::{sync::Arc, path::Path, collections::HashSet, error::Error}; - use rustc_hash::FxHashMap; use ra_db::{ diff --git a/crates/ra_lsp_server/src/main_loop.rs b/crates/ra_lsp_server/src/main_loop.rs index fe6b360d4..aeb8a2299 100644 --- a/crates/ra_lsp_server/src/main_loop.rs +++ b/crates/ra_lsp_server/src/main_loop.rs @@ -399,8 +399,7 @@ fn on_notification( Ok(mut params) => { let uri = params.text_document.uri; let path = uri.to_file_path().map_err(|()| format!("invalid uri: {}", uri))?; - let text = - params.content_changes.pop().ok_or_else(|| format!("empty changes"))?.text; + let text = params.content_changes.pop().ok_or_else(|| format!("empty changes"))?.text; state.vfs.write().change_file_overlay(path.as_path(), text); return Ok(()); } @@ -548,11 +547,7 @@ where error: None, } } else { - RawResponse::err( - id, - ErrorCode::InternalError as i32, - e.to_string() - ) + RawResponse::err(id, ErrorCode::InternalError as i32, e.to_string()) } } }, -- cgit v1.2.3 From 125d6e74f71eb71199fe03ea7f6a42cf852a4de2 Mon Sep 17 00:00:00 2001 From: Muhammad Mominul Huque Date: Sat, 15 Jun 2019 13:53:37 +0600 Subject: Fix a doc test --- crates/gen_lsp_server/src/lib.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/crates/gen_lsp_server/src/lib.rs b/crates/gen_lsp_server/src/lib.rs index 8e7697ed4..7ecef83cb 100644 --- a/crates/gen_lsp_server/src/lib.rs +++ b/crates/gen_lsp_server/src/lib.rs @@ -5,11 +5,12 @@ //! Run with `RUST_LOG=gen_lsp_server=debug` to see all the messages. //! //! ```no_run +//! use std::error::Error; //! use crossbeam_channel::{Sender, Receiver}; //! use lsp_types::{ServerCapabilities, InitializeParams, request::{GotoDefinition, GotoDefinitionResponse}}; //! use gen_lsp_server::{run_server, stdio_transport, handle_shutdown, RawMessage, RawResponse}; //! -//! fn main() -> Result<(), failure::Error> { +//! fn main() -> Result<(), Box> { //! let (receiver, sender, io_threads) = stdio_transport(); //! run_server( //! ServerCapabilities::default(), @@ -25,7 +26,7 @@ //! _params: InitializeParams, //! receiver: &Receiver, //! sender: &Sender, -//! ) -> Result<(), failure::Error> { +//! ) -> Result<(), Box> { //! for msg in receiver { //! match msg { //! RawMessage::Request(req) => { -- cgit v1.2.3 From 408e173bb9737f9484ca773ee57cc791f5c57e16 Mon Sep 17 00:00:00 2001 From: Muhammad Mominul Huque Date: Sat, 15 Jun 2019 14:04:26 +0600 Subject: Cleanup --- crates/ra_cli/src/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/ra_cli/src/main.rs b/crates/ra_cli/src/main.rs index 04370539a..1db98aec1 100644 --- a/crates/ra_cli/src/main.rs +++ b/crates/ra_cli/src/main.rs @@ -8,7 +8,7 @@ use ra_syntax::{SourceFile, TreeArc, AstNode}; use flexi_logger::Logger; use ra_prof::profile; -type Result = ::std::result::Result>; +type Result = std::result::Result>; fn main() -> Result<()> { Logger::with_env().start()?; -- cgit v1.2.3