[package]
name = "collection_tools"
version = "0.56.0"
edition = "2021"
authors = [
  "Kostiantyn Mysnyk <wandalen@obox.systems>",
]
license = "MIT"
readme = "readme.md"
documentation = "https://docs.rs/collection_tools"
repository = "https://github.com/Wandalen/wTools/tree/master/module/core/collection_tools"
homepage = "https://github.com/Wandalen/wTools/tree/master/module/core/collection_tools"
description = """
General purpose tools to manipulate collections( containers like Vec/HashMap/HashSet ).
"""
categories = [ "algorithms", "development-tools" ]
keywords = [ "fundamental", "general-purpose" ]

[lints]
workspace = true

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

[features]

no_std = [
]

use_alloc = [
  "no_std",
  "hashbrown",
]

default = [
  "enabled",
  "collection_constructors",
  "collection_into_constructors",
]

full = [
  "enabled",

  "collection_constructors",
  "collection_into_constructors",
]

enabled = []

# Collection constructors, like `hmap!{ "key" => "val" }`
collection_constructors = []
# Collection constructors, using `into()` under the hood, like `into_hmap!( "key" => "val" )`
collection_into_constructors = []

[dependencies]

## external
hashbrown = { workspace = true, optional = true, default-features = false, features = [ "default" ] }

[dev-dependencies]
# test_tools = { workspace = true, features = [ "full" ] }  # REMOVED: Creates circular dependency via collection_tools → test_tools → impls_index_meta → macro_tools → component_model_types → collection_tools
# former = { workspace = true }
trybuild = { workspace = true }
