[package]
edition = "2024"
rust-version = "1.85"
name = "defaulted"
version = "0.1.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Trait and derive macro for testing whether a value equals its default state, with per-field customization and optional serde integration"
readme = false
license = "MIT"
repository = "https://codeberg.org/DannyStoll/defaulted"
resolver = "2"
[features]
alloc = []
bytes = ["dep:bytes"]
default = [
"std",
"derive",
]
derive = ["dep:defaulted_derive"]
indexmap = ["dep:indexmap"]
serde = [
"dep:serde",
"defaulted_derive?/serde",
]
serde-json = ["dep:serde_json"]
serde-yaml = ["dep:serde_yaml"]
smallvec = ["dep:smallvec"]
std = ["alloc"]
[lib]
name = "defaulted"
path = "src/lib.rs"
[dependencies.bytes]
version = "1"
optional = true
[dependencies.defaulted_derive]
version = "0.1.0"
optional = true
[dependencies.indexmap]
version = "2.13"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1"
optional = true
[dependencies.serde_yaml]
version = "0.9"
optional = true
[dependencies.smallvec]
version = "1"
optional = true
[lints.clippy]
cast-possible-wrap = "allow"
cast-precision-loss = "allow"
cast_possible_truncation = "allow"
cast_sign_loss = "allow"
cognitive-complexity = "allow"
doc_markdown = "allow"
enum-glob-use = "allow"
missing-errors-doc = "allow"
missing-panics-doc = "allow"
module-name-repetitions = "allow"
option-if-let-else = "allow"
wildcard-imports = "allow"
[lints.clippy.all]
level = "allow"
priority = -3
[lints.clippy.complexity]
level = "warn"
priority = -2
[lints.clippy.correctness]
level = "deny"
priority = -2
[lints.clippy.nursery]
level = "warn"
priority = -2
[lints.clippy.pedantic]
level = "warn"
priority = -2
[lints.clippy.perf]
level = "deny"
priority = -2
[lints.clippy.style]
level = "warn"
priority = -2
[lints.clippy.todo]
level = "warn"
priority = -1