former 2.19.0

A flexible implementation of the Builder pattern supporting nested builders and collection-specific subformers. Simplify the construction of complex objects.
Documentation
[dependencies.former_meta]
default-features = false
features = ["proc-macro-debug"]
version = "~2.19.0"

[dependencies.former_types]
default-features = false
version = "~2.17.0"

[dev-dependencies.collection_tools]
default-features = false
features = ["collection_constructors"]
version = "~0.18.0"

[dev-dependencies.test_tools]
features = ["full"]
version = "~0.16.0"

[[example]]
name = "former_collection_hashmap"
path = "examples/former_collection_hashmap.rs"

[[example]]
name = "former_collection_hashset"
path = "examples/former_collection_hashset.rs"

[[example]]
name = "former_collection_vector"
path = "examples/former_collection_vector.rs"

[[example]]
name = "former_component_from"
path = "examples/former_component_from.rs"

[[example]]
name = "former_custom_collection"
path = "examples/former_custom_collection.rs"

[[example]]
name = "former_custom_defaults"
path = "examples/former_custom_defaults.rs"

[[example]]
name = "former_custom_definition"
path = "examples/former_custom_definition.rs"

[[example]]
name = "former_custom_mutator"
path = "examples/former_custom_mutator.rs"

[[example]]
name = "former_custom_scalar_setter"
path = "examples/former_custom_scalar_setter.rs"

[[example]]
name = "former_custom_setter"
path = "examples/former_custom_setter.rs"

[[example]]
name = "former_custom_setter_overriden"
path = "examples/former_custom_setter_overriden.rs"

[[example]]
name = "former_custom_subform_collection"
path = "examples/former_custom_subform_collection.rs"

[[example]]
name = "former_custom_subform_entry"
path = "examples/former_custom_subform_entry.rs"

[[example]]
name = "former_custom_subform_entry2"
path = "examples/former_custom_subform_entry2.rs"

[[example]]
name = "former_custom_subform_scalar"
path = "examples/former_custom_subform_scalar.rs"

[[example]]
name = "former_debug"
path = "examples/former_debug.rs"

[[example]]
name = "former_many_fields"
path = "examples/former_many_fields.rs"

[[example]]
name = "former_trivial"
path = "examples/former_trivial.rs"

[[example]]
name = "former_trivial_expaned"
path = "examples/former_trivial_expaned.rs"

[features]
default = ["enabled", "derive_former", "types_former"]
derive_former = ["former_meta/derive_former", "types_former"]
enabled = ["former_meta/enabled", "former_types/enabled"]
full = ["default"]
no_std = ["former_types/no_std", "collection_tools/no_std"]
types_former = ["former_types/types_former"]
use_alloc = ["no_std", "former_types/use_alloc", "collection_tools/use_alloc"]

[lib]
name = "former"
path = "src/lib.rs"

[lints.clippy]
absolute_paths = "allow"
inline_always = "allow"
module_name_repetitions = "allow"
single_call_fn = "allow"
std_instead_of_alloc = "warn"
std_instead_of_core = "warn"
undocumented_unsafe_blocks = "deny"
wildcard_imports = "allow"

[lints.clippy.pedantic]
level = "warn"
priority = -1

[lints.rust]
missing_debug_implementations = "warn"
missing_docs = "warn"
unsafe-code = "warn"

[lints.rust.future_incompatible]
level = "deny"
priority = -1

[lints.rust.rust_2018_idioms]
level = "deny"
priority = -1

[package]
authors = ["Kostiantyn Wandalen <wandalen@obox.systems>", "Dmytro Kryvoruchko <dmytro.kr@obox.systems>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["algorithms", "development-tools"]
description = """
A flexible implementation of the Builder pattern supporting nested builders and collection-specific subformers. Simplify the construction of complex objects.
"""
documentation = "https://docs.rs/former"
edition = "2021"
homepage = "https://github.com/Wandalen/wTools/tree/master/module/core/former"
keywords = ["fundamental", "general-purpose", "builder-pattern"]
license = "MIT"
name = "former"
readme = "Readme.md"
repository = "https://github.com/Wandalen/wTools/tree/master/module/core/former"
version = "2.19.0"

[package.metadata.docs.rs]
all-features = false
features = ["full"]

[[test]]
name = "experimental"
path = "tests/experimental.rs"

[[test]]
name = "smoke_test"
path = "tests/smoke_test.rs"

[[test]]
name = "tests"
path = "tests/tests.rs"