fashex 0.0.3

Conversion from bytes to hexadecimal string.
Documentation
[package]
name = "fashex"
version = "0.0.3"
edition = "2024"
rust-version = "1.93.1"
authors = ["Hantong Chen <cxwdyx620@gmail.com>"]
categories = ["no-std", "encoding"]
description = "Conversion from bytes to hexadecimal string."
keywords = ["hex", "fmt"]
license = "MIT OR Apache-2.0"
readme = "README.md"
repository = "https://codeberg.org/Hanyu/fashex"

[package.metadata.docs.rs]
features = ["std", "nightly", "portable-simd", "experimental-x86-avx512-simd", "experimental-loongarch64-simd"]
additional-targets = ["loongarch64-unknown-linux-gnu", "wasm32-unknown-unknown"]

[dependencies]

[target.'cfg(any(target_arch = "x86", target_arch = "x86_64", target_arch = "aarch64", target_arch = "loongarch64"))'.dependencies]
cpufeatures = { version = "0.3.0", optional = true }

[dev-dependencies]
fashex = { path = ".", features = [
    "std",
    "nightly",
    "portable-simd",
    "experimental-x86-avx512-simd",
    "experimental-loongarch64-simd",
    "fuzz",
] }

[target.'cfg(any(target_arch = "x86", target_arch = "x86_64", target_arch = "aarch64", target_arch = "loongarch64"))'.dev-dependencies]
const-hex = "=1.18.1"
criterion = { version = "0.8.2", features = ["html_reports"] }
fastant = "0.1.11"
faster-hex = { version = "=0.10.0", default-features = false, features = ["alloc", "std"] }
fastrand = "2.3"
hex-simd = "=0.8.0"

[features]
default = []

# Enables alloc support.
alloc = []

# Enables Rust standard library support.
std = ["alloc"]

# Enables some Rust nightly features
nightly = []

# Enables Rust's portable SIMD acceleration.
#
# This requires nightly Rust.
portable-simd = ["nightly"]

# Enables SIMD acceleration via AVX-512 instructions on x86 / x86_64 architectures.
experimental-x86-avx512-simd = []

# Enables SIMD acceleration via LSX / LASX instructions on LoongArch64 architectures.
#
# This requires nightly Rust.
experimental-loongarch64-simd = ["nightly"]

# Enables CPU features detection at runtime.
#
# This requires the `cpufeatures` crate and introduces `libc` as a dependency on some platforms.
runtime-cpu-detection = ["dep:cpufeatures"]

# Internal feature for fuzz testing. Not intended for public use.
fuzz = ["alloc", "std", "nightly", "portable-simd", "experimental-x86-avx512-simd", "experimental-loongarch64-simd"]

[lints]
clippy.allow_attributes_without_reason = "warn"
clippy.assertions_on_result_states = "warn"
clippy.assigning_clones = "warn"
clippy.bool_to_int_with_if = "warn"
clippy.cloned_instead_of_copied = "warn"
clippy.cognitive_complexity = "warn"
clippy.collection_is_never_read = "warn"
clippy.create_dir = "warn"
clippy.dbg_macro = "warn"
clippy.debug_assert_with_mut_call = "warn"
clippy.default_trait_access = "warn"
clippy.disallowed_script_idents = "deny"
clippy.doc_link_with_quotes = "warn"
clippy.doc_markdown = "warn"
clippy.else_if_without_else = "deny"
clippy.enum_glob_use = "warn"
clippy.exhaustive_enums = "warn"
clippy.exhaustive_structs = "warn"
clippy.filetype_is_file = "warn"
clippy.inefficient_to_string = "warn"
clippy.mem_forget = "warn"
clippy.missing_panics_doc = "warn"
clippy.mod_module_files = "deny"
clippy.multiple_inherent_impl = "warn"
clippy.must_use_candidate = "allow"
clippy.mutex_atomic = "warn"
clippy.mutex_integer = "warn"
clippy.needless_continue = "warn"
clippy.panic = "warn"
clippy.significant_drop_in_scrutinee = "warn"
clippy.string_slice = "warn"
clippy.todo = "warn"
clippy.unimplemented = "warn"
clippy.unreachable = "warn"
clippy.wildcard_dependencies = "deny"
clippy.wildcard_imports = "warn"
rust.missing_docs = "deny"
rust.missing_debug_implementations = "warn"
rust.unexpected_cfgs = "allow"
rust.unknown_lints = "allow"
rust.unreachable_pub = "warn"
rust.unsafe_code = "warn"

[profile.dev]
debug = "line-tables-only"

[profile.release]
opt-level = 3
lto = true
codegen-units = 1
incremental = false
panic = "abort"
strip = true

[[bench]]
name = "comparison"
harness = false