https://github.com/ericlbuehler/range-checked
Range checked types leveraging Rust's type system.
https://github.com/ericlbuehler/range-checked
Last synced: 11 months ago
JSON representation
Range checked types leveraging Rust's type system.
- Host: GitHub
- URL: https://github.com/ericlbuehler/range-checked
- Owner: EricLBuehler
- License: mit
- Created: 2023-12-04T17:46:21.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-02-29T14:50:26.000Z (over 2 years ago)
- Last Synced: 2025-04-02T20:11:27.970Z (about 1 year ago)
- Language: Rust
- Size: 1.07 MB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# range-checked
[](https://github.com/EricLBuehler/range-checked/actions/workflows/ci.yml)
[](https://ericlbuehler.github.io/range-checked/range_checked/)
`range-checked` provides range checked types which leverage Rust's type system. Please see docs [here](https://ericlbuehler.github.io/range-checked/range_checked/).
## Example
```rust
use range_checked::I32Bounded;
fn main() {
// Panics
let _: I32Bounded<0, 128, false> = 128.try_into().unwrap();
// Successful
let _: I32Bounded<0, 128, true> = 128.try_into().unwrap();
// Successful
let _: I32Bounded<0, 128, false> = 64.try_into().unwrap();
}
```