pub(crate) enum RegionErrorKind<'tcx> {
TypeTestError {
type_test: TypeTest<'tcx>,
},
UnexpectedHiddenRegion {
span: Span,
hidden_ty: Ty<'tcx>,
key: OpaqueTypeKey<'tcx>,
member_region: Region<'tcx>,
},
BoundUniversalRegionError {
longer_fr: RegionVid,
error_element: RegionElement,
placeholder: PlaceholderRegion,
},
RegionError {
fr_origin: NllRegionVariableOrigin,
longer_fr: RegionVid,
shorter_fr: RegionVid,
is_reported: bool,
},
}Variants
TypeTestError
Fields
type_test: TypeTest<'tcx>A generic bound failure for a type test (T: 'a).
UnexpectedHiddenRegion
Fields
span: SpanThe span for the member constraint.
The hidden type.
key: OpaqueTypeKey<'tcx>The opaque type.
member_region: Region<'tcx>The unexpected region.
An unexpected hidden region for an opaque type.
BoundUniversalRegionError
Fields
longer_fr: RegionVidThe placeholder free region.
error_element: RegionElementThe region element that erroneously must be outlived by longer_fr.
placeholder: PlaceholderRegionThe placeholder region.
Higher-ranked subtyping error.
RegionError
Fields
fr_origin: NllRegionVariableOriginThe origin of the region.
longer_fr: RegionVidThe region that should outlive shorter_fr.
shorter_fr: RegionVidThe region that should be shorter, but we can’t prove it.
is_reported: boolIndicates whether this is a reported error. We currently only report the first error encountered and leave the rest unreported so as not to overwhelm the user.
Any other lifetime error.
Trait Implementations
sourceimpl<'tcx> Clone for RegionErrorKind<'tcx>
impl<'tcx> Clone for RegionErrorKind<'tcx>
sourcefn clone(&self) -> RegionErrorKind<'tcx>
fn clone(&self) -> RegionErrorKind<'tcx>
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations
impl<'tcx> !RefUnwindSafe for RegionErrorKind<'tcx>
impl<'tcx> !Send for RegionErrorKind<'tcx>
impl<'tcx> !Sync for RegionErrorKind<'tcx>
impl<'tcx> Unpin for RegionErrorKind<'tcx>
impl<'tcx> !UnwindSafe for RegionErrorKind<'tcx>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
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: 80 bytes
Size for each variant:
TypeTestError: 79 bytesUnexpectedHiddenRegion: 47 bytesBoundUniversalRegionError: 47 bytesRegionError: 27 bytes