Skip to content

Commit

Permalink
Renaming the lint to branches_sharing_code and fixing typos
Browse files Browse the repository at this point in the history
  • Loading branch information
xFrednet committed Apr 1, 2021
1 parent 128b71b commit 610535c
Show file tree
Hide file tree
Showing 22 changed files with 71 additions and 69 deletions.
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2129,6 +2129,7 @@ Released 2018-09-13
[`borrowed_box`]: https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box
[`box_vec`]: https://rust-lang.github.io/rust-clippy/master/index.html#box_vec
[`boxed_local`]: https://rust-lang.github.io/rust-clippy/master/index.html#boxed_local
[`branches_sharing_code`]: https://rust-lang.github.io/rust-clippy/master/index.html#branches_sharing_code
[`builtin_type_shadow`]: https://rust-lang.github.io/rust-clippy/master/index.html#builtin_type_shadow
[`bytes_nth`]: https://rust-lang.github.io/rust-clippy/master/index.html#bytes_nth
[`cargo_common_metadata`]: https://rust-lang.github.io/rust-clippy/master/index.html#cargo_common_metadata
Expand Down Expand Up @@ -2455,7 +2456,6 @@ Released 2018-09-13
[`shadow_reuse`]: https://rust-lang.github.io/rust-clippy/master/index.html#shadow_reuse
[`shadow_same`]: https://rust-lang.github.io/rust-clippy/master/index.html#shadow_same
[`shadow_unrelated`]: https://rust-lang.github.io/rust-clippy/master/index.html#shadow_unrelated
[`shared_code_in_if_blocks`]: https://rust-lang.github.io/rust-clippy/master/index.html#shared_code_in_if_blocks
[`short_circuit_statement`]: https://rust-lang.github.io/rust-clippy/master/index.html#short_circuit_statement
[`should_assert_eq`]: https://rust-lang.github.io/rust-clippy/master/index.html#should_assert_eq
[`should_implement_trait`]: https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait
Expand Down
35 changes: 18 additions & 17 deletions clippy_lints/src/copies.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
use crate::utils::{
both, count_eq, eq_expr_value, first_line_of_span, get_enclosing_block, get_parent_expr, if_sequence, in_macro,
indent_of, parent_node_is_if_expr, reindent_multiline, run_lints, search_same, snippet, snippet_opt,
span_lint_and_note, span_lint_and_then, ContainsName, SpanlessEq, SpanlessHash,
use clippy_utils::diagnostics::{span_lint_and_note, span_lint_and_then};
use clippy_utils::source::{first_line_of_span, indent_of, reindent_multiline, snippet, snippet_opt};
use clippy_utils::{
both, count_eq, eq_expr_value, get_enclosing_block, get_parent_expr, if_sequence, in_macro, parent_node_is_if_expr,
run_lints, search_same, ContainsName, SpanlessEq, SpanlessHash,
};
use if_chain::if_chain;
use rustc_data_structures::fx::FxHashSet;
Expand Down Expand Up @@ -141,7 +142,7 @@ declare_clippy_lint! {
/// 42
/// };
/// ```
pub SHARED_CODE_IN_IF_BLOCKS,
pub BRANCHES_SHARING_CODE,
complexity,
"`if` statement with shared code in all blocks"
}
Expand All @@ -150,7 +151,7 @@ declare_lint_pass!(CopyAndPaste => [
IFS_SAME_COND,
SAME_FUNCTIONS_IN_IF_CONDITION,
IF_SAME_THEN_ELSE,
SHARED_CODE_IN_IF_BLOCKS
BRANCHES_SHARING_CODE
]);

impl<'tcx> LateLintPass<'tcx> for CopyAndPaste {
Expand All @@ -173,17 +174,17 @@ impl<'tcx> LateLintPass<'tcx> for CopyAndPaste {
lint_same_cond(cx, &conds);
lint_same_fns_in_if_cond(cx, &conds);
// Block duplication
lint_same_then_else(cx, &blocks, conds.len() != blocks.len(), expr);
lint_same_then_else(cx, &blocks, conds.len() == blocks.len(), expr);
}
}
}
}

