commit 5c76f15daf69e91eb6a51dae7a0d70ac5731f351
parent faa0ff7cf265b3b7cc9e04a392c90200771ca47f
Author: Zack Newman <zack@philomathiclife.com>
Date: Mon, 23 Jun 2025 10:10:48 -0600
more lints
Diffstat:
M | Cargo.toml | | | 67 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- |
M | src/lib.rs | | | 42 | ++---------------------------------------- |
2 files changed, 68 insertions(+), 41 deletions(-)
diff --git a/Cargo.toml b/Cargo.toml
@@ -10,7 +10,72 @@ name = "zfc"
readme = "README.md"
repository = "https://git.philomathiclife.com/repos/zfc/"
rust-version = "1.85.0"
-version = "0.4.1"
+version = "0.4.2"
+
+[lints.rust]
+ambiguous_negative_literals = { level = "deny", priority = -1 }
+closure_returning_async_block = { level = "deny", priority = -1 }
+deref_into_dyn_supertrait = { level = "deny", priority = -1 }
+ffi_unwind_calls = { level = "deny", priority = -1 }
+future_incompatible = { level = "deny", priority = -1 }
+impl_trait_redundant_captures = { level = "deny", priority = -1 }
+keyword-idents = { level = "deny", priority = -1 }
+let_underscore = { level = "deny", priority = -1 }
+linker_messages = { level = "deny", priority = -1 }
+macro_use_extern_crate = { level = "deny", priority = -1 }
+meta_variable_misuse = { level = "deny", priority = -1 }
+missing_copy_implementations = { level = "deny", priority = -1 }
+missing_debug_implementations = { level = "deny", priority = -1 }
+missing_docs = { level = "deny", priority = -1 }
+non_ascii_idents = { level = "deny", priority = -1 }
+nonstandard_style = { level = "deny", priority = -1 }
+redundant_imports = { level = "deny", priority = -1 }
+redundant_lifetimes = { level = "deny", priority = -1 }
+refining_impl_trait = { level = "deny", priority = -1 }
+rust_2018_compatibility = { level = "deny", priority = -1 }
+rust_2018_idioms = { level = "deny", priority = -1 }
+rust_2021_compatibility = { level = "deny", priority = -1 }
+rust_2024_compatibility = { level = "deny", priority = -1 }
+single_use_lifetimes = { level = "deny", priority = -1 }
+trivial_casts = { level = "deny", priority = -1 }
+trivial_numeric_casts = { level = "deny", priority = -1 }
+unit_bindings = { level = "deny", priority = -1 }
+unknown_lints = { level = "deny", priority = -1 }
+unnameable_types = { level = "deny", priority = -1 }
+unreachable_pub = { level = "deny", priority = -1 }
+unsafe_code = { level = "deny", priority = -1 }
+unstable_features = { level = "deny", priority = -1 }
+unused = { level = "deny", priority = -1 }
+unused_crate_dependencies = { level = "deny", priority = -1 }
+unused_import_braces = { level = "deny", priority = -1 }
+unused_lifetimes = { level = "deny", priority = -1 }
+unused_qualifications = { level = "deny", priority = -1 }
+unused_results = { level = "deny", priority = -1 }
+variant_size_differences = { level = "deny", priority = -1 }
+warnings = { level = "deny", priority = -1 }
+
+[lints.clippy]
+all = { level = "deny", priority = -1 }
+cargo = { level = "deny", priority = -1 }
+complexity = { level = "deny", priority = -1 }
+correctness = { level = "deny", priority = -1 }
+nursery = { level = "deny", priority = -1 }
+pedantic = { level = "deny", priority = -1 }
+perf = { level = "deny", priority = -1 }
+restriction = { level = "deny", priority = -1 }
+style = { level = "deny", priority = -1 }
+suspicious = { level = "deny", priority = -1 }
+# Noisy, opinionated, and likely don't prevent bugs or improve APIs.
+arbitrary_source_item_ordering = "allow"
+blanket_clippy_restriction_lints = "allow"
+exhaustive_enums = "allow"
+exhaustive_structs = "allow"
+implicit_return = "allow"
+min_ident_chars = "allow"
+missing_trait_methods = "allow"
+pub_use = "allow"
+ref_patterns = "allow"
+single_char_lifetime_names = "allow"
[package.metadata.docs.rs]
all-features = true
diff --git a/src/lib.rs b/src/lib.rs
@@ -8,44 +8,6 @@
//! [Zermelo–Fraenkel set theory with the axiom of choice (ZFC)](https://en.wikipedia.org/wiki/Zermelo%E2%80%93Fraenkel_set_theory).
#![cfg_attr(docsrs, feature(doc_cfg))]
#![no_std]
-#![deny(
- unknown_lints,
- future_incompatible,
- let_underscore,
- missing_docs,
- nonstandard_style,
- refining_impl_trait,
- rust_2018_compatibility,
- rust_2018_idioms,
- rust_2021_compatibility,
- rust_2024_compatibility,
- unsafe_code,
- unused,
- warnings,
- clippy::all,
- clippy::cargo,
- clippy::complexity,
- clippy::correctness,
- clippy::nursery,
- clippy::pedantic,
- clippy::perf,
- clippy::restriction,
- clippy::style,
- clippy::suspicious
-)]
-#![expect(
- clippy::arbitrary_source_item_ordering,
- clippy::blanket_clippy_restriction_lints,
- clippy::exhaustive_enums,
- clippy::exhaustive_structs,
- clippy::implicit_return,
- clippy::min_ident_chars,
- clippy::missing_trait_methods,
- clippy::pub_use,
- clippy::ref_patterns,
- clippy::single_char_lifetime_names,
- reason = "noisy, opinionated, and likely doesn't prevent bugs or improve APIs"
-)]
extern crate alloc;
use alloc::{collections::BTreeSet, vec::Vec};
use core::borrow::Borrow;
@@ -303,7 +265,7 @@ impl PartialOrd<BigUint> for Cardinality {
}
/// Error returned when attempting to create a [`BoundedCardinality`] from a pair of [`BigUint`]s
/// or [`Cardinality`]s such that the upper bound is strictly less than the lower bound.
-#[derive(Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
+#[derive(Clone, Copy, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
pub struct BoundedErr;
impl Display for BoundedErr {
#[inline]
@@ -314,7 +276,7 @@ impl Display for BoundedErr {
impl Error for BoundedErr {}
/// Error returned when attempting to create a [`Cardinality`] from a [`BoundedCardinality`] such that
/// the lower bound is less than the upper bound.
-#[derive(Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
+#[derive(Clone, Copy, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
pub struct CardinalityErr;
impl Display for CardinalityErr {
#[inline]