Skip to content

Commit f92934f

Browse files
Remove SHOULD_EMIT_LINTS in favor of should_emit
1 parent 7cd9505 commit f92934f

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

compiler/rustc_attr_parsing/src/context.rs

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,6 @@ mod private {
224224
#[allow(private_interfaces)]
225225
pub trait Stage: Sized + 'static + Sealed {
226226
type Id: Copy;
227-
const SHOULD_EMIT_LINTS: bool;
228227

229228
fn parsers() -> &'static GroupType<Self>;
230229

@@ -233,13 +232,14 @@ pub trait Stage: Sized + 'static + Sealed {
233232
sess: &'sess Session,
234233
diag: impl for<'x> Diagnostic<'x>,
235234
) -> ErrorGuaranteed;
235+
236+
fn should_emit(&self) -> ShouldEmit;
236237
}
237238

238239
// allow because it's a sealed trait
239240
#[allow(private_interfaces)]
240241
impl Stage for Early {
241242
type Id = NodeId;
242-
const SHOULD_EMIT_LINTS: bool = false;
243243

244244
fn parsers() -> &'static GroupType<Self> {
245245
&early::ATTRIBUTE_PARSERS
@@ -255,13 +255,16 @@ impl Stage for Early {
255255
sess.dcx().create_err(diag).delay_as_bug()
256256
}
257257
}
258+
259+
fn should_emit(&self) -> ShouldEmit {
260+
self.emit_errors
261+
}
258262
}
259263

260264
// allow because it's a sealed trait
261265
#[allow(private_interfaces)]
262266
impl Stage for Late {
263267
type Id = HirId;
264-
const SHOULD_EMIT_LINTS: bool = true;
265268

266269
fn parsers() -> &'static GroupType<Self> {
267270
&late::ATTRIBUTE_PARSERS
@@ -273,6 +276,10 @@ impl Stage for Late {
273276
) -> ErrorGuaranteed {
274277
tcx.dcx().emit_err(diag)
275278
}
279+
280+
fn should_emit(&self) -> ShouldEmit {
281+
ShouldEmit::ErrorsAndLints
282+
}
276283
}
277284

278285
/// used when parsing attributes for miscellaneous things *before* ast lowering
@@ -311,7 +318,7 @@ impl<'f, 'sess: 'f, S: Stage> SharedContext<'f, 'sess, S> {
311318
/// must be delayed until after HIR is built. This method will take care of the details of
312319
/// that.
313320
pub(crate) fn emit_lint(&mut self, lint: AttributeLintKind, span: Span) {
314-
if !S::SHOULD_EMIT_LINTS {
321+
if !self.stage.should_emit().should_emit() {
315322
return;
316323
}
317324
let id = self.target_id;

0 commit comments

Comments
 (0)