rust/tests/ui/new-range/enabled.rs
Trevor Gross bb239c290c library: Rename IterRange* to Range*Iter
There is a weak convention in the ecosystem that `IterFoos` is an
iterator yielding items of type `Foo` (e.g. `bitflags` `IterNames`,
`hashbrown` `IterBuckets`), while `FooIter` is an iterator over `Foo`
from an `.iter()` or `.into_iter()` method (e.g. `memchr` `OneIter`,
`regex` `SetMatchesIter`). Rename `IterRange`, `IterRangeInclusive`, and
`IterRangeFrom` to `RangeIter`, `RangeInclusiveIter`, and
`RangeInclusiveIter` to match this.

Tracking issue: RUST-125687 (`new_range_api`)
2025-12-02 16:20:50 -05:00

24 lines
700 B
Rust

//@ check-pass
#![feature(new_range_api)]
#![feature(new_range)]
fn main() {
// Unchanged
let a: core::range::RangeFull = ..;
let b: core::range::RangeTo<u8> = ..2;
let _: core::ops::RangeFull = a;
let _: core::ops::RangeTo<u8> = b;
// Changed
let a: core::range::RangeFrom<u8> = 1..;
let b: core::range::Range<u8> = 2..3;
let c: core::range::RangeInclusive<u8> = 4..=5;
let d: core::range::RangeToInclusive<u8> = ..=3;
let _: core::range::RangeFromIter<u8> = a.into_iter();
let _: core::range::RangeIter<u8> = b.into_iter();
let _: core::range::RangeInclusiveIter<u8> = c.into_iter();
// RangeToInclusive has no Iterator implementation
}