1[package]
2name = "memchr"
3version = "2.7.1" #:version
4authors = ["Andrew Gallant <jamslam@gmail.com>", "bluss"]
5description = """
6Provides extremely fast (uses SIMD on x86_64, aarch64 and wasm32) routines for
71, 2 or 3 byte search and single substring search.
8"""
9documentation = "https://docs.rs/memchr/"
10homepage = "https://github.com/BurntSushi/memchr"
11repository = "https://github.com/BurntSushi/memchr"
12readme = "README.md"
13keywords = ["memchr", "memmem", "substring", "find", "search"]
14license = "Unlicense OR MIT"
15exclude = ["/.github", "/benchmarks", "/fuzz", "/scripts", "/tmp"]
16edition = "2021"
17rust-version = "1.61"
18
19[lib]
20name = "memchr"
21bench = false
22
23[features]
24default = ["std"]
25
26# The 'std' feature permits the memchr crate to use the standard library. This
27# permits this crate to use runtime CPU feature detection to automatically
28# accelerate searching via vector instructions. Without the standard library,
29# this automatic detection is not possible.
30std = ["alloc"]
31
32# The 'alloc' feature enables some APIs that require allocation, such as
33# 'Finder::into_owned'. Note that this feature does not enable runtime CPU
34# feature detection. That still requires 'std'.
35alloc = []
36
37# When enabled (it's disabled by default), the `log` crate will be used to
38# emit a spattering of log messages. For the most part, the log messages are
39# meant to indicate what strategies are being employed. For example, whether
40# a vector or a scalar algorithm is used for substring search. This can be
41# useful when debugging performance problems.
42#
43# This is disabled by default.
44logging = ["dep:log"]
45
46# The 'use_std' feature is DEPRECATED. It will be removed in memchr 3. Until
47# then, it is alias for the 'std' feature.
48use_std = ["std"]
49
50# The 'libc' feature has been DEPRECATED and no longer has any effect.
51libc = []
52
53# Internal feature, only used when building as part of libstd, not part of the
54# stable interface of this crate.
55rustc-dep-of-std = ['core', 'compiler_builtins']
56
57[dependencies]
58# Only used when the `logging` feature is enabled (disabled by default).
59log = { version = "0.4.20", optional = true }
60# Internal feature, only used when building as part of libstd, not part of the
61# stable interface of this crate.
62core = { version = '1.0.0', optional = true, package = 'rustc-std-workspace-core' }
63compiler_builtins = { version = '0.1.2', optional = true }
64
65[dev-dependencies]
66quickcheck = { version = "1.0.3", default-features = false }
67
68[profile.release]
69debug = true
70
71[profile.bench]
72debug = true
73
74[profile.test]
75opt-level = 3
76debug = true
77
78[package.metadata.docs.rs]
79rustdoc-args = ["--generate-link-to-definition"]
80