regex 1.2.1

An implementation of regular expressions for Rust. This implementation uses finite automata and guarantees linear time matching on all inputs.
Documentation
[package]
name = "regex"
version = "1.2.1"  #:version
authors = ["The Rust Project Developers"]
license = "MIT/Apache-2.0"
readme = "README.md"
repository = "https://github.com/rust-lang/regex"
documentation = "https://docs.rs/regex"
homepage = "https://github.com/rust-lang/regex"
description = """
An implementation of regular expressions for Rust. This implementation uses
finite automata and guarantees linear time matching on all inputs.
"""
categories = ["text-processing"]
autotests = false
exclude = ["/.travis.yml", "/appveyor.yml", "/ci/*", "/scripts/*"]

[badges]
travis-ci = { repository = "rust-lang/regex" }
appveyor = { repository = "rust-lang-libs/regex" }

[workspace]
members = [
  "bench", "regex-capi", "regex-debug", "regex-syntax",
]

[dependencies]
# For very fast prefix literal matching.
aho-corasick = "0.7.6"
# For skipping along search text quickly when a leading byte is known.
memchr = "2.2.1"
# For managing regex caches quickly across multiple threads.
thread_local = "0.3.6"
# For parsing regular expressions.
regex-syntax = { path = "regex-syntax", version = "0.6.11" }

[dev-dependencies]
# For examples.
lazy_static = "1"
# For property based tests.
quickcheck = { version = "0.8", default-features = false }
# For generating random test data.
rand = "0.6.5"
# To check README's example
doc-comment = "0.3"

[features]
default = ["use_std"]
# The 'use_std' feature permits the regex crate to use the standard library.
# This is intended to support future use cases where the regex crate may be
# able to compile without std, and instead just rely on 'core' and 'alloc'
# (for example). Currently, this isn't supported, and removing the 'use_std'
# feature will prevent regex from compiling.
use_std = []
# A blanket feature that governs whether unstable features are enabled or not.
# Unstable features are disabled by default, and typically rely on unstable
# features in rustc itself.
unstable = ["pattern"]
# Enable to use the unstable pattern traits defined in std. This is enabled
# by default if the unstable feature is enabled.
pattern = []

[lib]
# There are no benchmarks in the library code itself
bench = false

# Run the test suite on the default behavior of Regex::new.
# This includes a mish mash of NFAs and DFAs, which are chosen automatically
# based on the regex. We test both of the NFA implementations by forcing their
# usage with the test definitions below. (We can't test the DFA implementations
# in the same way since they can't be used for every regex tested.)
[[test]]
path = "tests/test_default.rs"
name = "default"

# The same as the default tests, but run on bytes::Regex.
[[test]]
path = "tests/test_default_bytes.rs"
name = "default-bytes"

# Run the test suite on the NFA algorithm over Unicode codepoints.
[[test]]
path = "tests/test_nfa.rs"
name = "nfa"

# Run the test suite on the NFA algorithm over bytes that match UTF-8 only.
[[test]]
path = "tests/test_nfa_utf8bytes.rs"
name = "nfa-utf8bytes"

# Run the test suite on the NFA algorithm over arbitrary bytes.
[[test]]
path = "tests/test_nfa_bytes.rs"
name = "nfa-bytes"

# Run the test suite on the backtracking engine over Unicode codepoints.
[[test]]
path = "tests/test_backtrack.rs"
name = "backtrack"

# Run the test suite on the backtracking engine over bytes that match UTF-8
# only.
[[test]]
path = "tests/test_backtrack_utf8bytes.rs"
name = "backtrack-utf8bytes"

# Run the test suite on the backtracking engine over arbitrary bytes.
[[test]]
path = "tests/test_backtrack_bytes.rs"
name = "backtrack-bytes"

# Run all backends against each regex found on crates.io and make sure
# that they all do the same thing.
[[test]]
path = "tests/test_crates_regex.rs"
name = "crates-regex"

[profile.release]
debug = true

[profile.bench]
debug = true

[profile.test]
debug = true