# 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 = "ascii"
version = "0.8.7"
authors = ["Thomas Bahn <thomas@thomas-bahn.net>", "Torbjørn Birch Moltu <t.b.moltu@lyse.net>", "Simon Sapin <simon.sapin@exyr.org>"]
description = "ASCII-only equivalents to `char`, `str` and `String`."
documentation = "https://tomprogrammer.github.io/rust-ascii/ascii/index.html"
license = "Apache-2.0 / MIT"
repository = "https://github.com/tomprogrammer/rust-ascii"

[[test]]
name = "tests"
path = "tests.rs"
[dependencies.quickcheck]
version = "0.4.1"
optional = true

[features]
default = ["std"]
std = []
