Struct rustc_borrowck::diagnostics::outlives_suggestion::OutlivesSuggestionBuilder [−][src]
Expand description
Collects information about outlives constraints that needed to be added for a given MIR node corresponding to a function definition.
Adds a help note suggesting adding a where clause with the needed constraints.
Fields
constraints_to_add: BTreeMap<RegionVid, Vec<RegionVid>>
The list of outlives constraints that need to be added. Specifically, we map each free
region to all other regions that it must outlive. I will use the shorthand fr: outlived_frs
. Not all of these regions will already have names necessarily. Some could be
implicit free regions that we inferred. These will need to be given names in the final
suggestion message.
Implementations
Returns true
iff the RegionNameSource
is a valid source for an outlives
suggestion.
fn region_vid_to_name(
&self,
mbcx: &MirBorrowckCtxt<'_, '_>,
region: RegionVid
) -> Option<RegionName>
fn region_vid_to_name(
&self,
mbcx: &MirBorrowckCtxt<'_, '_>,
region: RegionVid
) -> Option<RegionName>
Returns a name for the region if it is suggestable. See region_name_is_suggestable
.
fn compile_all_suggestions(
&self,
mbcx: &MirBorrowckCtxt<'_, '_>
) -> SmallVec<[SuggestedConstraint; 2]>
fn compile_all_suggestions(
&self,
mbcx: &MirBorrowckCtxt<'_, '_>
) -> SmallVec<[SuggestedConstraint; 2]>
Compiles a list of all suggestions to be printed in the final big suggestion.
Add the outlives constraint fr: outlived_fr
to the set of constraints we need to suggest.
pub(crate) fn intermediate_suggestion(
&mut self,
mbcx: &MirBorrowckCtxt<'_, '_>,
errci: &ErrorConstraintInfo,
diag: &mut DiagnosticBuilder<'_>
)
pub(crate) fn intermediate_suggestion(
&mut self,
mbcx: &MirBorrowckCtxt<'_, '_>,
errci: &ErrorConstraintInfo,
diag: &mut DiagnosticBuilder<'_>
)
Emit an intermediate note on the given Diagnostic
if the involved regions are
suggestable.
If there is a suggestion to emit, add a diagnostic to the buffer. This is the final suggestion including all collected constraints.
Trait Implementations
Returns the “default value” for a type. Read more
Auto Trait Implementations
impl RefUnwindSafe for OutlivesSuggestionBuilder
impl Send for OutlivesSuggestionBuilder
impl Sync for OutlivesSuggestionBuilder
impl Unpin for OutlivesSuggestionBuilder
impl UnwindSafe for OutlivesSuggestionBuilder
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: 24 bytes