Crates.io | is_signed_trait |
lib.rs | is_signed_trait |
version | 0.1.0 |
source | src |
created_at | 2022-01-16 09:21:23.082372 |
updated_at | 2022-01-16 09:21:23.082372 |
description | Trait for IS_SIGNED associated constant |
homepage | |
repository | https://github.com/JohnScience/is_signed_trait |
max_upload_size | |
id | 514708 |
size | 17,018 |
At the time of writing, separation of implementations for primitive integers depending on whether or not they are signed is complicated because negative trait bounds and impl specialization are available only on Nightly Rust.
This crate alleviates the pain, though does not solve the problem entirely.
Excerpt from Rust's reference:
The unsigned integer types consist of:
Type | Minimum | Maximum |
---|
u8
| 0 | 28-1
u16
| 0 | 216-1
u32
| 0 | 232-1
u64
| 0 | 264-1
u128
| 0 | 2128-1
The signed two's complement integer types consist of:
Type | Minimum | Maximum |
---|
i8
| -(27) | 27-1
i16
| -(215) | 215-1
i32
| -(231) | 231-1
i64
| -(263) | 263-1
i128
| -(2127) | 2127-1