Unnamed repository; edit this file 'description' to name the repository.
Temporarily allow all lints which occur
They will be removed one by one
Johann Hemmann 2024-01-19
parent 1889c6c · commit 3041164
-rw-r--r--Cargo.toml72
-rw-r--r--crates/base-db/src/input.rs1
-rw-r--r--crates/hir-def/src/lang_item.rs1
-rw-r--r--crates/hir-expand/src/builtin_fn_macro.rs1
-rw-r--r--crates/hir-expand/src/quote.rs1
-rw-r--r--crates/ide/src/syntax_tree.rs1
-rw-r--r--crates/rust-analyzer/src/cli/rustc_tests.rs1
-rw-r--r--crates/span/src/lib.rs2
-rw-r--r--lib/la-arena/src/map.rs1
9 files changed, 69 insertions, 12 deletions
diff --git a/Cargo.toml b/Cargo.toml
index 40e9e2aa4f..544762627e 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -144,9 +144,9 @@ unused_lifetimes = "warn"
semicolon_in_expressions_from_macros = "warn"
[workspace.lints.clippy]
-# TODO: Remove the tidy test once the lint table is stable
+# FIXME Remove the tidy test once the lint table is stable
-# lint groups
+## lint groups
complexity = { level = "warn", priority = -1 }
correctness = { level = "deny", priority = -1 }
perf = { level = "deny", priority = -1 }
@@ -154,11 +154,7 @@ restriction = { level = "allow", priority = -1 }
style = { level = "warn", priority = -1 }
suspicious = { level = "warn", priority = -1 }
-# allow following lints
-collapsible_if = "allow"
-needless_pass_by_value = "allow"
-nonminimal_bool = "allow"
-redundant_pattern_matching = "allow"
+## allow following lints
# () makes a fine error in most cases
result_unit_err = "allow"
# We don't expose public APIs that matter like this
@@ -171,16 +167,68 @@ enum_variant_names = "allow"
new_ret_no_self = "allow"
non_canonical_clone_impl = "allow"
non_canonical_partial_ord_impl = "allow"
-format_collect = "allow"
+derived_hash_with_manual_eq = "allow"
-# Following lints should be tackled at some point
+## Following lints should be tackled at some point
+bind_instead_of_map = "allow"
+borrowed_box = "allow"
+borrow_deref_ref = "allow"
+collapsible_if = "allow"
+collapsible_match = "allow"
+clone_on_copy = "allow"
+derivable_impls = "allow"
+double_parens = "allow"
+explicit_auto_deref = "allow"
+field_reassign_with_default = "allow"
+forget_non_drop = "allow"
+format_collect = "allow"
+for_kv_map = "allow"
+filter_map_bool_then = "allow"
+from_str_radix_10 = "allow"
+get_first = "allow"
+if_same_then_else = "allow"
+large_enum_variant = "allow"
+let_and_return = "allow"
+manual_find = "allow"
+manual_map = "allow"
+map_clone = "allow"
+match_like_matches_macro = "allow"
+match_single_binding = "allow"
+needless_borrow = "allow"
+needless_doctest_main = "allow"
+needless_lifetimes = "allow"
+needless_pass_by_value = "allow"
+needless_return = "allow"
+new_without_default = "allow"
+nonminimal_bool = "allow"
+non_minimal_cfg = "allow"
+only_used_in_recursion = "allow"
+op_ref = "allow"
+option_map_unit_fn = "allow"
+partialeq_to_none = "allow"
+ptr_arg = "allow"
+redundant_closure = "allow"
+redundant_pattern_matching = "allow"
+search_is_some = "allow"
+self_named_constructors = "allow"
+single_match = "allow"
+skip_while_next = "allow"
too_many_arguments = "allow"
+toplevel_ref_arg = "allow"
type_complexity = "allow"
-
-# warn at following lints
+unnecessary_cast = "allow"
+unnecessary_filter_map = "allow"
+unnecessary_lazy_evaluations = "allow"
+unnecessary_mut_passed = "allow"
+useless_conversion = "allow"
+useless_format = "allow"
+wildcard_in_or_patterns = "allow"
+wrong_self_convention = "allow"
+
+## warn at following lints
dbg_macro = "warn"
todo = "warn"
-unimplemented = "warn"
+unimplemented = "allow"
rc_buffer = "warn"
# FIXME enable this, we use this pattern a lot so its annoying work ...
# str_to_string = "warn"
diff --git a/crates/base-db/src/input.rs b/crates/base-db/src/input.rs
index 3f84657d01..1fa5f33575 100644
--- a/crates/base-db/src/input.rs
+++ b/crates/base-db/src/input.rs
@@ -261,6 +261,7 @@ impl ReleaseChannel {
}
}
+ #[allow(clippy::should_implement_trait)]
pub fn from_str(str: &str) -> Option<Self> {
Some(match str {
"" | "stable" => ReleaseChannel::Stable,
diff --git a/crates/hir-def/src/lang_item.rs b/crates/hir-def/src/lang_item.rs
index adb2d78543..dd2e873557 100644
--- a/crates/hir-def/src/lang_item.rs
+++ b/crates/hir-def/src/lang_item.rs
@@ -260,6 +260,7 @@ macro_rules! language_item_table {
}
/// Opposite of [`LangItem::name`]
+ #[allow(clippy::should_implement_trait)]
pub fn from_str(name: &str) -> Option<Self> {
match name {
$( stringify!($name) => Some(LangItem::$variant), )*
diff --git a/crates/hir-expand/src/builtin_fn_macro.rs b/crates/hir-expand/src/builtin_fn_macro.rs
index 8fc78b3eca..29d389f656 100644
--- a/crates/hir-expand/src/builtin_fn_macro.rs
+++ b/crates/hir-expand/src/builtin_fn_macro.rs
@@ -392,6 +392,7 @@ fn unreachable_expand(
ExpandResult::ok(call)
}
+#[allow(clippy::never_loop)]
fn use_panic_2021(db: &dyn ExpandDatabase, span: Span) -> bool {
// To determine the edition, we check the first span up the expansion
// stack that does not have #[allow_internal_unstable(edition_panic)].
diff --git a/crates/hir-expand/src/quote.rs b/crates/hir-expand/src/quote.rs
index 04b427e8b4..824f3c3e8f 100644
--- a/crates/hir-expand/src/quote.rs
+++ b/crates/hir-expand/src/quote.rs
@@ -1,4 +1,5 @@
//! A simplified version of quote-crate like quasi quote macro
+#![allow(clippy::crate_in_macro_def)]
use span::Span;
use syntax::format_smolstr;
diff --git a/crates/ide/src/syntax_tree.rs b/crates/ide/src/syntax_tree.rs
index df19712426..a4aed60969 100644
--- a/crates/ide/src/syntax_tree.rs
+++ b/crates/ide/src/syntax_tree.rs
@@ -52,6 +52,7 @@ fn syntax_tree_for_string(token: &SyntaxToken, text_range: TextRange) -> Option<
}
}
+#[allow(clippy::redundant_locals)]
fn syntax_tree_for_token(node: &SyntaxToken, text_range: TextRange) -> Option<String> {
// Range of the full node
let node_range = node.text_range();
diff --git a/crates/rust-analyzer/src/cli/rustc_tests.rs b/crates/rust-analyzer/src/cli/rustc_tests.rs
index baa85d3295..df0c2d497a 100644
--- a/crates/rust-analyzer/src/cli/rustc_tests.rs
+++ b/crates/rust-analyzer/src/cli/rustc_tests.rs
@@ -226,6 +226,7 @@ const SUPPORTED_DIAGNOSTICS: &[DiagnosticCode] = &[
];
impl flags::RustcTests {
+ #[allow(clippy::redundant_locals)]
pub fn run(self) -> Result<()> {
let mut tester = Tester::new()?;
let walk_dir = WalkDir::new(self.rustc_repo.join("tests/ui"));
diff --git a/crates/span/src/lib.rs b/crates/span/src/lib.rs
index 54fc0225ae..f6569050b4 100644
--- a/crates/span/src/lib.rs
+++ b/crates/span/src/lib.rs
@@ -225,6 +225,7 @@ impl fmt::Debug for HirFileIdRepr {
}
impl From<FileId> for HirFileId {
+ #[allow(clippy::let_unit_value)]
fn from(id: FileId) -> Self {
_ = Self::ASSERT_MAX_FILE_ID_IS_SAME;
assert!(id.index() <= Self::MAX_HIR_FILE_ID, "FileId index {} is too large", id.index());
@@ -233,6 +234,7 @@ impl From<FileId> for HirFileId {
}
impl From<MacroFileId> for HirFileId {
+ #[allow(clippy::let_unit_value)]
fn from(MacroFileId { macro_call_id: MacroCallId(id) }: MacroFileId) -> Self {
_ = Self::ASSERT_MAX_FILE_ID_IS_SAME;
let id = id.as_u32();
diff --git a/lib/la-arena/src/map.rs b/lib/la-arena/src/map.rs
index 750f345b53..7e2c1f801d 100644
--- a/lib/la-arena/src/map.rs
+++ b/lib/la-arena/src/map.rs
@@ -252,6 +252,7 @@ where
{
/// Ensures a value is in the entry by inserting the default value if empty, and returns a mutable reference
/// to the value in the entry.
+ #[allow(clippy::unwrap_or_default)]
pub fn or_default(self) -> &'a mut V {
self.or_insert_with(Default::default)
}