[−][src]Enum c2rust_refactor::analysis::ownership::constraint::Perm
A permission expression.
Variants
Concrete(ConcretePerm)
A concrete permission.
Min(&'lty [Perm<'lty>])
The minimum of some set of other permissions. The slice should contain only atomic
permissions, not Min
s.
StaticVar(Var)
SigVar(Var)
InstVar(Var)
LocalVar(Var)
Methods
impl<'lty, 'tcx> Perm<'lty>
[src]
pub fn read() -> Perm<'lty>
[src]
pub fn write() -> Perm<'lty>
[src]
pub fn move_() -> Perm<'lty>
[src]
pub fn var(pv: PermVar) -> Perm<'lty>
[src]
pub fn as_var(&self) -> Option<PermVar>
[src]
pub fn min(
a: Perm<'lty>,
b: Perm<'lty>,
arena: &'lty SyncDroplessArena
) -> Perm<'lty>
[src]
a: Perm<'lty>,
b: Perm<'lty>,
arena: &'lty SyncDroplessArena
) -> Perm<'lty>
Construct the minimum of two permissions. This needs a reference to the arena, since it
may need to allocate a new slice for Min
.
pub fn contains(&self, other: Perm<'lty>) -> bool
[src]
Check if other
appears somewhere within self
. Note this checks syntactic presence
only, not any kind of subtyping relation.
pub fn for_each_replacement<F>(
&self,
arena: &'lty SyncDroplessArena,
old: Perm<'lty>,
news: &[Perm<'lty>],
callback: F
) where
F: FnMut(Perm<'lty>),
[src]
&self,
arena: &'lty SyncDroplessArena,
old: Perm<'lty>,
news: &[Perm<'lty>],
callback: F
) where
F: FnMut(Perm<'lty>),
Modify self
by replacing old
with each element of news
in turn, yielding each result
to callback
.
pub fn for_each_atom<F: FnMut(Perm<'lty>)>(&self, callback: &mut F)
[src]
Iterater over each atomic (non-Min
) permission that appears in self
.
Trait Implementations
impl<'lty> Eq for Perm<'lty>
[src]
impl<'lty> Copy for Perm<'lty>
[src]
impl<'lty> PartialOrd<Perm<'lty>> for Perm<'lty>
[src]
fn partial_cmp(&self, other: &Perm<'lty>) -> Option<Ordering>
[src]
fn lt(&self, other: &Perm<'lty>) -> bool
[src]
fn le(&self, other: &Perm<'lty>) -> bool
[src]
fn gt(&self, other: &Perm<'lty>) -> bool
[src]
fn ge(&self, other: &Perm<'lty>) -> bool
[src]
impl<'lty> PartialEq<Perm<'lty>> for Perm<'lty>
[src]
impl<'lty> Clone for Perm<'lty>
[src]
fn clone(&self) -> Perm<'lty>
[src]
default fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<'lty> Ord for Perm<'lty>
[src]
fn cmp(&self, other: &Perm<'lty>) -> Ordering
[src]
default fn max(self, other: Self) -> Self
1.21.0[src]
Compares and returns the maximum of two values. Read more
default fn min(self, other: Self) -> Self
1.21.0[src]
Compares and returns the minimum of two values. Read more
default fn clamp(self, min: Self, max: Self) -> Self
[src]
clamp
)Restrict a value to a certain interval. Read more
impl<'lty> Debug for Perm<'lty>
[src]
impl<'lty> Hash for Perm<'lty>
[src]
Auto Trait Implementations
Blanket Implementations
impl<T> Lone for T
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
impl<T> From for T
[src]
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<E> SpecializationError for E
[src]
default fn not_found<S, T>(
trait_name: &'static str,
method_name: &'static str
) -> E where
T: ?Sized,
[src]
trait_name: &'static str,
method_name: &'static str
) -> E where
T: ?Sized,
impl<T> Erased for T
[src]
impl<T> Send for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Sync for T where
T: ?Sized,
[src]
T: ?Sized,
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]
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
fn equivalent(&self, key: &K) -> bool
[src]
impl<T> MaybeResult for T
[src]
impl<'a, T> Captures for T where
T: ?Sized,
[src]
T: ?Sized,