[−][src]Struct rustc_mir_build::thir::pattern::_match::Slice

struct Slice {
    array_len: Option<u64>,
    kind: SliceKind,
}

A constructor for array and slice patterns.

Fields

array_len: Option<u64>

None if the matched value is a slice, Some(n) if it is an array of size n.

kind: SliceKind

The kind of pattern it is: fixed-length [x, y] or variable length [x, .., y].

Implementations

impl Slice[src]

fn pattern_kind(self) -> SliceKind[src]

Returns what patterns this constructor covers: either fixed-length patterns or variable-length patterns.

fn value_kind(self) -> SliceKind[src]

Returns what values this constructor covers: either values of only one given length, or values of length above a given length. This is different from pattern_kind() because in some cases the pattern only takes into account a subset of the entries of the array, but still only captures values of a given length.

fn arity(self) -> u64[src]

Trait Implementations

impl Clone for Slice[src]

impl Copy for Slice[src]

impl Debug for Slice[src]

impl Eq for Slice[src]

impl PartialEq<Slice> for Slice[src]

impl StructuralEq for Slice[src]

impl StructuralPartialEq for Slice[src]

Auto Trait Implementations

impl RefUnwindSafe for Slice

impl Send for Slice

impl Sync for Slice

impl Unpin for Slice

impl UnwindSafe for Slice

Blanket Implementations

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

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

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

impl<'a, T> Captures<'a> for T where
    T: ?Sized, 
[src]

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

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

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

type Owned = T

The resulting type after obtaining ownership.

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