[][src]Enum c2rust_refactor::analysis::ownership::PermVar

pub enum PermVar {
    Static(Var),
    Sig(Var),
    Inst(Var),
    Local(Var),
}

A permission variable.

Variants

Static(Var)

"Static" variables appear in the types of non-function items. This includes static items as well as structs and other ADTs. Constraints on static vars are inferred from their usage inside functions.

Sig(Var)

"Signature" variables appear in the signatures of function items. Constraints on sig vars are inferred from the body of the function in question.

Inst(Var)

"Instantiation" variables appear in the instantiations of function signatures inside other functions. They are left intact during the initial summary generation, to be filled in during a later phase of the analysis.

Local(Var)

"Local" variables appear in the types of temporaries. Constraints on local vars are produced while analyzing a function, and are simplified away when the function's constraint generation is done.

Trait Implementations

impl Eq for PermVar[src]

impl Copy for PermVar[src]

impl PartialEq<PermVar> for PermVar[src]

impl Clone for PermVar[src]

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

Performs copy-assignment from source. Read more

impl Debug for PermVar[src]

Auto Trait Implementations

impl Send for PermVar

impl Sync for PermVar

Blanket Implementations

impl<T> Lone for T[src]

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

type Owned = T

impl<T> From for T[src]

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

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

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

impl<T, U> TryInto 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<E> SpecializationError for E[src]

impl<T> Erased for T[src]

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

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

impl<T> Same for T

type Output = T

Should always be Self

impl<Q, K> Equivalent for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> MaybeResult for T[src]

impl<'a, T> Captures for T where
    T: ?Sized
[src]

impl<T> Erased for T

impl<T> Make for T[src]

impl<T> Slottable for T[src]