/// Implementation of `SHARED_CODE_IN_IF_BLOCKS` and `IF_SAME_THEN_ELSE` if the blocks are equal.
/// Implementation of `BRANCHES_SHARING_CODE` and `IF_SAME_THEN_ELSE` if the blocks are equal.
fn lint_same_then_else<'tcx>(
cx: &LateContext<'tcx>,
blocks: &[&Block<'tcx>],
has_unconditional_else: bool,
has_conditional_else: bool,
expr: &'tcx Expr<'_>,
) {
// We only lint ifs with multiple blocks
Expand All @@ -195,8 +196,8 @@ fn lint_same_then_else<'tcx>(
let has_expr = blocks[0].expr.is_some();
let (start_eq, mut end_eq, expr_eq) = scan_block_for_eq(cx, blocks);

// SHARED_CODE_IN_IF_BLOCKS prerequisites
if !has_unconditional_else || (start_eq == 0 && end_eq == 0 && (has_expr && !expr_eq)) {
// BRANCHES_SHARING_CODE prerequisites
if has_conditional_else || (start_eq == 0 && end_eq == 0 && (has_expr && !expr_eq)) {
return;
}

Expand All @@ -210,7 +211,7 @@ fn lint_same_then_else<'tcx>(
intravisit::walk_stmt(&mut start_walker, stmt);
}

emit_shared_code_in_if_blocks_lint(
emit_branches_sharing_code_lint(
cx,
start_eq,
0,
Expand Down Expand Up @@ -277,7 +278,7 @@ fn lint_same_then_else<'tcx>(
});
}

emit_shared_code_in_if_blocks_lint(
emit_branches_sharing_code_lint(
cx,
start_eq,
end_eq,
Expand All @@ -298,7 +299,7 @@ fn scan_block_for_eq(cx: &LateContext<'tcx>, blocks: &[&Block<'tcx>]) -> (usize,
let r_stmts = win[1].stmts;

// `SpanlessEq` now keeps track of the locals and is therefore context sensitive clippy#6752.
// The comparison therefor needs to be done in a way that builds the correct context.
// The comparison therefore needs to be done in a way that builds the correct context.
let mut evaluator = SpanlessEq::new(cx);
let mut evaluator = evaluator.inter_expr();

Expand Down Expand Up @@ -387,7 +388,7 @@ fn check_for_warn_of_moved_symbol(
})
}

