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: ConstraintCategoryfrom_closure: boolspan: Spanregion_name: RegionNameopt_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