# 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]
edition = "2018"
name = "regex"
version = "1.7.1"
authors = ["The Rust Project Developers"]
exclude = [
    "/scripts/*",
    "/.github/*",
]
autotests = false
description = """
An implementation of regular expressions for Rust. This implementation uses
finite automata and guarantees linear time matching on all inputs.
"""
homepage = "https://github.com/rust-lang/regex"
documentation = "https://docs.rs/regex"
readme = "README.md"
categories = ["text-processing"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/rust-lang/regex"

[profile.bench]
debug = true

[profile.release]
debug = true

[profile.test]
debug = true

[lib]
doctest = false
bench = false

[[test]]
name = "default"
path = "tests/test_default.rs"

[[test]]
name = "default-bytes"
path = "tests/test_default_bytes.rs"

[[test]]
name = "nfa"
path = "tests/test_nfa.rs"

[[test]]
name = "nfa-utf8bytes"
path = "tests/test_nfa_utf8bytes.rs"

[[test]]
name = "nfa-bytes"
path = "tests/test_nfa_bytes.rs"

[[test]]
name = "backtrack"
path = "tests/test_backtrack.rs"

[[test]]
name = "backtrack-utf8bytes"
path = "tests/test_backtrack_utf8bytes.rs"

[[test]]
name = "backtrack-bytes"
path = "tests/test_backtrack_bytes.rs"

[[test]]
name = "crates-regex"
path = "tests/test_crates_regex.rs"

[dependencies.aho-corasick]
version = "0.7.18"
optional = true

[dependencies.memchr]
version = "2.4.0"
optional = true

[dependencies.regex-syntax]
version = "0.6.27"
default-features = false

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

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

[dev-dependencies.rand]
version = "0.8.3"
features = [
    "getrandom",
    "small_rng",
]
default-features = false

[features]
default = [
    "std",
    "perf",
    "unicode",
    "regex-syntax/default",
]
pattern = []
perf = [
    "perf-cache",
    "perf-dfa",
    "perf-inline",
    "perf-literal",
]
perf-cache = []
perf-dfa = []
perf-inline = []
perf-literal = [
    "aho-corasick",
    "memchr",
]
std = []
unicode = [
    "unicode-age",
    "unicode-bool",
    "unicode-case",
    "unicode-gencat",
    "unicode-perl",
    "unicode-script",
    "unicode-segment",
    "regex-syntax/unicode",
]
unicode-age = ["regex-syntax/unicode-age"]
unicode-bool = ["regex-syntax/unicode-bool"]
unicode-case = ["regex-syntax/unicode-case"]
unicode-gencat = ["regex-syntax/unicode-gencat"]
unicode-perl = ["regex-syntax/unicode-perl"]
unicode-script = ["regex-syntax/unicode-script"]
unicode-segment = ["regex-syntax/unicode-segment"]
unstable = ["pattern"]
use_std = ["std"]
