Enum rustc_mir::borrow_check::diagnostics::explain_borrow::BorrowExplanation [−][src]
pub(in borrow_check) 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
Tuple Fields of UsedLater
Tuple Fields of UsedLaterInLoop
Fields of MustBeValidFor
category: ConstraintCategoryfrom_closure: boolspan: Spanregion_name: RegionNameopt_place_desc: Option<String>Implementations
pub(in borrow_check) 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(in borrow_check) 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 be different between compiler versions and platforms. 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