core::range

Struct RangeFull

source
pub struct RangeFull;
๐Ÿ”ฌThis is a nightly-only experimental API. (new_range_api #125687)
Expand description

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);

It does not have an IntoIterator implementation, so you canโ€™t use it in a for loop directly. This wonโ€™t 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]); // This is the `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   ]);

Trait Implementationsยง

1.6.0 ยท sourceยง

impl Clone for RangeFull

sourceยง

fn clone(&self) -> RangeFull

Returns a copy of the value. Read more
1.6.0 ยท sourceยง

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
1.6.0 ยท sourceยง

impl Debug for RangeFull

sourceยง

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
1.6.0 ยท sourceยง

impl Default for RangeFull

sourceยง

fn default() -> RangeFull

Returns the โ€œdefault valueโ€ for a type. Read more
1.6.0 ยท sourceยง

impl Hash for RangeFull

sourceยง

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.6.0 ยท sourceยง

fn hash_slice<H: Hasher>(data: &[Self], state: &mut H)
where Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
1.6.0 ยท sourceยง

impl PartialEq for RangeFull

sourceยง

fn eq(&self, other: &RangeFull) -> bool

Tests for self and other values to be equal, and is used by ==.
1.6.0 ยท sourceยง

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
1.28.0 ยท sourceยง

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

sourceยง

fn start_bound(&self) -> Bound<&T>

Start index bound. Read more
sourceยง

fn end_bound(&self) -> Bound<&T>

End index bound. Read more
1.35.0 ยท sourceยง

fn contains<U>(&self, item: &U) -> bool
where T: PartialOrd<U>, U: ?Sized + PartialOrd<T>,

Returns true if item is contained in the range. Read more
1.15.0 ยท sourceยง

impl<T> SliceIndex<[T]> for RangeFull

sourceยง

type Output = [T]

The output type returned by methods.
sourceยง

fn get(self, slice: &[T]) -> Option<&[T]>

๐Ÿ”ฌThis is a nightly-only experimental API. (slice_index_methods)
Returns a shared reference to the output at this location, if in bounds.
sourceยง

fn get_mut(self, slice: &mut [T]) -> Option<&mut [T]>

๐Ÿ”ฌThis is a nightly-only experimental API. (slice_index_methods)
Returns a mutable reference to the output at this location, if in bounds.
sourceยง

unsafe fn get_unchecked(self, slice: *const [T]) -> *const [T]

๐Ÿ”ฌThis is a nightly-only experimental API. (slice_index_methods)
Returns a pointer to the output at this location, without performing any bounds checking. Read more
sourceยง

unsafe fn get_unchecked_mut(self, slice: *mut [T]) -> *mut [T]

๐Ÿ”ฌThis is a nightly-only experimental API. (slice_index_methods)
Returns a mutable pointer to the output at this location, without performing any bounds checking. Read more
sourceยง

fn index(self, slice: &[T]) -> &[T]

๐Ÿ”ฌThis is a nightly-only experimental API. (slice_index_methods)
Returns a shared reference to the output at this location, panicking if out of bounds.
sourceยง

fn index_mut(self, slice: &mut [T]) -> &mut [T]

๐Ÿ”ฌThis is a nightly-only experimental API. (slice_index_methods)
Returns a mutable reference to the output at this location, panicking if out of bounds.
1.20.0 ยท sourceยง

impl SliceIndex<str> for RangeFull

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].

sourceยง

type Output = str

The output type returned by methods.
sourceยง

fn get(self, slice: &str) -> Option<&Self::Output>

๐Ÿ”ฌThis is a nightly-only experimental API. (slice_index_methods)
Returns a shared reference to the output at this location, if in bounds.
sourceยง

fn get_mut(self, slice: &mut str) -> Option<&mut Self::Output>

๐Ÿ”ฌThis is a nightly-only experimental API. (slice_index_methods)
Returns a mutable reference to the output at this location, if in bounds.
sourceยง

unsafe fn get_unchecked(self, slice: *const str) -> *const Self::Output

๐Ÿ”ฌThis is a nightly-only experimental API. (slice_index_methods)
Returns a pointer to the output at this location, without performing any bounds checking. Read more
sourceยง

unsafe fn get_unchecked_mut(self, slice: *mut str) -> *mut Self::Output

๐Ÿ”ฌThis is a nightly-only experimental API. (slice_index_methods)
Returns a mutable pointer to the output at this location, without performing any bounds checking. Read more
sourceยง

fn index(self, slice: &str) -> &Self::Output

๐Ÿ”ฌThis is a nightly-only experimental API. (slice_index_methods)
Returns a shared reference to the output at this location, panicking if out of bounds.
sourceยง

fn index_mut(self, slice: &mut str) -> &mut Self::Output

๐Ÿ”ฌThis is a nightly-only experimental API. (slice_index_methods)
Returns a mutable reference to the output at this location, panicking if out of bounds.
1.6.0 ยท sourceยง

impl Copy for RangeFull

1.6.0 ยท sourceยง

impl Eq for RangeFull

1.6.0 ยท sourceยง

impl StructuralPartialEq for RangeFull

Auto Trait Implementationsยง

Blanket Implementationsยง

sourceยง

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

sourceยง

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
sourceยง

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

sourceยง

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
sourceยง

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

sourceยง

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
sourceยง

impl<T> CloneToUninit for T
where T: Clone,

sourceยง

unsafe fn clone_to_uninit(&self, dst: *mut T)

๐Ÿ”ฌThis is a nightly-only experimental API. (clone_to_uninit #126799)
Performs copy-assignment from self to dst. Read more
sourceยง

impl<T> From<T> for T

sourceยง

fn from(t: T) -> T

Returns the argument unchanged.

sourceยง

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

sourceยง

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

sourceยง

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

sourceยง

type Error = Infallible

The type returned in the event of a conversion error.
sourceยง

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
sourceยง

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

sourceยง

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

The type returned in the event of a conversion error.
sourceยง

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.