[package] name = "ass-core" version = "0.1.1" edition = "2021" license = "MIT" readme = "README.md" description = "High-performance ASS subtitle format parser and analyzer" [lib] path = "lib.rs" [dependencies] thiserror = "1.0.63" ahash = { version = "0.8.11", default-features = false, features = ["std"] } bitflags = "2.4.1" hashbrown = { version = "0.14", optional = true, features = ["ahash"] } bumpalo = { version = "3.14", optional = true } wide = { version = "0.7", optional = true } serde = { version = "1.0", optional = true, features = ["derive"] } criterion = { version = "0.5", optional = true, features = ["html_reports"] } # wasm32 requires getrandom's wasm_js feature (pulled in transitively via ahash) [target.'cfg(target_arch = "wasm32")'.dependencies] getrandom = { version = "0.3", features = ["wasm_js"] } [features] default = ["full"] minimal = [ "nostd", "analysis", "plugins", "stream", ] full = [ "std", "analysis", "plugins", "stream", "simd", "arena", "unicode-wrap", "serde", ] std = [] nostd = ["dep:hashbrown"] analysis = [] plugins = [] stream = [] unicode-wrap = [] serde = ["dep:serde"] simd = ["dep:wide"] simd-full = ["simd"] arena = ["dep:bumpalo"] benches = ["dep:criterion"] [lints.rust] unused_variables = "deny" unused_imports = "deny" unused_mut = "deny" unreachable_code = "warn" [lints.clippy] all = "deny" pedantic = "warn" nursery = "warn" cargo = "warn" negative_feature_names = "allow" module_name_repetitions = "allow" similar_names = "allow" too_many_lines = "allow" inefficient_to_string = "deny" string_add = "deny" string_add_assign = "deny" cast_ptr_alignment = "deny" fn_to_numeric_cast_any = "deny" missing_docs_in_private_items = "warn" undocumented_unsafe_blocks = "deny"