pub enum VariantId {
EnumVariantId(EnumVariantId),
StructId(StructId),
UnionId(UnionId),
}Variants§
Implementations§
Source§impl VariantId
impl VariantId
pub fn from_non_enum(adt_id: AdtId) -> Option<Self>
pub fn fields(self, db: &dyn SourceDatabase) -> &VariantFields
pub fn fields_with_source_map( self, db: &dyn SourceDatabase, ) -> (&VariantFields, &ExpressionStoreSourceMap)
pub fn file_id(self, db: &dyn SourceDatabase) -> HirFileId
pub fn adt_id(self, db: &dyn SourceDatabase) -> AdtId
Trait Implementations§
impl Copy for VariantId
impl Eq for VariantId
Source§impl From<EnumVariantId> for VariantId
impl From<EnumVariantId> for VariantId
Source§fn from(it: EnumVariantId) -> VariantId
fn from(it: EnumVariantId) -> VariantId
Converts to this type from the input type.
Source§impl From<VariantId> for ExpressionStoreOwnerId
impl From<VariantId> for ExpressionStoreOwnerId
Source§impl HasChildSource<Idx<FieldData>> for VariantId
impl HasChildSource<Idx<FieldData>> for VariantId
type Value = Either<TupleField, RecordField>
fn child_source( &self, db: &dyn SourceDatabase, ) -> InFile<ArenaMap<LocalFieldId, Self::Value>>
Source§impl HasResolver for VariantId
impl HasResolver for VariantId
Source§impl Ord for VariantId
impl Ord for VariantId
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 VariantId
impl PartialOrd for VariantId
Source§impl SalsaStructInDb for VariantId
impl SalsaStructInDb for VariantId
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 = MemoIngredientIndices
Source§fn lookup_ingredient_index(__zalsa: &Zalsa) -> IngredientIndices
fn lookup_ingredient_index(__zalsa: &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 VariantId
impl StructuralPartialEq for VariantId
Auto Trait Implementations§
impl Freeze for VariantId
impl RefUnwindSafe for VariantId
impl Send for VariantId
impl Sync for VariantId
impl Unpin for VariantId
impl UnsafeUnpin for VariantId
impl UnwindSafe for VariantId
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
§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