Struct core::ops::RangeFull1.0.0 [] [src]

pub struct RangeFull;

An unbounded range. Use .. (two dots) for its shorthand.

Its primary use case is slicing index. It cannot serve as an iterator because it doesn't have a starting point.

Examples

The .. syntax is a RangeFull:

fn main() { assert_eq!((..), std::ops::RangeFull); }
assert_eq!((..), std::ops::RangeFull);Run

It does not have an IntoIterator implementation, so you can't use it in a for loop directly. This won't compile:

fn main() { for i in .. { // ... } }
for i in .. {
   // ...
}Run

Used as a slicing index, RangeFull produces the full array as a slice.

fn main() { let arr = [0, 1, 2, 3]; assert_eq!(arr[ .. ], [0,1,2,3]); // RangeFull assert_eq!(arr[ ..3], [0,1,2 ]); assert_eq!(arr[1.. ], [ 1,2,3]); assert_eq!(arr[1..3], [ 1,2 ]); }
let arr = [0, 1, 2, 3];
assert_eq!(arr[ .. ], [0,1,2,3]);  // RangeFull
assert_eq!(arr[ ..3], [0,1,2  ]);
assert_eq!(arr[1.. ], [  1,2,3]);
assert_eq!(arr[1..3], [  1,2  ]);Run

Trait Implementations

impl Copy for RangeFull
[src]

impl Clone for RangeFull
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl PartialEq for RangeFull
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl Eq for RangeFull
[src]

impl Hash for RangeFull
[src]

Feeds this value into the state given, updating the hasher as necessary.

Feeds a slice of this type into the state provided.

impl Debug for RangeFull
[src]

Formats the value using the given formatter.