显然我可以做这样的事情:
impl From<RangeInclusive<u32>> for Range<u32>{
fn from(r: RangeInclusive<u32>) -> Self {
(*r.start()..(r.end()+1))
}
}
Run Code Online (Sandbox Code Playgroud)
但是我想知道是否已经有一个标准函数?(快速谷歌后我无法在文档/中找到任何内容)。如果不是,如何为每个 num 类型实现这一点,并且这样的实现是否会受到 Rust 的欢迎,或者是否有一个原因尚未实现?
并非每个都RangeInclusive可以转换为 a ,这是存在的Range主要原因。RangeInclusive例如,0u32..=u32::MAX无法转换为,Range<u32>因为u32::MAX + 1超出了 的范围u32。
可以想象Range<u32>可以实现TryFrom<RangeInclusive<u32>>,但这种转换很少是必要的。您通常应该使用RangeBounds.
| 归档时间: |
|
| 查看次数: |
1224 次 |
| 最近记录: |