Needless continue: This is a complete rewrite of this lint as an early-pass lint.

The previous version had troubles computing suggestions without macro expansions
creeping in. This fixes it by using original_sp, which works on AST nodes.
This commit is contained in:
Yati Sagade
2016-08-21 23:18:58 +02:00
parent 0432f1efd3
commit 240471f926
3 changed files with 472 additions and 0 deletions

View File

@@ -107,6 +107,7 @@ pub mod mutex_atomic;
pub mod needless_bool;
pub mod needless_borrow;
pub mod needless_pass_by_value;
pub mod needless_continue;
pub mod needless_update;
pub mod neg_multiply;
pub mod new_without_default;
@@ -219,6 +220,7 @@ pub fn register_plugins(reg: &mut rustc_plugin::Registry) {
reg.register_late_lint_pass(box approx_const::Pass);
reg.register_late_lint_pass(box misc::Pass);
reg.register_early_lint_pass(box precedence::Precedence);
reg.register_early_lint_pass(box needless_continue::NeedlessContinue);
reg.register_late_lint_pass(box eta_reduction::EtaPass);
reg.register_late_lint_pass(box identity_op::IdentityOp);
reg.register_early_lint_pass(box items_after_statements::ItemsAfterStatements);
@@ -461,6 +463,7 @@ pub fn register_plugins(reg: &mut rustc_plugin::Registry) {
needless_bool::NEEDLESS_BOOL,
needless_borrow::NEEDLESS_BORROW,
needless_pass_by_value::NEEDLESS_PASS_BY_VALUE,
needless_continue::NEEDLESS_CONTINUE,
needless_update::NEEDLESS_UPDATE,
neg_multiply::NEG_MULTIPLY,
new_without_default::NEW_WITHOUT_DEFAULT,