as_repr 1.12.0

Rust trait for constant `#[repr(T)]` conversions
Documentation

As Repr

tests GitHub commit activity GitHub contributors
Crates.io Crates.io Crates.io (recent)
Crates.io Docs.rs

Rust trait for constant #[repr(T)] conversions

Check out the documentation for examples.

Features

  • Const trait workaround for stable Rust exposing a safe transmute to the repr type with a trait
  • Optionally-enabled const trait workarounds for generic integer and float operations and comparisons on the inherent representation
    • inherent: Providing AsReprInherent built on AsRepr but chooses a specific representation to interpret as for const operations
    • cmp: Providing const fns generic for comparable types
    • float: Providing const fns generic for floating point types
    • int: Providing const fns generic for integer types
    • num: Providing const fns generic for numeric types (floats and ints)
    • ops: Providing const fns generic for mathematical types (numeric types and Durations)

MSRV

The current MSRV is Rust 1.91.

Any future MSRV updates will follow the Ardaku MSRV guidelines.

License

Copyright © 2025-2026 The As Repr Contributors.

Licensed under any of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be licensed as described above, without any additional terms or conditions.

AI / LLM (Non-)Usage

All of my projects are developed without using AI/LLM tooling. LLM usage for contributions to any of my projects is strictly disallowed, with the exception of LLM tooling trained on exclusively CC0, Unlicense, or equivalently-licensed code. Additionally, any LLM tooling used for contributions must not claim or require claiming its own authorship according to its usage policy.

By opening a PR on any of my repositories, you assert that the work (excluding any test data) is either human generated, computer generated trained on works in the public domain (with generated works under your sole ownership to license), or a combination of the two. LLM bug reports are welcome as issues, as long as there is a disclaimer that it was discovered with an LLM. For comments on PRs and issues, LLM usage is strictly disallowed, including quoting or citing an LLM's opinion or suggestion.

Help

If you want help using or contributing to this library, feel free to send me an email at aldaronlau@gmail.com.