pub struct SpecializedFunction<'db> {
pub base: ConcreteFunctionWithBodyId<'db>,
pub args: Arc<[SpecializationArg<'db>]>,
}Expand description
Specialized function
Specialized functions are generated by the compiler some of the function arguments are known at compile time and the resulting specialized function is smaller than the original one.
Specialized functions are identified by the base function and the arguments.
Fields§
§base: ConcreteFunctionWithBodyId<'db>The base function.
args: Arc<[SpecializationArg<'db>]>Optional const assignments for the arguments.
Implementations§
Trait Implementations§
Source§impl<'db> Clone for SpecializedFunction<'db>
impl<'db> Clone for SpecializedFunction<'db>
Source§fn clone(&self) -> SpecializedFunction<'db>
fn clone(&self) -> SpecializedFunction<'db>
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<'db> Debug for SpecializedFunction<'db>
impl<'db> Debug for SpecializedFunction<'db>
Source§impl<'a> DebugWithDb<'a> for SpecializedFunction<'a>
impl<'a> DebugWithDb<'a> for SpecializedFunction<'a>
type Db = dyn Database
fn fmt(&self, f: &mut Formatter<'_>, db: &'a dyn Database) -> Result
fn debug<'me>(&'me self, db: &'db Self::Db) -> DebugWith<'me, 'db, Self::Db>where
Self: Sized + 'me,
fn into_debug<'me>(self, db: &'db Self::Db) -> DebugWith<'me, 'db, Self::Db>where
Self: Sized + 'me,
Source§impl<'db> Hash for SpecializedFunction<'db>
impl<'db> Hash for SpecializedFunction<'db>
Source§impl<'db> PartialEq for SpecializedFunction<'db>
impl<'db> PartialEq for SpecializedFunction<'db>
impl<'db> Eq for SpecializedFunction<'db>
impl<'db> StructuralPartialEq for SpecializedFunction<'db>
Auto Trait Implementations§
impl<'db> Freeze for SpecializedFunction<'db>
impl<'db> RefUnwindSafe for SpecializedFunction<'db>
impl<'db> Send for SpecializedFunction<'db>
impl<'db> Sync for SpecializedFunction<'db>
impl<'db> Unpin for SpecializedFunction<'db>
impl<'db> UnwindSafe for SpecializedFunction<'db>
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,
Source§impl<'db, T> DebugDbUpcast<'db, T> for Twhere
T: ?Sized,
impl<'db, T> DebugDbUpcast<'db, T> for Twhere
T: ?Sized,
fn debug_db_upcast(&'db self) -> &'db T
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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