# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g. crates.io) dependencies
#
# If you believe there's an error in this file please file an
# issue against the rust-lang/cargo repository. If you're
# editing this file be aware that the upstream Cargo.toml
# will likely look very different (and much more reasonable)

[package]
name = "indexmap"
version = "1.0.2"
authors = ["bluss", "Josh Stone <cuviper@gmail.com>"]
description = "A hash table with consistent order and fast iteration.\n\nThe indexmap is a hash table where the iteration order of the key-value\npairs is independent of the hash values of the keys. It has the usual\nhash table functionality, it preserves insertion order except after\nremovals, and it allows lookup of its elements by either hash table key\nor numerical index. A corresponding hash set type is also provided.\n\nThis crate was initially published under the name ordermap, but it was renamed to\nindexmap.\n"
documentation = "https://docs.rs/indexmap/"
keywords = ["hashmap"]
categories = ["data-structures"]
license = "Apache-2.0/MIT"
repository = "https://github.com/bluss/indexmap"
[package.metadata.docs.rs]
features = ["serde-1"]

[package.metadata.release]
no-dev-version = true
[profile.bench]
debug = true

[lib]
bench = false
[dependencies.serde]
version = "1.0"
optional = true
[dev-dependencies.fnv]
version = "1.0"

[dev-dependencies.itertools]
version = "0.7.0"

[dev-dependencies.lazy_static]
version = "1"

[dev-dependencies.quickcheck]
version = "0.6"
default-features = false

[dev-dependencies.rand]
version = "0.4"

[dev-dependencies.serde_test]
version = "1.0.5"

[features]
serde-1 = ["serde"]
test_debug = []
test_low_transition_point = []
