about summary refs log tree commit diff
path: root/src/test/ui/range_inclusive.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/range_inclusive.rs')
-rw-r--r--src/test/ui/range_inclusive.rs121
1 files changed, 0 insertions, 121 deletions
diff --git a/src/test/ui/range_inclusive.rs b/src/test/ui/range_inclusive.rs
deleted file mode 100644
index c9107d24ed0..00000000000
--- a/src/test/ui/range_inclusive.rs
+++ /dev/null
@@ -1,121 +0,0 @@
-// run-pass
-// Test inclusive range syntax.
-#![allow(unused_braces)]
-#![allow(unused_comparisons)]
-
-use std::ops::RangeToInclusive;
-
-fn foo() -> isize { 42 }
-
-// Test that range syntax works in return statements
-pub fn return_range_to() -> RangeToInclusive<i32> { return ..=1; }
-
-#[derive(Debug)]
-struct P(#[allow(unused_tuple_struct_fields)] u8);
-
-pub fn main() {
-    let mut count = 0;
-    for i in 0_usize..=10 {
-        assert!(i >= 0 && i <= 10);
-        count += i;
-    }
-    assert_eq!(count, 55);
-
-    let mut count = 0;
-    let range = 0_usize..=10;
-    for i in range {
-        assert!(i >= 0 && i <= 10);
-        count += i;
-    }
-    assert_eq!(count, 55);
-
-    let mut count = 0;
-    for i in (0_usize..=10).step_by(2) {
-        assert!(i >= 0 && i <= 10 && i % 2 == 0);
-        count += i;
-    }
-    assert_eq!(count, 30);
-
-    let _ = 0_usize..=4+4-3;
-    let _ = 0..=foo();
-
-    let _ = { &42..=&100 }; // references to literals are OK
-    let _ = ..=42_usize;
-
-    // Test we can use two different types with a common supertype.
-    let x = &42;
-    {
-        let y = 42;
-        let _ = x..=&y;
-    }
-
-    // test collection indexing
-    let vec = (0..=10).collect::<Vec<_>>();
-    let slice: &[_] = &*vec;
-    let string = String::from("hello world");
-    let stir = "hello world";
-
-    assert_eq!(&vec[3..=6], &[3, 4, 5, 6]);
-    assert_eq!(&vec[ ..=6], &[0, 1, 2, 3, 4, 5, 6]);
-
-    assert_eq!(&slice[3..=6], &[3, 4, 5, 6]);
-    assert_eq!(&slice[ ..=6], &[0, 1, 2, 3, 4, 5, 6]);
-
-    assert_eq!(&string[3..=6], "lo w");
-    assert_eq!(&string[ ..=6], "hello w");
-
-    assert_eq!(&stir[3..=6], "lo w");
-    assert_eq!(&stir[ ..=6], "hello w");
-
-    // test the size hints and emptying
-    let mut long = 0..=255u8;
-    let mut short = 42..=42u8;
-    assert_eq!(long.size_hint(), (256, Some(256)));
-    assert_eq!(short.size_hint(), (1, Some(1)));
-    long.next();
-    short.next();
-    assert_eq!(long.size_hint(), (255, Some(255)));
-    assert_eq!(short.size_hint(), (0, Some(0)));
-    assert!(short.is_empty());
-
-    assert_eq!(long.len(), 255);
-    assert_eq!(short.len(), 0);
-
-    // test iterating backwards
-    assert_eq!(long.next_back(), Some(255));
-    assert_eq!(long.next_back(), Some(254));
-    assert_eq!(long.next_back(), Some(253));
-    assert_eq!(long.next(), Some(1));
-    assert_eq!(long.next(), Some(2));
-    assert_eq!(long.next_back(), Some(252));
-    for i in 3..=251 {
-        assert_eq!(long.next(), Some(i));
-    }
-    assert!(long.is_empty());
-
-    // check underflow
-    let mut narrow = 1..=0;
-    assert_eq!(narrow.next_back(), None);
-    assert!(narrow.is_empty());
-    let mut zero = 0u8..=0;
-    assert_eq!(zero.next_back(), Some(0));
-    assert_eq!(zero.next_back(), None);
-    assert!(zero.is_empty());
-    let mut high = 255u8..=255;
-    assert_eq!(high.next_back(), Some(255));
-    assert_eq!(high.next_back(), None);
-    assert!(high.is_empty());
-
-    // what happens if you have a nonsense range?
-    let mut nonsense = 10..=5;
-    assert_eq!(nonsense.next(), None);
-    assert!(nonsense.is_empty());
-
-    // output
-    assert_eq!(format!("{:?}", 0..=10), "0..=10");
-    assert_eq!(format!("{:?}", ..=10), "..=10");
-    assert_eq!(format!("{:?}", 9..=6), "9..=6");
-
-    // ensure that constructing a RangeInclusive does not need PartialOrd bound
-    assert_eq!(format!("{:?}", P(1)..=P(2)), "P(1)..=P(2)");
-}