[][src]Struct polonius_engine::Output

pub struct Output<Region, Loan, Point, Variable, MovePath> where
    Region: Atom,
    Region: Atom,
    Loan: Atom,
    Point: Atom,
    Variable: Atom,
    MovePath: Atom
{ pub errors: FxHashMap<Point, Vec<Loan>>, pub dump_enabled: bool, pub borrow_live_at: FxHashMap<Point, Vec<Loan>>, pub restricts: FxHashMap<Point, BTreeMap<Region, BTreeSet<Loan>>>, pub restricts_anywhere: FxHashMap<Region, BTreeSet<Loan>>, pub region_live_at: FxHashMap<Point, Vec<Region>>, pub invalidates: FxHashMap<Point, Vec<Loan>>, pub subset: FxHashMap<Point, BTreeMap<Region, BTreeSet<Region>>>, pub subset_anywhere: FxHashMap<Region, BTreeSet<Region>>, pub var_live_at: FxHashMap<Point, Vec<Variable>>, pub var_drop_live_at: FxHashMap<Point, Vec<Variable>>, pub path_maybe_initialized_at: FxHashMap<Point, Vec<MovePath>>, pub var_maybe_initialized_on_exit: FxHashMap<Point, Vec<Variable>>, }

Fields

errors: FxHashMap<Point, Vec<Loan>>dump_enabled: boolborrow_live_at: FxHashMap<Point, Vec<Loan>>restricts: FxHashMap<Point, BTreeMap<Region, BTreeSet<Loan>>>restricts_anywhere: FxHashMap<Region, BTreeSet<Loan>>region_live_at: FxHashMap<Point, Vec<Region>>invalidates: FxHashMap<Point, Vec<Loan>>subset: FxHashMap<Point, BTreeMap<Region, BTreeSet<Region>>>subset_anywhere: FxHashMap<Region, BTreeSet<Region>>var_live_at: FxHashMap<Point, Vec<Variable>>var_drop_live_at: FxHashMap<Point, Vec<Variable>>path_maybe_initialized_at: FxHashMap<Point, Vec<MovePath>>var_maybe_initialized_on_exit: FxHashMap<Point, Vec<Variable>>

Methods

impl<Region, Loan, Point, Variable, MovePath> Output<Region, Loan, Point, Variable, MovePath> where
    Region: Atom,
    Loan: Atom,
    Point: Atom,
    Variable: Atom,
    MovePath: Atom
[src]

pub fn compute(
    all_facts: &AllFacts<Region, Loan, Point, Variable, MovePath>,
    algorithm: Algorithm,
    dump_enabled: bool
) -> Self
[src]

pub fn errors_at(&self, location: Point) -> &[Loan][src]

pub fn borrows_in_scope_at(&self, location: Point) -> &[Loan][src]

pub fn restricts_at(
    &self,
    location: Point
) -> Cow<BTreeMap<Region, BTreeSet<Loan>>>
[src]

pub fn regions_live_at(&self, location: Point) -> &[Region][src]

pub fn subsets_at(
    &self,
    location: Point
) -> Cow<BTreeMap<Region, BTreeSet<Region>>>
[src]

Trait Implementations

impl<Region: Clone, Loan: Clone, Point: Clone, Variable: Clone, MovePath: Clone> Clone for Output<Region, Loan, Point, Variable, MovePath> where
    Region: Atom,
    Region: Atom,
    Loan: Atom,
    Point: Atom,
    Variable: Atom,
    MovePath: Atom
[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl<Region: Debug, Loan: Debug, Point: Debug, Variable: Debug, MovePath: Debug> Debug for Output<Region, Loan, Point, Variable, MovePath> where
    Region: Atom,
    Region: Atom,
    Loan: Atom,
    Point: Atom,
    Variable: Atom,
    MovePath: Atom
[src]

Auto Trait Implementations

impl<Region, Loan, Point, Variable, MovePath> Send for Output<Region, Loan, Point, Variable, MovePath> where
    Loan: Send,
    MovePath: Send,
    Point: Send,
    Region: Send,
    Variable: Send

impl<Region, Loan, Point, Variable, MovePath> Unpin for Output<Region, Loan, Point, Variable, MovePath> where
    Loan: Unpin,
    MovePath: Unpin,
    Point: Unpin,
    Region: Unpin,
    Variable: Unpin

impl<Region, Loan, Point, Variable, MovePath> Sync for Output<Region, Loan, Point, Variable, MovePath> where
    Loan: Sync,
    MovePath: Sync,
    Point: Sync,
    Region: Sync,
    Variable: Sync

impl<Region, Loan, Point, Variable, MovePath> UnwindSafe for Output<Region, Loan, Point, Variable, MovePath> where
    Loan: RefUnwindSafe + UnwindSafe,
    MovePath: UnwindSafe,
    Point: UnwindSafe,
    Region: RefUnwindSafe + UnwindSafe,
    Variable: UnwindSafe

impl<Region, Loan, Point, Variable, MovePath> RefUnwindSafe for Output<Region, Loan, Point, Variable, MovePath> where
    Loan: RefUnwindSafe,
    MovePath: RefUnwindSafe,
    Point: RefUnwindSafe,
    Region: RefUnwindSafe,
    Variable: RefUnwindSafe

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]