Introduce more appropriate assertion mechanism

rust-analyzer is a long-running program, so we *should* handle assertion
failures.

See also https://www.sqlite.org/assert.html.
This commit is contained in:
Aleksey Kladov
2021-01-14 18:25:19 +03:00
parent 865e05b5b4
commit 8dc68ecdfc
8 changed files with 72 additions and 7 deletions

View File

@@ -70,6 +70,11 @@ fn setup_logging(log_file: Option<PathBuf>) -> Result<()> {
tracing_setup::setup_tracing()?;
profile::init();
if !cfg!(debug_assertions) {
stdx::set_assert_hook(|loc, args| log::error!("assertion failed at {}: {}", loc, args));
}
Ok(())
}