pub struct Allocator { /* private fields */ }Expand description
An allocator for the static single-assignment
values of a kernel. For mutable variables, the value is the root pointer that serves as a
handle into the place where the inner value is stored (memref, Place, lvalue, whatever your
compiler of choice uses as a name). This means all values are immutable, and only the memory
referenced by them may be mutated.
Implementations§
Source§impl Allocator
impl Allocator
pub fn clone_deep(&self) -> Self
Sourcepub fn create_value(&self, ty: Type) -> Value
pub fn create_value(&self, ty: Type) -> Value
Create a new immutable value of type specified by ty.
pub fn new_local_index(&self) -> u32
pub fn current_local_index(&self) -> u32
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Allocator
impl<'de> Deserialize<'de> for Allocator
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for Allocator
Auto Trait Implementations§
impl !Send for Allocator
impl !Sync for Allocator
impl Freeze for Allocator
impl RefUnwindSafe for Allocator
impl Unpin for Allocator
impl UnsafeUnpin for Allocator
impl UnwindSafe for Allocator
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more