|
|
|
|
|
by vlovich123
473 days ago
|
|
> This enables some memory layout optimization. For example, Option<NonZero<u32>> is the same size as u32 NaN doesn’t have this optimization because the optimization isn’t generic across all possible representations. Trying to make it generic gets quite complex and floats might have many such representations (eg you want NaN to be optimized, someone else needs NaN and thinks infinity works better etc). In other words: Nonzero is primarily for size optimization of Option<number>. If you want sentinels, then write your own wrapper, it’s not hard. |
|