1 // Copyright 2017 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
11 // compile-flags: -Z parse-only -Z continue-parse-after-error
13 // Make sure that inclusive ranges with `...` syntax don't parse.
15 use std::ops::RangeToInclusive;
17 fn return_range_to() -> RangeToInclusive<i32> {
18 return ...1; //~ERROR `...` syntax cannot be used in expressions
19 //~^HELP Use `..` if you need an exclusive range (a < b)
20 //~^^HELP or `..=` if you need an inclusive range (a <= b)
24 let x = ...0; //~ERROR `...` syntax cannot be used in expressions
25 //~^HELP Use `..` if you need an exclusive range (a < b)
26 //~^^HELP or `..=` if you need an inclusive range (a <= b)
28 let x = 5...5; //~ERROR `...` syntax cannot be used in expressions
29 //~^HELP Use `..` if you need an exclusive range (a < b)
30 //~^^HELP or `..=` if you need an inclusive range (a <= b)
32 for _ in 0...1 {} //~ERROR `...` syntax cannot be used in expressions
33 //~^HELP Use `..` if you need an exclusive range (a < b)
34 //~^^HELP or `..=` if you need an inclusive range (a <= b)