]> git.lizzy.rs Git - rust.git/commitdiff
Fix panic context
authorAleksey Kladov <aleksey.kladov@gmail.com>
Fri, 23 Oct 2020 13:18:33 +0000 (15:18 +0200)
committerAleksey Kladov <aleksey.kladov@gmail.com>
Fri, 23 Oct 2020 13:18:33 +0000 (15:18 +0200)
crates/rust-analyzer/src/dispatch.rs
crates/stdx/src/panic_context.rs

index 9c8815e29e8875d14b5f7bd4bc833ee84e412076..7a87515e9aef0cac14177a68ce281c82886c1b36 100644 (file)
@@ -34,7 +34,7 @@ pub(crate) fn on_sync<R>(
         };
         let world = panic::AssertUnwindSafe(&mut *self.global_state);
         let response = panic::catch_unwind(move || {
-            stdx::panic_context::enter(format!("request: {} {:#?}", R::METHOD, params));
+            let _pctx = stdx::panic_context::enter(format!("request: {} {:#?}", R::METHOD, params));
             let result = f(world.0, params);
             result_to_response::<R>(id, result)
         })
@@ -64,7 +64,7 @@ pub(crate) fn on<R>(
             let world = self.global_state.snapshot();
 
             move || {
-                let _ctx =
+                let _pctx =
                     stdx::panic_context::enter(format!("request: {} {:#?}", R::METHOD, params));
                 let result = f(world, params);
                 Task::Response(result_to_response::<R>(id, result))
@@ -160,7 +160,7 @@ pub(crate) fn on<N>(
                 return Ok(self);
             }
         };
-        stdx::panic_context::enter(format!("notification: {}", N::METHOD));
+        let _pctx = stdx::panic_context::enter(format!("notification: {}", N::METHOD));
         f(self.global_state, params)?;
         Ok(self)
     }
index fd232e0cce5b3d24f613aba630b469859dcc3423..8d51e20d39efc5acc0684490277036ea2fe3bc74 100644 (file)
@@ -4,7 +4,7 @@
 
 use std::{cell::RefCell, panic, sync::Once};
 
-pub fn enter(context: String) -> impl Drop {
+pub fn enter(context: String) -> PanicContext {
     static ONCE: Once = Once::new();
     ONCE.call_once(PanicContext::init);
 
@@ -13,7 +13,7 @@ pub fn enter(context: String) -> impl Drop {
 }
 
 #[must_use]
-struct PanicContext {
+pub struct PanicContext {
     _priv: (),
 }