Enum rustc_borrowck::diagnostics::explain_borrow::BorrowExplanation [−][src]
pub(crate) enum BorrowExplanation {
UsedLater(LaterUseKind, Span, Option<Span>),
UsedLaterInLoop(LaterUseKind, Span, Option<Span>),
UsedLaterWhenDropped {
drop_loc: Location,
dropped_local: Local,
should_note_order: bool,
},
MustBeValidFor {
category: ConstraintCategory,
from_closure: bool,
span: Span,
region_name: RegionName,
opt_place_desc: Option<String>,
},
Unexplained,
}
Variants
UsedLater(LaterUseKind, Span, Option<Span>)
Tuple Fields of UsedLater
UsedLaterInLoop(LaterUseKind, Span, Option<Span>)
Tuple Fields of UsedLaterInLoop
Fields of MustBeValidFor
category: ConstraintCategory
from_closure: bool
span: Span
region_name: RegionName
opt_place_desc: Option<String>
Implementations
pub(crate) fn add_explanation_to_diagnostic<'tcx>(
&self,
tcx: TyCtxt<'tcx>,
body: &Body<'tcx>,
local_names: &IndexVec<Local, Option<Symbol>>,
err: &mut DiagnosticBuilder<'_>,
borrow_desc: &str,
borrow_span: Option<Span>,
multiple_borrow_span: Option<(Span, Span)>
)
pub(crate) fn add_lifetime_bound_suggestion_to_diagnostic(
&self,
err: &mut DiagnosticBuilder<'_>,
category: &ConstraintCategory,
span: Span,
region_name: &RegionName
)
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for BorrowExplanation
impl !Send for BorrowExplanation
impl !Sync for BorrowExplanation
impl Unpin for BorrowExplanation
impl UnwindSafe for BorrowExplanation
Blanket Implementations
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: 128 bytes
Size for each variant:
UsedLater
: 23 bytesUsedLaterInLoop
: 23 bytesUsedLaterWhenDropped
: 23 bytesMustBeValidFor
: 127 bytesUnexplained
: 0 bytes