# 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 are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
name = "generic-array"
version = "0.14.7"
authors = [
    "Bartłomiej Kamiński <fizyk20@gmail.com>",
    "Aaron Trent <novacrazy@gmail.com>",
]
include = [
    "src/**/*",
    "LICENSE",
    "README.md",
    "CHANGELOG.md",
    "build.rs",
]
description = "Generic types implementing functionality of arrays"
documentation = "http://fizyk20.github.io/generic-array/generic_array/"
readme = "README.md"
keywords = [
    "generic",
    "array",
]
categories = [
    "data-structures",
    "no-std",
]
license = "MIT"
repository = "https://github.com/fizyk20/generic-array.git"

[package.metadata.docs.rs]
features = [
    "serde",
    "zeroize",
]

[lib]
name = "generic_array"

[dependencies.serde]
version = "1.0"
optional = true
default-features = false

[dependencies.typenum]
version = "1.12"

[dependencies.zeroize]
version = "1"
optional = true
default-features = false

[dev-dependencies.bincode]
version = "1.0"

[dev-dependencies.serde_json]
version = "1.0"

[build-dependencies.version_check]
version = "0.9"

[features]
more_lengths = []

[badges.travis-ci]
repository = "fizyk20/generic-array"
