From c9f7a3d2060a7b2c6f691f4f4b32328edffcf5bd Mon Sep 17 00:00:00 2001 From: Esteban Küber Date: Thu, 11 Jul 2019 16:59:19 -0700 Subject: Emit dropped unemitted errors to aid in ICE debugging --- src/librustc_errors/diagnostic_builder.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/librustc_errors') diff --git a/src/librustc_errors/diagnostic_builder.rs b/src/librustc_errors/diagnostic_builder.rs index fc74e43ff57..41d0638f7c6 100644 --- a/src/librustc_errors/diagnostic_builder.rs +++ b/src/librustc_errors/diagnostic_builder.rs @@ -380,10 +380,13 @@ impl<'a> Debug for DiagnosticBuilder<'a> { impl<'a> Drop for DiagnosticBuilder<'a> { fn drop(&mut self) { if !panicking() && !self.cancelled() { - let mut db = DiagnosticBuilder::new(self.handler, - Level::Bug, - "Error constructed but not emitted"); + let mut db = DiagnosticBuilder::new( + self.handler, + Level::Bug, + "the following error was constructed but not emitted", + ); db.emit(); + self.emit(); panic!(); } } -- cgit 1.4.1-3-g733a5