[package]
edition = "2024"
rust-version = "1.95.0"
name = "memspan"
version = "0.1.0"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "SIMD-accelerated byte-class scanning for lexers and parsers. Backends: AVX-512, AVX2, SSE4.1, NEON, WASM SIMD128. no_std compatible."
homepage = "https://github.com/al8n/memspan"
documentation = "https://docs.rs/memspan"
readme = "README.md"
keywords = [
"memchr",
"simd",
"lexer",
"parser",
"bytes",
]
categories = [
"parsing",
"text-processing",
"no-std",
"no-std::no-alloc",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/al8n/memspan"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
alloc = []
default = ["std"]
std = []
[lib]
name = "memspan"
path = "src/lib.rs"
bench = false
[[example]]
name = "foo"
path = "examples/foo.rs"
[[test]]
name = "count_find"
path = "tests/count_find.rs"
[[test]]
name = "needle_counts"
path = "tests/needle_counts.rs"
[[test]]
name = "skip_ascii_class"
path = "tests/skip_ascii_class.rs"
[[test]]
name = "skip_ascii_classes"
path = "tests/skip_ascii_classes.rs"
[[test]]
name = "skip_class_macro"
path = "tests/skip_class_macro.rs"
[[test]]
name = "skip_lexer_class"
path = "tests/skip_lexer_class.rs"
[[test]]
name = "skip_until"
path = "tests/skip_until.rs"
[[test]]
name = "skip_while"
path = "tests/skip_while.rs"
[[bench]]
name = "skip_ascii_class"
path = "benches/skip_ascii_class.rs"
harness = false
[[bench]]
name = "skip_class_macro"
path = "benches/skip_class_macro.rs"
harness = false
[[bench]]
name = "skip_lexer_class"
path = "benches/skip_lexer_class.rs"
harness = false
[[bench]]
name = "skip_until"
path = "benches/skip_until.rs"
harness = false
[[bench]]
name = "skip_while"
path = "benches/skip_while.rs"
harness = false
[dependencies]
[dev-dependencies.memchr]
version = "2"
[target.'cfg(not(target_family = "wasm"))'.dev-dependencies.criterion]
version = "0.8"
[lints.rust]
rust_2018_idioms = "warn"
single_use_lifetimes = "warn"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
"cfg(all_tests)",
"cfg(tarpaulin)",
"cfg(memspan_force_scalar)",
"cfg(memspan_disable_avx512)",
"cfg(memspan_disable_avx2)",
"cfg(memspan_disable_sse42)",
"cfg(memspan_disable_simd128)",
]
[profile.bench]
opt-level = 3
lto = "thin"
codegen-units = 1
debug = 0
debug-assertions = false
rpath = false
overflow-checks = false
incremental = false