token-string 0.8.1

Short (up to 65,535 bytes) immutable strings to e.g. parse tokens, implemented in Rust. These are sometimes called 'German Strings', because Germans have written the paper mentioning them.
Documentation
# To use Cranelift as backend:
# Install it:
# `rustup component add rustc-codegen-cranelift-preview --toolchain nightly`
#
# cargo-features = ["edition2024", "codegen-backend"]
#
# [profile.dev]
# codegen-backend = "cranelift"

cargo-features = ["edition2024"]

[package]
name = "token-string"
version = "0.8.1"
authors = ["Roland Csaszar <rec@gmx.at>"]
description = "Short (up to 65,535 bytes) immutable strings to e.g. parse tokens, implemented in Rust. These are sometimes called 'German Strings', because Germans have written the paper mentioning them."
license-file = "LICENSE"
repository = "https://codeberg.org/Release-Candidate/token-string"
readme = "README.md"
categories = ["data-structures", "parsing"]
keywords = ["strings", "tokens", "small", "no_std", "immutable"]
edition = "2024"
publish = true
exclude = ["token-string.code-workspace", "token-string.sublime-project"]

[features]
default = []
pattern = []

[[example]]
name = "example"
path = "./examples/main.rs"
test = false
bench = false

[dependencies]

[dev-dependencies]
assert2 = "^0.3.15"
proptest = "^1.5.0"
mutants = "^0.0.3"

[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(kani)'] }

[lints.clippy]
all = { level = "warn", priority = 1 }
nursery = { level = "warn", priority = 1 }
cargo = { level = "warn", priority = 1 }
pedantic = { level = "warn", priority = -1 }

alloc_instead_of_core = "warn"
allow_attributes = "forbid"
allow_attributes_without_reason = "forbid"
as_underscore = "forbid"
cfg_not_test = "forbid"
clone_on_ref_ptr = "warn"
dbg_macro = "warn"
default_union_representation = "forbid"
else_if_without_else = "forbid"
empty_enum_variants_with_brackets = "forbid"
error_impl_error = "forbid"
exhaustive_enums = "forbid"
exhaustive_structs = "forbid"
filetype_is_file = "warn"
float_cmp_const = "forbid"
fn_to_numeric_cast_any = "forbid"
format_push_string = "forbid"
get_unwrap = "forbid"
if_then_some_else_none = "warn"
impl_trait_in_params = "forbid"
infinite_loop = "forbid"
let_underscore_must_use = "forbid"
let_underscore_untyped = "forbid"
lossy_float_literal = "forbid"
map_err_ignore = "forbid"
map_with_unused_argument_over_ranges = "warn"
mem_forget = "forbid"
missing_assert_message = "forbid"
missing_docs_in_private_items = "warn"
mixed_read_write_in_expression = "warn"
mod_module_files = "forbid"
module_name_repetitions = "warn"
multiple_inherent_impl = "forbid"
multiple_unsafe_ops_per_block = "allow"
mutex_atomic = "forbid"
needless_raw_strings = "forbid"
non_zero_suggestions = "warn"
pathbuf_init_then_push = "warn"
pattern_type_mismatch = "forbid"
print_stderr = "warn"
print_stdout = "warn"
pub_use = "allow"
pub_without_shorthand = "warn"
rc_mutex = "forbid"
redundant_type_annotations = "warn"
renamed_function_params = "forbid"
rest_pat_in_fully_bound_structs = "forbid"
same_name_method = "forbid"
semicolon_inside_block = "warn"
shadow_reuse = "forbid"
shadow_same = "forbid"
shadow_unrelated = "forbid"
std_instead_of_alloc = "warn"
std_instead_of_core = "forbid"
str_to_string = "warn"
string_to_string = "forbid"
tests_outside_test_module = "warn"
todo = "warn"
try_err = "forbid"
undocumented_unsafe_blocks = "forbid"
unimplemented = "warn"
unnecessary_safety_comment = "forbid"
unnecessary_safety_doc = "forbid"
unnecessary_self_imports = "forbid"
unneeded_field_pattern = "forbid"
unreachable = "warn"
unseparated_literal_suffix = "forbid"
unused_result_ok = "forbid"
unused_trait_names = "warn"
use_debug = "warn"
verbose_file_reads = "warn"