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.

Examples

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 .. {
   // ...
}Run

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<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 Eq for RangeFull[src]

impl Debug for RangeFull[src]

impl PartialEq<RangeFull> for RangeFull[src]

impl Hash for RangeFull[src]

impl<T> RangeBounds<T> for RangeFull where
    T: ?Sized
1.28.0[src]

impl Clone for RangeFull[src]

impl Copy for RangeFull[src]

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

impl Index<RangeFull> for String[src]

type Output = str

The returned type after indexing.

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>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

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

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.