component_model 0.15.0

Revolutionary type-safe component assignment for Rust. Build complex objects with zero boilerplate using derive macros and type-driven field setting. Perfect for configuration builders, fluent APIs, and object composition patterns.
Documentation
[package]
name = "component_model"
version = "0.15.0"
edition = "2021"
authors = [
  "Kostiantyn Wandalen <wandalen@obox.systems>",
]
license = "MIT"
readme = "readme.md"
documentation = "https://docs.rs/component_model"
repository = "https://github.com/Wandalen/wTools/tree/master/module/core/component_model"
homepage = "https://github.com/Wandalen/wTools/tree/master/module/core/component_model"
description = """
Revolutionary type-safe component assignment for Rust. Build complex objects with zero boilerplate using derive macros and type-driven field setting. Perfect for configuration builders, fluent APIs, and object composition patterns.
"""
categories = [ "rust-patterns", "development-tools", "api-bindings", "config" ]
keywords = [ "builder-pattern", "type-safe", "zero-cost", "fluent-api", "configuration" ]
dependencies = {}
dev-dependencies = {}
build-dependencies = {}

[lints]
workspace = true

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

[features]

no_std = [ "component_model_types/no_std", "collection_tools/no_std" ]
use_alloc = [ "no_std", "component_model_types/use_alloc", "collection_tools/use_alloc" ]

# no_std = [ "collection_tools/no_std" ]
# use_alloc = [ "no_std", "collection_tools/use_alloc" ]

default = [ "enabled", "full" ]
full = [
  "enabled",

  "derive_component_model",
  "derive_components",
  "derive_component_from",
  "derive_component_assign",
  "derive_components_assign",
  "derive_from_components",
  "types_component_assign",
]
enabled = [ "component_model_meta/enabled", "component_model_types/enabled" ]

derive_component_model = [ "component_model_meta/derive_component_model", "derive_component_assign", "derive_components_assign", "derive_component_from", "derive_from_components" ]
derive_components = [ "component_model_meta/derive_components", "derive_component_assign", "derive_components_assign", "derive_component_from", "derive_from_components" ]
derive_component_assign = [ "component_model_meta/derive_component_assign", "types_component_assign" ]
derive_components_assign = [ "derive_component_assign", "component_model_meta/derive_components_assign" ]
derive_component_from = [ "component_model_meta/derive_component_from" ]
derive_from_components = [ "component_model_meta/derive_from_components" ]
types_component_assign = [ "component_model_types/types_component_assign" ]

[dependencies]
component_model_meta = { workspace = true, optional = true }
component_model_types = { workspace = true, optional = true }
# collection_tools = { workspace = true, features = [ "collection_constructors" ] }

[dev-dependencies]
test_tools = { workspace = true, features = [ "full" ] }
collection_tools = { workspace = true, features = [ "collection_constructors" ] }