#non-zero #non-null #char #no-alloc

no-std nonzero-char

Implement NonZeroChar, like NonZeroU32

3 unstable releases

0.2.0 Apr 25, 2025
0.1.1 Apr 25, 2025
0.1.0 Apr 24, 2025

#130 in No standard library

Download history 328/week @ 2025-04-23

328 downloads per month

MIT license

69KB
610 lines

Implement NonZeroChar, like NonZeroU32

  • Implemented of all char stable methods (most of forwarding)

Examples

use nonzero_char::NonZeroChar;

assert_eq!(NonZeroChar::new('a').unwrap(), 'a');
assert_eq!(NonZeroChar::new('\0'), None);

Null Pointer Optimization:

use nonzero_char::NonZeroChar;

assert_eq!(size_of::<NonZeroChar>(), size_of::<Option<NonZeroChar>>());

No runtime deps