Merge branch 'master' into feature/issue/1856

# Conflicts:
#	crates/ra_assists/src/ast_editor.rs
This commit is contained in:
Alexander Andreev 2019-09-30 12:07:26 +03:00
commit 81efd696cc
53 changed files with 1180 additions and 957 deletions

View file

@ -32,11 +32,10 @@ pub trait CheckCanceled {
fn catch_canceled<F, T>(&self, f: F) -> Result<T, Canceled>
where
Self: Sized,
Self: Sized + panic::RefUnwindSafe,
F: FnOnce(&Self) -> T + panic::UnwindSafe,
{
let this = panic::AssertUnwindSafe(self);
panic::catch_unwind(|| f(*this)).map_err(|err| match err.downcast::<Canceled>() {
panic::catch_unwind(|| f(self)).map_err(|err| match err.downcast::<Canceled>() {
Ok(canceled) => *canceled,
Err(payload) => panic::resume_unwind(payload),
})