no-std symbolism

Unique symbols made from human readable tags

1 unstable release

0.1.0 Jul 25, 2024

#435 in No standard library

29 downloads per month

MIT/Apache

49KB
650 lines

Symbolism

Unique symbols made from human readable tags.

Version docs.rs Crates.io License Crates.io

This crate uses arithmetic coding to compress a string literal into a u64 value. These compressed values are always unique per input string.

The values can also be used in const generics. Which allows using strings in types. The [s] macro provides a concise way to create symbols for these uses.

This crate was inspired by smol-symbol which uses a fixed width encoding and a u128.

no_std Support

This crate is always #![no_std], it can be used anywhere Rust can.

Minimum Supported Rust Version

Requires Rust 1.71.0.

This crate follows the "Latest stable Rust" policy. The listed MSRV won't be changed unless needed. However, updating the MSRV anywhere up to the latest stable at time of release is allowed.

Contributing

Contributions in any form (issues, pull requests, etc.) to this project must adhere to Rust's Code of Conduct.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in symbolism by you shall be licensed as below, without any additional terms or conditions.

License

This project is licensed under either of

at your option.

No runtime deps