rust/src/librustc_typeck
bors 8484831d29 Auto merge of #30884 - durka:inclusive-ranges, r=aturon
This PR implements [RFC 1192](https://github.com/rust-lang/rfcs/blob/master/text/1192-inclusive-ranges.md), which is triple-dot syntax for inclusive range expressions. The new stuff is behind two feature gates (one for the syntax and one for the std::ops types). This replaces the deprecated functionality in std::iter. Along the way I simplified the desugaring for all ranges.

This is my first contribution to rust which changes more than one character outside of a test or comment, so please review carefully! Some of the individual commit messages have more of my notes. Also thanks for putting up with my dumb questions in #rust-internals.

- For implementing `std::ops::RangeInclusive`, I took @Stebalien's suggestion from https://github.com/rust-lang/rfcs/pull/1192#issuecomment-137864421. It seemed to me to make the implementation easier and increase type safety. If that stands, the RFC should be amended to avoid confusion.
- I also kind of like @glaebhoerl's [idea](https://github.com/rust-lang/rfcs/pull/1254#issuecomment-147815299), which is unified inclusive/exclusive range syntax something like `x>..=y`. We can experiment with this while everything is behind a feature gate.
- There are a couple of FIXMEs left (see the last commit). I didn't know what to do about `RangeArgument` and I haven't added `Index` impls yet. Those should be discussed/finished before merging.

cc @Gankro since you [complained](https://www.reddit.com/r/rust/comments/3xkfro/what_happened_to_inclusive_ranges/cy5j0yq)
cc #27777 #30877 rust-lang/rust#1192 rust-lang/rfcs#1254
relevant to #28237 (tracking issue)
2016-03-06 07:16:41 +00:00
..
check Auto merge of #30884 - durka:inclusive-ranges, r=aturon 2016-03-06 07:16:41 +00:00
coherence Rename middle::ty::ctxt to TyCtxt 2016-03-03 07:37:56 +00:00
variance Rename middle::ty::ctxt to TyCtxt 2016-03-03 07:37:56 +00:00
astconv.rs Rename middle::ty::ctxt to TyCtxt 2016-03-03 07:37:56 +00:00
Cargo.toml bootstrap: Add a bunch of Cargo.toml files 2016-02-11 11:12:32 -08:00
collect.rs Rename middle::ty::ctxt to TyCtxt 2016-03-03 07:37:56 +00:00
constrained_type_params.rs Rename middle::ty::ctxt to TyCtxt 2016-03-03 07:37:56 +00:00
diagnostics.rs remove range lang items 2016-02-27 02:01:41 -05:00
lib.rs Rename middle::ty::ctxt to TyCtxt 2016-03-03 07:37:56 +00:00
rscope.rs