Auto merge of #8783 - flip1995:ouir-nursery, r=llogiq
Move only_used_in_recursion to nursery r? `@llogiq` I still think this is the right thing to do for this lint. See: #8782 I want to get this merged before the sync on Thursday, because I want to backport this and the last fix #8691 to beta. changelog: Move [`only_used_in_recursion`] to nursery
This commit is contained in:
commit
38b7a041cc
4 changed files with 9 additions and 3 deletions
|
@ -248,7 +248,6 @@ store.register_group(true, "clippy::all", Some("clippy_all"), vec![
|
|||
LintId::of(non_expressive_names::JUST_UNDERSCORES_AND_DIGITS),
|
||||
LintId::of(non_octal_unix_permissions::NON_OCTAL_UNIX_PERMISSIONS),
|
||||
LintId::of(octal_escapes::OCTAL_ESCAPES),
|
||||
LintId::of(only_used_in_recursion::ONLY_USED_IN_RECURSION),
|
||||
LintId::of(open_options::NONSENSICAL_OPEN_OPTIONS),
|
||||
LintId::of(option_env_unwrap::OPTION_ENV_UNWRAP),
|
||||
LintId::of(overflow_check_conditional::OVERFLOW_CHECK_CONDITIONAL),
|
||||
|
|
|
@ -68,7 +68,6 @@ store.register_group(true, "clippy::complexity", Some("clippy_complexity"), vec!
|
|||
LintId::of(neg_cmp_op_on_partial_ord::NEG_CMP_OP_ON_PARTIAL_ORD),
|
||||
LintId::of(no_effect::NO_EFFECT),
|
||||
LintId::of(no_effect::UNNECESSARY_OPERATION),
|
||||
LintId::of(only_used_in_recursion::ONLY_USED_IN_RECURSION),
|
||||
LintId::of(overflow_check_conditional::OVERFLOW_CHECK_CONDITIONAL),
|
||||
LintId::of(partialeq_ne_impl::PARTIALEQ_NE_IMPL),
|
||||
LintId::of(precedence::PRECEDENCE),
|
||||
|
|
|
@ -20,6 +20,7 @@ store.register_group(true, "clippy::nursery", Some("clippy_nursery"), vec![
|
|||
LintId::of(mutex_atomic::MUTEX_INTEGER),
|
||||
LintId::of(non_send_fields_in_send_ty::NON_SEND_FIELDS_IN_SEND_TY),
|
||||
LintId::of(nonstandard_macro_braces::NONSTANDARD_MACRO_BRACES),
|
||||
LintId::of(only_used_in_recursion::ONLY_USED_IN_RECURSION),
|
||||
LintId::of(option_if_let_else::OPTION_IF_LET_ELSE),
|
||||
LintId::of(path_buf_push_overwrite::PATH_BUF_PUSH_OVERWRITE),
|
||||
LintId::of(redundant_pub_crate::REDUNDANT_PUB_CRATE),
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
use std::collections::VecDeque;
|
||||
|
||||
use clippy_utils::diagnostics::span_lint_and_sugg;
|
||||
use clippy_utils::is_lint_allowed;
|
||||
use itertools::{izip, Itertools};
|
||||
use rustc_ast::{walk_list, Label, Mutability};
|
||||
use rustc_data_structures::fx::{FxHashMap, FxHashSet};
|
||||
|
@ -33,6 +34,9 @@ declare_clippy_lint! {
|
|||
/// and the assigned variables are also only in recursion, it is useless.
|
||||
///
|
||||
/// ### Known problems
|
||||
/// Too many code paths in the linting code are currently untested and prone to produce false
|
||||
/// positives or are prone to have performance implications.
|
||||
///
|
||||
/// In some cases, this would not catch all useless arguments.
|
||||
///
|
||||
/// ```rust
|
||||
|
@ -85,7 +89,7 @@ declare_clippy_lint! {
|
|||
/// ```
|
||||
#[clippy::version = "1.60.0"]
|
||||
pub ONLY_USED_IN_RECURSION,
|
||||
complexity,
|
||||
nursery,
|
||||
"arguments that is only used in recursion can be removed"
|
||||
}
|
||||
declare_lint_pass!(OnlyUsedInRecursion => [ONLY_USED_IN_RECURSION]);
|
||||
|
@ -100,6 +104,9 @@ impl<'tcx> LateLintPass<'tcx> for OnlyUsedInRecursion {
|
|||
_: Span,
|
||||
id: HirId,
|
||||
) {
|
||||
if is_lint_allowed(cx, ONLY_USED_IN_RECURSION, id) {
|
||||
return;
|
||||
}
|
||||
if let FnKind::ItemFn(ident, ..) | FnKind::Method(ident, ..) = kind {
|
||||
let def_id = id.owner.to_def_id();
|
||||
let data = cx.tcx.def_path(def_id).data;
|
||||
|
|
Loading…
Add table
Reference in a new issue