fn emit_shared_code_in_if_blocks_lint(
fn emit_branches_sharing_code_lint(
cx: &LateContext<'tcx>,
start_stmts: usize,
end_stmts: usize,
Expand Down Expand Up @@ -472,7 +473,7 @@ fn emit_shared_code_in_if_blocks_lint(
let (place_str, span, sugg) = suggestions.pop().unwrap();
let msg = format!("all if blocks contain the same code at the {}", place_str);
let help = format!("consider moving the {} statements out like this", place_str);
span_lint_and_then(cx, SHARED_CODE_IN_IF_BLOCKS, span, msg.as_str(), |diag| {
span_lint_and_then(cx, BRANCHES_SHARING_CODE, span, msg.as_str(), |diag| {
diag.span_suggestion(span, help.as_str(), sugg, Applicability::Unspecified);

add_optional_msgs(diag);
Expand All @@ -482,7 +483,7 @@ fn emit_shared_code_in_if_blocks_lint(
let (_, start_span, start_sugg) = suggestions.pop().unwrap();
span_lint_and_then(
cx,
SHARED_CODE_IN_IF_BLOCKS,
BRANCHES_SHARING_CODE,
start_span,
"all if blocks contain the same code at the start and the end. Here at the start",
move |diag| {
Expand Down
5 changes: 3 additions & 2 deletions clippy_lints/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -614,10 +614,10 @@ pub fn register_plugins(store: &mut rustc_lint::LintStore, sess: &Session, conf:
&collapsible_if::COLLAPSIBLE_IF,
&collapsible_match::COLLAPSIBLE_MATCH,
&comparison_chain::COMPARISON_CHAIN,
&copies::BRANCHES_SHARING_CODE,
&copies::IFS_SAME_COND,
&copies::IF_SAME_THEN_ELSE,
&copies::SAME_FUNCTIONS_IN_IF_CONDITION,
&copies::SHARED_CODE_IN_IF_BLOCKS,
&copy_iterator::COPY_ITERATOR,
&create_dir::CREATE_DIR,
&dbg_macro::DBG_MACRO,
Expand Down Expand Up @@ -1484,9 +1484,9 @@ pub fn register_plugins(store: &mut rustc_lint::LintStore, sess: &Session, conf:
LintId::of(&collapsible_if::COLLAPSIBLE_IF),
LintId::of(&collapsible_match::COLLAPSIBLE_MATCH),
LintId::of(&comparison_chain::COMPARISON_CHAIN),
LintId::of(&copies::BRANCHES_SHARING_CODE),
LintId::of(&copies::IFS_SAME_COND),
LintId::of(&copies::IF_SAME_THEN_ELSE),
LintId::of(&copies::SHARED_CODE_IN_IF_BLOCKS),
LintId::of(&default::FIELD_REASSIGN_WITH_DEFAULT),
LintId::of(&derive::DERIVE_HASH_XOR_EQ),
LintId::of(&derive::DERIVE_ORD_XOR_PARTIAL_ORD),
Expand Down Expand Up @@ -1873,6 +1873,7 @@ pub fn register_plugins(store: &mut rustc_lint::LintStore, sess: &Session, conf:
LintId::of(&booleans::NONMINIMAL_BOOL),
LintId::of(&casts::CHAR_LIT_AS_U8),
LintId::of(&casts::UNNECESSARY_CAST),
LintId::of(&copies::BRANCHES_SHARING_CODE),
LintId::of(&double_comparison::DOUBLE_COMPARISONS),
LintId::of(&double_parens::DOUBLE_PARENS),
LintId::of(&duration_subsec::DURATION_SUBSEC),
Expand Down
2 changes: 1 addition & 1 deletion clippy_utils/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ pub mod usage;
pub mod visitors;

pub use self::attrs::*;
pub use self::hir_utils::{both, eq_expr_value, over, SpanlessEq, SpanlessHash};
pub use self::hir_utils::{both, count_eq, eq_expr_value, over, SpanlessEq, SpanlessHash};

use std::collections::hash_map::Entry;
use std::hash::BuildHasherDefault;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#![allow(dead_code)]
#![deny(clippy::if_same_then_else, clippy::shared_code_in_if_blocks)]
#![deny(clippy::if_same_then_else, clippy::branches_sharing_code)]

// This tests the shared_code_in_if_blocks lint at the end of blocks
// This tests the branches_sharing_code lint at the end of blocks

fn simple_examples() {
let x = 1;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
error: all if blocks contain the same code at the end
--> $DIR/shared_at_bot.rs:30:5
--> $DIR/shared_at_bottom.rs:30:5
|
LL | / let result = false;
LL | | println!("Block end!");
Expand All @@ -8,10 +8,10 @@ LL | | };
| |_____^
|
note: the lint level is defined here
--> $DIR/shared_at_bot.rs:2:36
--> $DIR/shared_at_bottom.rs:2:36
|
LL | #![deny(clippy::if_same_then_else, clippy::shared_code_in_if_blocks)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
LL | #![deny(clippy::if_same_then_else, clippy::branches_sharing_code)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
= note: The end suggestion probably needs some adjustments to use the expression result correctly
help: consider moving the end statements out like this
|
Expand All @@ -22,7 +22,7 @@ LL | result;
|

error: all if blocks contain the same code at the end
--> $DIR/shared_at_bot.rs:48:5
--> $DIR/shared_at_bottom.rs:48:5
|
LL | / println!("Same end of block");
LL | | }
Expand All @@ -35,7 +35,7 @@ LL | println!("Same end of block");
|

error: all if blocks contain the same code at the end
--> $DIR/shared_at_bot.rs:65:5
--> $DIR/shared_at_bottom.rs:65:5
|
LL | / println!(
LL | | "I'm moveable because I know: `outer_scope_value`: '{}'",
Expand All @@ -54,7 +54,7 @@ LL | );
|

error: all if blocks contain the same code at the end
--> $DIR/shared_at_bot.rs:77:9
--> $DIR/shared_at_bottom.rs:77:9
|
LL | / println!("Hello World");
LL | | }
Expand All @@ -67,7 +67,7 @@ LL | println!("Hello World");
|

error: all if blocks contain the same code at the end
--> $DIR/shared_at_bot.rs:93:5
--> $DIR/shared_at_bottom.rs:93:5
|
LL | / let later_used_value = "A string value";
LL | | println!("{}", later_used_value);
Expand All @@ -84,7 +84,7 @@ LL | println!("{}", later_used_value);
|

error: all if blocks contain the same code at the end
--> $DIR/shared_at_bot.rs:106:5
--> $DIR/shared_at_bottom.rs:106:5
|
LL | / let simple_examples = "I now identify as a &str :)";
LL | | println!("This is the new simple_example: {}", simple_examples);
Expand All @@ -100,7 +100,7 @@ LL | println!("This is the new simple_example: {}", simple_examples);
|

error: all if blocks contain the same code at the end
--> $DIR/shared_at_bot.rs:171:5
--> $DIR/shared_at_bottom.rs:171:5
|
LL | / x << 2
LL | | };
Expand All @@ -114,7 +114,7 @@ LL | x << 2;
|

error: all if blocks contain the same code at the end
--> $DIR/shared_at_bot.rs:178:5
--> $DIR/shared_at_bottom.rs:178:5
|
LL | / x * 4
LL | | }
Expand All @@ -128,7 +128,7 @@ LL | x * 4
|

error: all if blocks contain the same code at the end
--> $DIR/shared_at_bot.rs:190:44
--> $DIR/shared_at_bottom.rs:190:44
|
LL | if x == 17 { b = 1; a = 0x99; } else { a = 0x99; }
| ^^^^^^^^^^^
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#![allow(dead_code, clippy::eval_order_dependence)]
#![deny(clippy::if_same_then_else, clippy::shared_code_in_if_blocks)]
#![deny(clippy::if_same_then_else, clippy::branches_sharing_code)]

// This tests the shared_code_in_if_blocks lint at the start of blocks
// This tests the branches_sharing_code lint at the start of blocks

fn simple_examples() {
let x = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ LL | | println!("Hello World!");
note: the lint level is defined here
--> $DIR/shared_at_top.rs:2:36
|
LL | #![deny(clippy::if_same_then_else, clippy::shared_code_in_if_blocks)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
LL | #![deny(clippy::if_same_then_else, clippy::branches_sharing_code)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
help: consider moving the start statements out like this
|
LL | println!("Hello World!");
Expand Down Expand Up @@ -106,7 +106,7 @@ LL | | } else {
note: the lint level is defined here
--> $DIR/shared_at_top.rs:2:9
|
LL | #![deny(clippy::if_same_then_else, clippy::shared_code_in_if_blocks)]
LL | #![deny(clippy::if_same_then_else, clippy::branches_sharing_code)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^
note: same as this
--> $DIR/shared_at_top.rs:98:12
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#![allow(dead_code)]
#![deny(clippy::if_same_then_else, clippy::shared_code_in_if_blocks)]
#![deny(clippy::if_same_then_else, clippy::branches_sharing_code)]

// shared_code_in_if_blocks at the top and bottom of the if blocks
// branches_sharing_code at the top and bottom of the if blocks

struct DataPack {
id: u32,
Expand Down
Loading

0 comments on commit 610535c

Please sign in to comment.