From 5cccda1770f76b8184ea55e4735ce88f824f7fd8 Mon Sep 17 00:00:00 2001 From: Mazdak Farrokhzad Date: Mon, 11 Mar 2019 16:43:27 +0100 Subject: Remove hir::ExprKind::If and replace it with lowering to hir::ExprKind::Match. --- src/librustc_errors/diagnostic_builder.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/librustc_errors') diff --git a/src/librustc_errors/diagnostic_builder.rs b/src/librustc_errors/diagnostic_builder.rs index f74dcd6070c..31f697a724a 100644 --- a/src/librustc_errors/diagnostic_builder.rs +++ b/src/librustc_errors/diagnostic_builder.rs @@ -100,6 +100,18 @@ impl<'a> DiagnosticBuilder<'a> { self.cancel(); } + /// Emit the diagnostic unless `delay` is true, + /// in which case the emission will be delayed as a bug. + /// + /// See `emit` and `delay_as_bug` for details. + pub fn emit_unless(&mut self, delay: bool) { + if delay { + self.delay_as_bug() + } else { + self.emit() + } + } + /// Buffers the diagnostic for later emission, unless handler /// has disabled such buffering. pub fn buffer(mut self, buffered_diagnostics: &mut Vec) { -- cgit 1.4.1-3-g733a5