diff --git a/src/database/mod.rs b/src/database/mod.rs index 2f54cc6f..24661ecd 100644 --- a/src/database/mod.rs +++ b/src/database/mod.rs @@ -22,6 +22,7 @@ pub use error::{ConditionEvaluationError, MetadataRetrievalError}; /// Control behaviour when writing to files. #[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)] +#[non_exhaustive] pub enum WriteMode { /// Create the file if it does not exist, otherwise error. Create, diff --git a/src/lib.rs b/src/lib.rs index 2f198912..69d0c1e5 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,7 +1,6 @@ // Allow some lints that are denied at the workspace level. #![allow( clippy::doc_markdown, - clippy::exhaustive_enums, clippy::filetype_is_file, clippy::must_use_candidate, clippy::missing_errors_doc, diff --git a/src/logging.rs b/src/logging.rs index 4ee17885..63a2f4f5 100644 --- a/src/logging.rs +++ b/src/logging.rs @@ -39,6 +39,10 @@ pub fn set_log_level(level: LogLevel) { /// Codes used to specify different levels of API logging. #[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)] +#[expect( + clippy::exhaustive_enums, + reason = "Adding a new log level should be a breaking change." +)] pub enum LogLevel { Trace, Debug, diff --git a/src/metadata/message.rs b/src/metadata/message.rs index 8fb5db89..bbc1024c 100644 --- a/src/metadata/message.rs +++ b/src/metadata/message.rs @@ -15,6 +15,10 @@ use super::{ /// Codes used to indicate the type of a message. #[derive(Clone, Copy, Debug, Default, Eq, PartialEq, Ord, PartialOrd, Hash)] +#[expect( + clippy::exhaustive_enums, + reason = "Adding a new message is a breaking change." +)] pub enum MessageType { /// A notification message that is of no significant severity. #[default] diff --git a/src/metadata/tag.rs b/src/metadata/tag.rs index 08edd9e5..0b8bb2e7 100644 --- a/src/metadata/tag.rs +++ b/src/metadata/tag.rs @@ -10,6 +10,7 @@ use super::{ /// Represents whether a Bash Tag suggestion is for addition or removal. #[derive(Clone, Copy, Debug, Default, Eq, PartialEq, Ord, PartialOrd, Hash)] +#[expect(clippy::exhaustive_enums, reason = "It's effectively a boolean")] pub enum TagSuggestion { #[default] Addition,