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: Span
The 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: RegionVid
The placeholder free region.
error_element: RegionElement
The region element that erroneously must be outlived by longer_fr
.
placeholder: PlaceholderRegion
The placeholder region.
Higher-ranked subtyping error.
RegionError
Fields
fr_origin: NllRegionVariableOrigin
The origin of the region.
longer_fr: RegionVid
The region that should outlive shorter_fr
.
shorter_fr: RegionVid
The region that should be shorter, but we can’t prove it.
is_reported: bool
Indicates 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