Nothing special is done against overflow beside the checks done by Rust in debug mode for arithmetic overflows.
Interval bounds must implement, for most operations, the
Width trait. This is because the maximum size of an n-bits interval can not fit in an n-bits integer. Consider the interval
[0..1] with 1-bit bounds, the size
2 can not be represented with only one bit. It needs
n+1 bits, and this is problematic with the largest primitive types such as
u64. Therefore, the interval bounds must be used within the limits of
Width::max_value(), and not by the limits provided by
Closed and bounded generic interval.
Closed and bounded generic interval set.
Interval and bound specific operations.