Structs

A (half-open) range bounded inclusively below and exclusively above (start..end).
A range only bounded inclusively below (start..).
An unbounded range (..).
A range bounded inclusively below and above (start..=end).
A range only bounded exclusively above (..end).
A range only bounded inclusively above (..=end).

Enums

An endpoint of a range of keys.

Traits

OneSidedRangeExperimental
OneSidedRange is implemented for built-in range types that are unbounded on one side. For example, a.., ..b and ..=c implement OneSidedRange, but .., d..e, and f..=g do not.
RangeBounds is implemented by Rust’s built-in range types, produced by range syntax like .., a.., ..b, ..=c, d..e, or f..=g.