pub struct UnionId(pub(crate) Id, pub(crate) PhantomData<fn() -> &'static ()>);Tuple Fields§
§0: Id§1: PhantomData<fn() -> &'static ()>Implementations§
Source§impl UnionId
impl UnionId
pub fn ingredient(zalsa: &Zalsa) -> &IngredientImpl<Self>
Source§impl UnionId
impl UnionId
pub fn fields(self, db: &dyn SourceDatabase) -> &VariantFields
pub fn fields_with_source_map( self, db: &dyn SourceDatabase, ) -> (&VariantFields, &ExpressionStoreSourceMap)
Trait Implementations§
Source§impl Configuration for UnionId
impl Configuration for UnionId
const LOCATION: Location
const DEBUG_NAME: &'static str = "UnionId"
const REVISIONS: NonZeroUsize
Source§fn serialize<S: Serializer>(
fields: &Self::Fields<'_>,
serializer: S,
) -> Result<S::Ok, S::Error>
fn serialize<S: Serializer>( fields: &Self::Fields<'_>, serializer: S, ) -> Result<S::Ok, S::Error>
Serialize the fields using
serde. Read moreSource§fn deserialize<'de, D: Deserializer<'de>>(
deserializer: D,
) -> Result<Self::Fields<'static>, D::Error>
fn deserialize<'de, D: Deserializer<'de>>( deserializer: D, ) -> Result<Self::Fields<'static>, D::Error>
Deserialize the fields using
serde. Read moreimpl Copy for UnionId
impl Eq for UnionId
Source§impl From<UnionId> for LangItemTarget
impl From<UnionId> for LangItemTarget
Source§fn from(it: UnionId) -> LangItemTarget
fn from(it: UnionId) -> LangItemTarget
Converts to this type from the input type.
Source§impl From<UnionId> for ModuleDefId
impl From<UnionId> for ModuleDefId
Source§fn from(it: UnionId) -> ModuleDefId
fn from(it: UnionId) -> ModuleDefId
Converts to this type from the input type.
Source§impl From<UnionId> for GenericDefId
impl From<UnionId> for GenericDefId
Source§fn from(it: UnionId) -> GenericDefId
fn from(it: UnionId) -> GenericDefId
Converts to this type from the input type.
Source§impl Ord for UnionId
impl Ord for UnionId
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialOrd for UnionId
impl PartialOrd for UnionId
Source§impl SalsaStructInDb for UnionId
impl SalsaStructInDb for UnionId
Source§const LEAF_TYPE_IDS: &'static [ConstTypeId]
const LEAF_TYPE_IDS: &'static [ConstTypeId]
The type IDs of all concrete (leaf) salsa struct types that this type can contain. Read more
type MemoIngredientMap = MemoIngredientSingletonIndex
Source§fn lookup_ingredient_index(aux: &Zalsa) -> IngredientIndices
fn lookup_ingredient_index(aux: &Zalsa) -> IngredientIndices
Lookup or create ingredient indices. Read more
Source§fn entries(zalsa: &Zalsa) -> impl Iterator<Item = DatabaseKeyIndex> + '_
fn entries(zalsa: &Zalsa) -> impl Iterator<Item = DatabaseKeyIndex> + '_
Returns the IDs of any instances of this struct in the database.
Source§fn cast(id: Id, type_id: TypeId) -> Option<Self>
fn cast(id: Id, type_id: TypeId) -> Option<Self>
Plumbing to support nested salsa supertypes. Read more
Source§unsafe fn memo_table(
zalsa: &Zalsa,
id: Id,
current_revision: Revision,
) -> MemoTableWithTypes<'_>
unsafe fn memo_table( zalsa: &Zalsa, id: Id, current_revision: Revision, ) -> MemoTableWithTypes<'_>
Return the memo table associated with
id. Read moreimpl SalsaValue for UnionId
impl Send for UnionId
impl StructuralPartialEq for UnionId
impl Sync for UnionId
Auto Trait Implementations§
impl Freeze for UnionId
impl RefUnwindSafe for UnionId
impl Unpin for UnionId
impl UnsafeUnpin for UnionId
impl UnwindSafe for UnionId
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> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§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<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
Source§impl<T> HasResolver for T
impl<T> HasResolver for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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