pub struct SpecializationKey {
pub base_name: Spur,
pub type_args: Vec<Type>,
pub value_args: Vec<ConstValue>,
}Expand description
A key for a specialized function: (base_function_name, type_arguments).
Fields§
§base_name: SpurBase function name (e.g., “identity”)
type_args: Vec<Type>Type arguments (e.g., Type::I32)
value_args: Vec<ConstValue>Comptime value arguments captured at the call site (e.g. [Integer(7)]
for check_n(7) where the parameter is comptime n: i32). Two calls
with the same type args but different value args produce different
specializations so per-call comptime if/@compile_error checks fire
only for the values they apply to.
Trait Implementations§
Source§impl Clone for SpecializationKey
impl Clone for SpecializationKey
Source§fn clone(&self) -> SpecializationKey
fn clone(&self) -> SpecializationKey
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 SpecializationKey
impl Debug for SpecializationKey
Source§impl Hash for SpecializationKey
impl Hash for SpecializationKey
Source§impl PartialEq for SpecializationKey
impl PartialEq for SpecializationKey
impl Eq for SpecializationKey
impl StructuralPartialEq for SpecializationKey
Auto Trait Implementations§
impl Freeze for SpecializationKey
impl RefUnwindSafe for SpecializationKey
impl Send for SpecializationKey
impl Sync for SpecializationKey
impl Unpin for SpecializationKey
impl UnsafeUnpin for SpecializationKey
impl UnwindSafe for SpecializationKey
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<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§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].