diff options
| author | marmeladema <xademax@gmail.com> | 2020-09-01 21:49:36 +0100 |
|---|---|---|
| committer | marmeladema <xademax@gmail.com> | 2020-09-01 22:06:47 +0100 |
| commit | 99c96c5bfe67ccbf7fc379458b8bcf9513bf9b7d (patch) | |
| tree | 46a4b3ead2a2c852662b9df0c4444d896c3eba3c /compiler/rustc_driver/src | |
| parent | 73a7204983a28177b296a3dcd8632540a6fcee1a (diff) | |
| download | rust-99c96c5bfe67ccbf7fc379458b8bcf9513bf9b7d.tar.gz rust-99c96c5bfe67ccbf7fc379458b8bcf9513bf9b7d.zip | |
driver: replace `lazy_static` by `SyncLazy` from std
Diffstat (limited to 'compiler/rustc_driver/src')
| -rw-r--r-- | compiler/rustc_driver/src/lib.rs | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/compiler/rustc_driver/src/lib.rs b/compiler/rustc_driver/src/lib.rs index 0d8332a20ae..c277e314d0e 100644 --- a/compiler/rustc_driver/src/lib.rs +++ b/compiler/rustc_driver/src/lib.rs @@ -11,8 +11,6 @@ #[macro_use] extern crate tracing; -#[macro_use] -extern crate lazy_static; pub extern crate rustc_plugin_impl as plugin; @@ -49,6 +47,7 @@ use std::env; use std::ffi::OsString; use std::fs; use std::io::{self, Read, Write}; +use std::lazy::SyncLazy; use std::mem; use std::panic::{self, catch_unwind}; use std::path::PathBuf; @@ -1142,13 +1141,12 @@ pub fn catch_with_exit_code(f: impl FnOnce() -> interface::Result<()>) -> i32 { } } -lazy_static! { - static ref DEFAULT_HOOK: Box<dyn Fn(&panic::PanicInfo<'_>) + Sync + Send + 'static> = { +static DEFAULT_HOOK: SyncLazy<Box<dyn Fn(&panic::PanicInfo<'_>) + Sync + Send + 'static>> = + SyncLazy::new(|| { let hook = panic::take_hook(); panic::set_hook(Box::new(|info| report_ice(info, BUG_REPORT_URL))); hook - }; -} + }); /// Prints the ICE message, including backtrace and query stack. /// @@ -1223,7 +1221,7 @@ pub fn report_ice(info: &panic::PanicInfo<'_>, bug_report_url: &str) { /// /// A custom rustc driver can skip calling this to set up a custom ICE hook. pub fn install_ice_hook() { - lazy_static::initialize(&DEFAULT_HOOK); + SyncLazy::force(&DEFAULT_HOOK); } /// This allows tools to enable rust logging without having to magically match rustc's |
