pub struct ProcMacros(Id);Expand description
The proc macros. Do not use Self::get! Use Self::get_for_crate instead.
Tuple Fields§
§0: IdImplementations§
Source§impl ProcMacros
impl ProcMacros
pub fn ingredient(db: &dyn Database) -> &IngredientImpl<Self>
fn ingredient_(zalsa: &Zalsa) -> &IngredientImpl<Self>
pub fn ingredient_mut( zalsa_mut: &mut Zalsa, ) -> (&mut IngredientImpl<Self>, &mut Runtime)
Source§impl ProcMacros
impl ProcMacros
pub fn new<Db_>(
db: &Db_,
by_crate: FxHashMap<Crate, Arc<CrateProcMacros>>,
) -> Selfwhere
Db_: ?Sized + Database,
pub fn builder( by_crate: FxHashMap<Crate, Arc<CrateProcMacros>>, ) -> <Self as HasBuilder>::Builder
pub fn by_crate<'db, Db_>(
self,
db: &'db Db_,
) -> &'db FxHashMap<Crate, Arc<CrateProcMacros>>where
Db_: ?Sized + Database,
pub fn set_by_crate<'db, Db_>(
self,
db: &'db mut Db_,
) -> impl Setter<FieldTy = FxHashMap<Crate, Arc<CrateProcMacros>>>where
Db_: ?Sized + Database,
pub fn try_get<Db_>(db: &Db_) -> Option<Self>where
Db_: ?Sized + Database,
pub fn get<Db_>(db: &Db_) -> Selfwhere
Db_: ?Sized + Database,
Sourcepub fn default_debug_fmt(this: Self, f: &mut Formatter<'_>) -> Resultwhere
for<'__trivial_bounds> FxHashMap<Crate, Arc<CrateProcMacros>>: Debug,
pub fn default_debug_fmt(this: Self, f: &mut Formatter<'_>) -> Resultwhere
for<'__trivial_bounds> FxHashMap<Crate, Arc<CrateProcMacros>>: Debug,
Default debug formatting for this struct (may be useful if you define your own Debug impl)
Source§impl ProcMacros
impl ProcMacros
pub fn init_default(db: &dyn SourceDatabase, durability: Durability)
Source§impl ProcMacros
impl ProcMacros
Sourcepub fn get_for_crate<'db>(
db: &'db dyn SourceDatabase,
krate: Crate,
) -> <Option<Arc<CrateProcMacros>> as SalsaAsRef>::AsRef<'db>
pub fn get_for_crate<'db>( db: &'db dyn SourceDatabase, krate: Crate, ) -> <Option<Arc<CrateProcMacros>> as SalsaAsRef>::AsRef<'db>
Incrementality query to prevent queries from directly depending on Self::get.
Trait Implementations§
Source§impl Clone for ProcMacros
impl Clone for ProcMacros
Source§fn clone(&self) -> ProcMacros
fn clone(&self) -> ProcMacros
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Configuration for ProcMacros
impl Configuration for ProcMacros
const LOCATION: Location
const DEBUG_NAME: &'static str = "ProcMacros"
const FIELD_DEBUG_NAMES: &'static [&'static str]
Source§type Struct = ProcMacros
type Struct = ProcMacros
The input struct (which wraps an
Id)Source§type Fields = (HashMap<Crate, Arc<CrateProcMacros>, FxBuildHasher>,)
type Fields = (HashMap<Crate, Arc<CrateProcMacros>, FxBuildHasher>,)
A (possibly empty) tuple of the fields for this struct.
type Revisions = [Revision; 1]
type Durabilities = [Durability; 1]
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, D::Error>
fn deserialize<'de, D: Deserializer<'de>>( deserializer: D, ) -> Result<Self::Fields, D::Error>
Deserialize the fields using
serde. Read moreSource§impl Debug for ProcMacros
impl Debug for ProcMacros
Source§impl HasJar for ProcMacros
impl HasJar for ProcMacros
Source§impl Hash for ProcMacros
impl Hash for ProcMacros
Source§impl PartialEq for ProcMacros
impl PartialEq for ProcMacros
Source§fn eq(&self, other: &ProcMacros) -> bool
fn eq(&self, other: &ProcMacros) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl SalsaStructInDb for ProcMacros
impl SalsaStructInDb for ProcMacros
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 moreSource§impl Update for ProcMacros
impl Update for ProcMacros
impl Copy for ProcMacros
impl Eq for ProcMacros
impl StructuralPartialEq for ProcMacros
Auto Trait Implementations§
impl Freeze for ProcMacros
impl RefUnwindSafe for ProcMacros
impl Send for ProcMacros
impl Sync for ProcMacros
impl Unpin for ProcMacros
impl UnsafeUnpin for ProcMacros
impl UnwindSafe for ProcMacros
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> HashEqLike<T> for T
impl<T> HashEqLike<T> 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>
§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