pub enum RirParamMode {
Normal,
MutRef,
Ref,
Comptime,
}Expand description
Parameter passing mode in RIR.
Per ADR-0076, the surface language no longer has inout / borrow
keyword forms. The legacy mode names are gone; MutRef / Ref survive
as a transport mechanism for places where the param’s Type cannot
itself be wrapped (notably interface-typed parameters, where the type
pool cannot intern Ref(Interface) / MutRef(Interface)).
Variants§
Normal
Normal pass-by-value parameter (or any reference whose ref-ness is
already encoded in the parameter Type).
MutRef
Exclusive mutable borrow on a parameter whose declared type cannot
itself be wrapped as MutRef(...) (e.g. interface params).
Ref
Shared immutable borrow with the same caveat as MutRef.
Comptime
Comptime parameter - evaluated at compile time (used for type parameters)
Trait Implementations§
Source§impl Clone for RirParamMode
impl Clone for RirParamMode
Source§fn clone(&self) -> RirParamMode
fn clone(&self) -> RirParamMode
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RirParamMode
impl Debug for RirParamMode
Source§impl Default for RirParamMode
impl Default for RirParamMode
Source§fn default() -> RirParamMode
fn default() -> RirParamMode
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for RirParamMode
impl<'de> Deserialize<'de> for RirParamMode
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
Source§impl PartialEq for RirParamMode
impl PartialEq for RirParamMode
Source§impl Serialize for RirParamMode
impl Serialize for RirParamMode
impl Copy for RirParamMode
impl Eq for RirParamMode
impl StructuralPartialEq for RirParamMode
Auto Trait Implementations§
impl Freeze for RirParamMode
impl RefUnwindSafe for RirParamMode
impl Send for RirParamMode
impl Sync for RirParamMode
impl Unpin for RirParamMode
impl UnsafeUnpin for RirParamMode
impl UnwindSafe for RirParamMode
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<'src, T> IntoMaybe<'src, T> for Twhere
T: 'src,
impl<'src, T> IntoMaybe<'src, T> for Twhere
T: 'src,
§impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
§type Iter<'a> = Once<&'a T>
where
T: 'a
type Iter<'a> = Once<&'a T> where T: 'a
An iterator over the items within this container, by reference.
§fn contains(&self, val: &T) -> boolwhere
T: PartialEq,
fn contains(&self, val: &T) -> boolwhere
T: PartialEq,
Check whether an item is contained within this sequence.
§fn to_maybe_ref<'b>(item: <T as Seq<'p, T>>::Item<'b>) -> Maybe<T, &'p T>where
'p: 'b,
fn to_maybe_ref<'b>(item: <T as Seq<'p, T>>::Item<'b>) -> Maybe<T, &'p T>where
'p: 'b,
Convert an item of the sequence into a [
MaybeRef].