rustc_borrowck::nll

Type Alias PoloniusOutput

Source
pub type PoloniusOutput = Output<RustcFacts>;

Aliased Type§

struct PoloniusOutput {
Show 17 fields pub errors: HashMap<LocationIndex, Vec<BorrowIndex>, BuildHasherDefault<FxHasher>>, pub subset_errors: HashMap<LocationIndex, BTreeSet<(PoloniusRegionVid, PoloniusRegionVid)>, BuildHasherDefault<FxHasher>>, pub move_errors: HashMap<LocationIndex, Vec<MovePathIndex>, BuildHasherDefault<FxHasher>>, pub dump_enabled: bool, pub loan_live_at: HashMap<LocationIndex, Vec<BorrowIndex>, BuildHasherDefault<FxHasher>>, pub origin_contains_loan_at: HashMap<LocationIndex, BTreeMap<PoloniusRegionVid, BTreeSet<BorrowIndex>>, BuildHasherDefault<FxHasher>>, pub origin_contains_loan_anywhere: HashMap<PoloniusRegionVid, BTreeSet<BorrowIndex>, BuildHasherDefault<FxHasher>>, pub origin_live_on_entry: HashMap<LocationIndex, Vec<PoloniusRegionVid>, BuildHasherDefault<FxHasher>>, pub loan_invalidated_at: HashMap<LocationIndex, Vec<BorrowIndex>, BuildHasherDefault<FxHasher>>, pub subset: HashMap<LocationIndex, BTreeMap<PoloniusRegionVid, BTreeSet<PoloniusRegionVid>>, BuildHasherDefault<FxHasher>>, pub subset_anywhere: HashMap<PoloniusRegionVid, BTreeSet<PoloniusRegionVid>, BuildHasherDefault<FxHasher>>, pub var_live_on_entry: HashMap<LocationIndex, Vec<Local>, BuildHasherDefault<FxHasher>>, pub var_drop_live_on_entry: HashMap<LocationIndex, Vec<Local>, BuildHasherDefault<FxHasher>>, pub path_maybe_initialized_on_exit: HashMap<LocationIndex, Vec<MovePathIndex>, BuildHasherDefault<FxHasher>>, pub path_maybe_uninitialized_on_exit: HashMap<LocationIndex, Vec<MovePathIndex>, BuildHasherDefault<FxHasher>>, pub known_contains: HashMap<PoloniusRegionVid, BTreeSet<BorrowIndex>, BuildHasherDefault<FxHasher>>, pub var_maybe_partly_initialized_on_exit: HashMap<LocationIndex, Vec<Local>, BuildHasherDefault<FxHasher>>,
}

Fields§

§errors: HashMap<LocationIndex, Vec<BorrowIndex>, BuildHasherDefault<FxHasher>>§subset_errors: HashMap<LocationIndex, BTreeSet<(PoloniusRegionVid, PoloniusRegionVid)>, BuildHasherDefault<FxHasher>>§move_errors: HashMap<LocationIndex, Vec<MovePathIndex>, BuildHasherDefault<FxHasher>>§dump_enabled: bool§loan_live_at: HashMap<LocationIndex, Vec<BorrowIndex>, BuildHasherDefault<FxHasher>>§origin_contains_loan_at: HashMap<LocationIndex, BTreeMap<PoloniusRegionVid, BTreeSet<BorrowIndex>>, BuildHasherDefault<FxHasher>>§origin_contains_loan_anywhere: HashMap<PoloniusRegionVid, BTreeSet<BorrowIndex>, BuildHasherDefault<FxHasher>>§origin_live_on_entry: HashMap<LocationIndex, Vec<PoloniusRegionVid>, BuildHasherDefault<FxHasher>>§loan_invalidated_at: HashMap<LocationIndex, Vec<BorrowIndex>, BuildHasherDefault<FxHasher>>§subset: HashMap<LocationIndex, BTreeMap<PoloniusRegionVid, BTreeSet<PoloniusRegionVid>>, BuildHasherDefault<FxHasher>>§subset_anywhere: HashMap<PoloniusRegionVid, BTreeSet<PoloniusRegionVid>, BuildHasherDefault<FxHasher>>§var_live_on_entry: HashMap<LocationIndex, Vec<Local>, BuildHasherDefault<FxHasher>>§var_drop_live_on_entry: HashMap<LocationIndex, Vec<Local>, BuildHasherDefault<FxHasher>>§path_maybe_initialized_on_exit: HashMap<LocationIndex, Vec<MovePathIndex>, BuildHasherDefault<FxHasher>>§path_maybe_uninitialized_on_exit: HashMap<LocationIndex, Vec<MovePathIndex>, BuildHasherDefault<FxHasher>>§known_contains: HashMap<PoloniusRegionVid, BTreeSet<BorrowIndex>, BuildHasherDefault<FxHasher>>§var_maybe_partly_initialized_on_exit: HashMap<LocationIndex, Vec<Local>, BuildHasherDefault<FxHasher>>

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: 520 bytes

Implementations

Source§

impl<T> Output<T>
where T: FactTypes,

Source

pub fn compute( all_facts: &AllFacts<T>, algorithm: Algorithm, dump_enabled: bool, ) -> Output<T>

All variants require the same initial preparations, done in multiple successive steps:

  • compute initialization data
  • compute liveness
  • prepare static inputs as shared Relations
  • in cases where LocationInsensitive variant is ran as a filtering pre-pass, partial results can also be stored in the context, so that the following variant can use it to prune its own input data
Source

pub fn errors_at( &self, location: <T as FactTypes>::Point, ) -> &[<T as FactTypes>::Loan]

Source

pub fn loans_in_scope_at( &self, location: <T as FactTypes>::Point, ) -> &[<T as FactTypes>::Loan]

Source

pub fn origin_contains_loan_at( &self, location: <T as FactTypes>::Point, ) -> Cow<'_, BTreeMap<<T as FactTypes>::Origin, BTreeSet<<T as FactTypes>::Loan>>>

Source

pub fn origins_live_at( &self, location: <T as FactTypes>::Point, ) -> &[<T as FactTypes>::Origin]

Source

pub fn subsets_at( &self, location: <T as FactTypes>::Point, ) -> Cow<'_, BTreeMap<<T as FactTypes>::Origin, BTreeSet<<T as FactTypes>::Origin>>>

Trait Implementations

Source§

impl<T> Clone for Output<T>
where T: Clone + FactTypes, <T as FactTypes>::Point: Clone, <T as FactTypes>::Loan: Clone, <T as FactTypes>::Origin: Clone, <T as FactTypes>::Path: Clone, <T as FactTypes>::Variable: Clone,

Source§

fn clone(&self) -> Output<T>

Returns a copy of the value. Read more
Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T> Debug for Output<T>
where T: Debug + FactTypes, <T as FactTypes>::Point: Debug, <T as FactTypes>::Loan: Debug, <T as FactTypes>::Origin: Debug, <T as FactTypes>::Path: Debug, <T as FactTypes>::Variable: Debug,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more