Skip to content

Commit 68c07db

Browse files
No longer implicitly register lints when registering passes
This is in preparation for on-demand constructing passes
1 parent e1079c8 commit 68c07db

File tree

3 files changed

+8
-5
lines changed

3 files changed

+8
-5
lines changed

src/librustc/lint/context.rs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -169,22 +169,18 @@ impl LintStore {
169169
}
170170

171171
pub fn register_early_pass(&mut self, pass: EarlyLintPassObject) {
172-
self.register_lints(&pass.get_lints());
173172
self.early_passes.as_mut().unwrap().push(pass);
174173
}
175174

176175
pub fn register_pre_expansion_pass(&mut self, pass: EarlyLintPassObject) {
177-
self.register_lints(&pass.get_lints());
178176
self.pre_expansion_passes.as_mut().unwrap().push(pass);
179177
}
180178

181179
pub fn register_late_pass(&mut self, pass: LateLintPassObject) {
182-
self.register_lints(&pass.get_lints());
183180
self.late_passes.lock().as_mut().unwrap().push(pass);
184181
}
185182

186183
pub fn register_late_mod_pass(&mut self, pass: LateLintPassObject) {
187-
self.register_lints(&pass.get_lints());
188184
self.late_module_passes.push(pass);
189185
}
190186

src/librustc_interface/passes.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -299,9 +299,11 @@ pub fn register_plugins<'a>(
299299

300300
let mut ls = sess.lint_store.borrow_mut();
301301
for pass in early_lint_passes {
302+
ls.register_lints(&pass.get_lints());
302303
ls.register_early_pass(pass);
303304
}
304305
for pass in late_lint_passes {
306+
ls.register_lints(&pass.get_lints());
305307
ls.register_late_pass(pass);
306308
}
307309

src/librustc_lint/lib.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,9 @@ pub fn register_builtins(store: &mut lint::LintStore, no_interleave_lints: bool)
205205

206206
macro_rules! register_pass {
207207
($method:ident, $constructor:expr) => (
208-
store.$method(box $constructor);
208+
let obj = box $constructor;
209+
store.register_lints(&obj.get_lints());
210+
store.$method(obj);
209211
)
210212
}
211213

@@ -484,8 +486,11 @@ pub fn register_builtins(store: &mut lint::LintStore, no_interleave_lints: bool)
484486
}
485487

486488
pub fn register_internals(store: &mut lint::LintStore) {
489+
store.register_lints(&DefaultHashTypes::new().get_lints());
487490
store.register_early_pass(box DefaultHashTypes::new());
491+
store.register_lints(&LintPassImpl.get_lints());
488492
store.register_early_pass(box LintPassImpl);
493+
store.register_lints(&TyTyKind.get_lints());
489494
store.register_late_pass(box TyTyKind);
490495
store.register_group(
491496
false,

0 commit comments

Comments
 (0)