1.0.0[][src]Struct std::ops::RangeFull

pub struct RangeFull;

An unbounded range (..).

RangeFull is primarily used as a slicing index, its shorthand is ... It cannot serve as an Iterator because it doesn't have a starting point.


The .. syntax is a 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:

This example deliberately fails to compile
for i in .. {
   // ...

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

let arr = [0, 1, 2, 3, 4];
assert_eq!(arr[ ..  ], [0,1,2,3,4]);  // RangeFull
assert_eq!(arr[ .. 3], [0,1,2    ]);
assert_eq!(arr[ ..=3], [0,1,2,3  ]);
assert_eq!(arr[1..  ], [  1,2,3,4]);
assert_eq!(arr[1.. 3], [  1,2    ]);
assert_eq!(arr[1..=3], [  1,2,3  ]);Run

Trait Implementations

impl Eq for RangeFull[src]

impl PartialEq<RangeFull> for RangeFull[src]

impl StructuralEq for RangeFull[src]

impl Hash for RangeFull[src]

impl Clone for RangeFull[src]

impl StructuralPartialEq for RangeFull[src]

impl<T> RangeBounds<T> for RangeFull where
    T: ?Sized

impl<T> SliceIndex<[T]> for RangeFull1.15.0[src]

type Output = [T]

The output type returned by methods.

impl SliceIndex<str> for RangeFull1.20.0[src]

Implements substring slicing with syntax &self[..] or &mut self[..].

Returns a slice of the whole string, i.e., returns &self or &mut self. Equivalent to &self[0 .. len] or &mut self[0 .. len]. Unlike other indexing operations, this can never panic.

This operation is O(1).

Prior to 1.20.0, these indexing operations were still supported by direct implementation of Index and IndexMut.

Equivalent to &self[0 .. len] or &mut self[0 .. len].

type Output = str

The output type returned by methods.

impl Copy for RangeFull[src]

impl Debug for RangeFull[src]

impl Index<RangeFull> for String[src]

type Output = str

The returned type after indexing.

impl IndexMut<RangeFull> for String1.3.0[src]

impl Index<RangeFull> for CString1.7.0[src]

type Output = CStr

The returned type after indexing.

impl Index<RangeFull> for OsString[src]

type Output = OsStr

The returned type after indexing.

Auto Trait Implementations

impl UnwindSafe for RangeFull

impl RefUnwindSafe for RangeFull

impl Unpin for RangeFull

impl Send for RangeFull

impl Sync for RangeFull

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> Into<U> for T where
    U: From<T>, 

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized

impl<T> BorrowMut<T> for T where
    T: ?Sized

impl<T> Any for T where
    T: 'static + ?Sized

impl<T> ToOwned for T where
    T: Clone

type Owned = T

The resulting type after obtaining ownership.