Skip to content

Commit

Permalink
Rollup merge of rust-lang#93229 - mark-i-m:noquiet, r=eddyb
Browse files Browse the repository at this point in the history
Remove DiagnosticBuilder.quiet

r? `@eddyb`

cc rust-lang#69426 `@GuillaumeGomez` `@Manishearth`
  • Loading branch information
matthiaskrgr authored Jan 23, 2022
2 parents 8810af8 + cf382de commit a1645e5
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 25 deletions.
17 changes: 1 addition & 16 deletions compiler/rustc_errors/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -445,9 +445,6 @@ struct HandlerInner {
deduplicated_warn_count: usize,

future_breakage_diagnostics: Vec<Diagnostic>,

/// If set to `true`, no warning or error will be emitted.
quiet: bool,
}

/// A key denoting where from a diagnostic was stashed.
Expand Down Expand Up @@ -563,19 +560,10 @@ impl Handler {
emitted_diagnostics: Default::default(),
stashed_diagnostics: Default::default(),
future_breakage_diagnostics: Vec::new(),
quiet: false,
}),
}
}

pub fn with_disabled_diagnostic<T, F: FnOnce() -> T>(&self, f: F) -> T {
let prev = self.inner.borrow_mut().quiet;
self.inner.borrow_mut().quiet = true;
let ret = f();
self.inner.borrow_mut().quiet = prev;
ret
}

// This is here to not allow mutation of flags;
// as of this writing it's only used in tests in librustc_middle.
pub fn can_emit_warnings(&self) -> bool {
Expand Down Expand Up @@ -946,7 +934,7 @@ impl HandlerInner {
}

fn emit_diagnostic(&mut self, diagnostic: &Diagnostic) {
if diagnostic.cancelled() || self.quiet {
if diagnostic.cancelled() {
return;
}

Expand Down Expand Up @@ -1170,9 +1158,6 @@ impl HandlerInner {
}

fn delay_as_bug(&mut self, diagnostic: Diagnostic) {
if self.quiet {
return;
}
if self.flags.report_delayed_bugs {
self.emit_diagnostic(&diagnostic);
}
Expand Down
4 changes: 0 additions & 4 deletions compiler/rustc_session/src/session.rs
Original file line number Diff line number Diff line change
Expand Up @@ -476,10 +476,6 @@ impl Session {
&self.parse_sess.span_diagnostic
}

pub fn with_disabled_diagnostic<T, F: FnOnce() -> T>(&self, f: F) -> T {
self.parse_sess.span_diagnostic.with_disabled_diagnostic(f)
}

/// Analogous to calling methods on the given `DiagnosticBuilder`, but
/// deduplicates on lint ID, span (if any), and message for this `Session`
fn diag_once<'a, 'b>(
Expand Down
12 changes: 7 additions & 5 deletions src/librustdoc/html/render/span_map.rs
Original file line number Diff line number Diff line change
Expand Up @@ -134,11 +134,13 @@ impl<'tcx> Visitor<'tcx> for SpanMapVisitor<'tcx> {
if let Some(hir_id) = segment.hir_id {
let hir = self.tcx.hir();
let body_id = hir.enclosing_body_owner(hir_id);
let typeck_results = self.tcx.sess.with_disabled_diagnostic(|| {
self.tcx.typeck_body(
hir.maybe_body_owned_by(body_id).expect("a body which isn't a body"),
)
});
// FIXME: this is showing error messages for parts of the code that are not
// compiled (because of cfg)!
//
// See discussion in https://github.com/rust-lang/rust/issues/69426#issuecomment-1019412352
let typeck_results = self.tcx.typeck_body(
hir.maybe_body_owned_by(body_id).expect("a body which isn't a body"),
);
if let Some(def_id) = typeck_results.type_dependent_def_id(expr.hir_id) {
self.matches.insert(
segment.ident.span,
Expand Down

0 comments on commit a1645e5

Please sign in to comment.