X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Flibrustc_errors%2Fdiagnostic_builder.rs;h=fc74e43ff5739e770ec056b8edd45a84acdd18ae;hb=961a9d6e97a37ff1bb33578721dfa8687054c7b8;hp=f74dcd6070c70f6005b4bd541affa541f7abc871;hpb=bd17b5c9a2215cf8be8b2a361976730320a5f00f;p=rust.git diff --git a/src/librustc_errors/diagnostic_builder.rs b/src/librustc_errors/diagnostic_builder.rs index f74dcd6070c..fc74e43ff57 100644 --- a/src/librustc_errors/diagnostic_builder.rs +++ b/src/librustc_errors/diagnostic_builder.rs @@ -100,6 +100,18 @@ pub fn emit(&mut self) { 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) { @@ -336,7 +348,7 @@ pub fn new(handler: &'a Handler, level: Level, message: &str) -> DiagnosticBuild /// Convenience function for internal use, clients should use one of the /// struct_* methods on Handler. - pub fn new_with_code(handler: &'a Handler, + crate fn new_with_code(handler: &'a Handler, level: Level, code: Option, message: &str)