Enum rustc_mir_build::build::matches::TestKind
source · enum TestKind<'tcx> {
Switch {
adt_def: AdtDef<'tcx>,
},
SwitchInt,
If,
Eq {
value: Const<'tcx>,
ty: Ty<'tcx>,
},
Range(Box<PatRange<'tcx>>),
Len {
len: u64,
op: BinOp,
},
}
Expand description
See Test
for more.
Variants§
Switch
Test what enum variant a value is.
SwitchInt
Test what value an integer or char
has.
If
Test what value a bool
has.
Eq
Test for equality with value, possibly after an unsizing coercion to
ty
,
Range(Box<PatRange<'tcx>>)
Test whether the value falls within an inclusive or exclusive range.
Len
Test that the length of the slice is equal to len
.
Trait Implementations§
source§impl<'tcx> PartialEq for TestKind<'tcx>
impl<'tcx> PartialEq for TestKind<'tcx>
impl<'tcx> StructuralPartialEq for TestKind<'tcx>
Auto Trait Implementations§
impl<'tcx> DynSend for TestKind<'tcx>
impl<'tcx> DynSync for TestKind<'tcx>
impl<'tcx> Freeze for TestKind<'tcx>
impl<'tcx> !RefUnwindSafe for TestKind<'tcx>
impl<'tcx> Send for TestKind<'tcx>
impl<'tcx> Sync for TestKind<'tcx>
impl<'tcx> Unpin for TestKind<'tcx>
impl<'tcx> !UnwindSafe for TestKind<'tcx>
Blanket Implementations§
§impl<T> AnyEq for T
impl<T> AnyEq for T
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
§impl<T> Filterable for T
impl<T> Filterable for T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<P> IntoQueryParam<P> for P
impl<P> IntoQueryParam<P> for P
fn into_query_param(self) -> P
source§impl<T> MaybeResult<T> for T
impl<T> MaybeResult<T> for T
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<'tcx, T> ToPredicate<'tcx, T> for T
impl<'tcx, T> ToPredicate<'tcx, T> for T
fn to_predicate(self, _tcx: TyCtxt<'tcx>) -> T
source§impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
default fn from_cycle_error( tcx: Tcx, cycle_error: &CycleError, _guar: ErrorGuaranteed ) -> T
source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> MaybeSendSync for T
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 48 bytes
Size for each variant:
Switch
: 16 bytesSwitchInt
: 0 bytesIf
: 0 bytesEq
: 48 bytesRange
: 16 bytesLen
: 24 bytes