diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2015-01-07 17:38:03 -0800 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2015-01-07 17:38:03 -0800 |
| commit | d11bfba71bb71e05ab93e1576a07a48269b13021 (patch) | |
| tree | c066874abec04d60a316410fbd147990de45b7dc /src/test | |
| parent | 662132560133a17cb598083f44de2fbf3d74f157 (diff) | |
| parent | 68a783a89f4c7e74d4c7e09bfac67283e054d4fc (diff) | |
| download | rust-d11bfba71bb71e05ab93e1576a07a48269b13021.tar.gz rust-d11bfba71bb71e05ab93e1576a07a48269b13021.zip | |
rollup merge of #20720: nick29581/assoc-ice-missing
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/run-pass/ranges-precedence.rs | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/test/run-pass/ranges-precedence.rs b/src/test/run-pass/ranges-precedence.rs new file mode 100644 index 00000000000..f678eed8775 --- /dev/null +++ b/src/test/run-pass/ranges-precedence.rs @@ -0,0 +1,52 @@ +// Copyright 2015 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// Test that the precedence of ranges is correct + +#![feature(slicing_syntax)] + +struct Foo { + foo: uint, +} + +impl Foo { + fn bar(&self) -> uint { 5 } +} + +fn main() { + let x = 1+3..4+5; + assert!(x == (4..9)); + + let x = 1..4+5; + assert!(x == (1..9)); + + let x = 1+3..4; + assert!(x == (4..4)); + + let a = Foo { foo: 3 }; + let x = a.foo..a.bar(); + assert!(x == (3..5)); + + let x = 1+3..; + assert!(x == (4..)); + let x = ..1+3; + assert!(x == (..4)); + + let a = &[0i32, 1, 2, 3, 4, 5, 6]; + let x = &a[1+1..2+2]; + assert!(x == &a[2..4]); + let x = &a[..1+2]; + assert!(x == &a[..3]); + let x = &a[1+2..]; + assert!(x == &a[3..]); + + for _i in 2+4..10-3 {} +} + |
