[package] edition = "2021" name = "more_collections" version = "0.14.2" authors = ["Rinde van Lon "] description = "Additional collections not found in std::collections" repository = "https://github.com/rinde/more_collections/" homepage = "https://github.com/rinde/more_collections/" license = "Apache-2.0" keywords = ["collections", "multimap"] categories = ["data-structures"] include = ["LICENSE", "README.md", "**/*.rs", "Cargo.toml"] [features] all = [ "hashsetmultimap", "hashvecmultimap", "indexsetmultimap", "indexvecmultimap", "smallset", "smallmap", "vecmap", "serde", ] hashsetmultimap = ["maplit"] hashvecmultimap = [] indexsetmultimap = ["indexmap"] indexvecmultimap = ["indexmap"] smallmap = ["indexmap", "smallvec"] smallset = ["indexmap", "smallvec", "smallmap"] vecmap = [] [dependencies] indexmap = { version = "^2.6", optional = true } maplit = { version = "1.0.2", optional = true } serde = { version = "^1.0.164", optional = true, features = ["derive"] } smallvec = { version = "1.13.2", optional = true, features = [ "const_generics", "const_new", "union", ] } [dev-dependencies] criterion = { version = "0.5.1", features = ["html_reports"] } derive_more = "0.99.18" indexmap = { version = "2.6.0" } itertools = "0.13.0" maplit = { version = "1.0.2" } more_collections = { path = ".", features = ["all"] } rand = "0.8.5" serde_json = "1.0" [[bench]] name = "vec_map" harness = false [profile.bench] lto = true [lints.rust] # lint groups future-incompatible = "warn" let-underscore = "warn" nonstandard-style = "deny" unused = { level = "warn", priority = -1 } refining_impl_trait = { level = "warn", priority = -1 } # specific lints that are allow by default macro_use_extern_crate = "warn" meta_variable_misuse = "warn" missing_debug_implementations = "warn" missing_copy_implementations = "warn" missing_docs = "allow" # TODO unreachable_pub = "warn" unnameable_types = "warn" unsafe_code = "deny" unstable_features = "deny" unused_extern_crates = "warn" unused_import_braces = "warn" unused_lifetimes = "warn" unused_macro_rules = "warn" unused_qualifications = "warn" dead_code = "warn" redundant_lifetimes = "warn" single_use_lifetimes = "warn" [lints.rustdoc] broken_intra_doc_links = "deny" private_intra_doc_links = "allow" [lints.clippy] cargo = { level = "warn", priority = -1 } complexity = { level = "warn", priority = -1 } correctness = { level = "deny", priority = -1 } perf = { level = "warn", priority = -1 } style = { level = "warn", priority = -1 } suspicious = { level = "deny", priority = -1 } todo = "warn" missing_const_for_fn = "warn" allow_attributes_without_reason = "deny" ### Pedantic pedantic = { level = "warn", priority = -1 } # setting a lower priority for the group to allow individual overrides # Below are the pedantic lints that we currently do not opt in to including the reason why. missing_panics_doc = "allow" # TODO module_name_repetitions = "allow" # naming is already hard enough [package.metadata.docs.rs] all-features = true