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
cargo-features = ["edition2024"]

[dependencies]

[dev-dependencies.assert2]
version = "^0.3.15"

[dev-dependencies.mutants]
version = "^0.0.3"

[dev-dependencies.proptest]
version = "^1.5.0"

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

[features]
default = []
pattern = []

[lib]
name = "token_string"
path = "src/lib.rs"

[lints.clippy]
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"

[lints.clippy.all]
level = "warn"
priority = 1

[lints.clippy.cargo]
level = "warn"
priority = 1

[lints.clippy.nursery]
level = "warn"
priority = 1

[lints.clippy.pedantic]
level = "warn"
priority = -1

[lints.rust.unexpected_cfgs]
check-cfg = ["cfg(kani)"]
level = "warn"
priority = 0

[package]
authors = ["Roland Csaszar <rec@gmx.at>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["data-structures", "parsing"]
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."
edition = "2024"
exclude = ["token-string.code-workspace", "token-string.sublime-project"]
keywords = ["strings", "tokens", "small", "no_std", "immutable"]
license-file = "LICENSE"
name = "token-string"
publish = true
readme = "README.md"
repository = "https://codeberg.org/Release-Candidate/token-string"
version = "0.8.1"

[[test]]
name = "main"
path = "tests/main.rs"

[[test]]
name = "test_builder"
path = "tests/test_builder.rs"

[[test]]
name = "test_string"
path = "tests/test_string.rs"