From 1627b55028a5e9a4fccad6124bef602d1b55b28b Mon Sep 17 00:00:00 2001 From: Edwin Cheng Date: Fri, 24 Apr 2020 01:38:58 +0800 Subject: Bubble up error --- crates/ra_proc_macro_srv/src/cli.rs | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) (limited to 'crates/ra_proc_macro_srv') diff --git a/crates/ra_proc_macro_srv/src/cli.rs b/crates/ra_proc_macro_srv/src/cli.rs index c7f41e448..ded1bcdbc 100644 --- a/crates/ra_proc_macro_srv/src/cli.rs +++ b/crates/ra_proc_macro_srv/src/cli.rs @@ -4,16 +4,13 @@ use crate::{expand_task, list_macros}; use ra_proc_macro::msg::{self, Message}; use std::io; -pub fn run() { +pub fn run() -> io::Result<()> { loop { - let req = match read_request() { - Err(err) => { - // Panic here, as the stdin pipe may be closed. - // Otherwise, client will be restarted the service anyway. - panic!("Read message error on ra_proc_macro_srv: {}", err); - } - Ok(None) => continue, - Ok(Some(req)) => req, + // bubble up the error for read request, + // as the stdin pipe may be closed. + let req = match read_request()? { + None => continue, + Some(req) => req, }; let res = match req { -- cgit v1.2.3