[][src]Function rustc_driver::catch_fatal_errors

pub fn catch_fatal_errors<F: FnOnce() -> R, R>(f: F) -> Result<R, ErrorReported>

Runs a closure and catches unwinds triggered by fatal errors.

The compiler currently unwinds with a special sentinel value to abort compilation on fatal errors. This function catches that sentinel and turns the panic into a Result instead.