Struct std::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 PartialEq<RangeFull> for RangeFull

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

This method tests for !=.

impl Clone for RangeFull

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Debug for RangeFull

Formats the value using the given formatter.

impl Eq for RangeFull

impl Copy for RangeFull

impl Hash for RangeFull

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

Feeds a slice of this type into the state provided.

impl<T> RangeArgument<T> for RangeFull