pub struct LibraryRoots(/* private fields */);Expand description
The set of roots for crates.io libraries. Files in libraries are assumed to never change.
Implementations§
Source§impl LibraryRoots
impl LibraryRoots
pub fn ingredient(db: &dyn Database) -> &IngredientImpl<Self>
pub fn ingredient_mut( zalsa_mut: &mut Zalsa, ) -> (&mut IngredientImpl<Self>, &mut Runtime)
Source§impl LibraryRoots
impl LibraryRoots
pub fn new<Db_>(db: &Db_, roots: FxHashSet<SourceRootId>) -> Selfwhere
Db_: ?Sized + Database,
pub fn builder(roots: FxHashSet<SourceRootId>) -> <Self as HasBuilder>::Builder
pub fn roots<'db, Db_>(self, db: &'db Db_) -> &'db FxHashSet<SourceRootId>where
Db_: ?Sized + Database,
pub fn set_roots<'db, Db_>(
self,
db: &'db mut Db_,
) -> impl Setter<FieldTy = FxHashSet<SourceRootId>> + use<'db, Db_>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,
Trait Implementations§
Source§impl Clone for LibraryRoots
impl Clone for LibraryRoots
Source§fn clone(&self) -> LibraryRoots
fn clone(&self) -> LibraryRoots
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 Configuration for LibraryRoots
impl Configuration for LibraryRoots
const LOCATION: Location
const DEBUG_NAME: &'static str = "LibraryRoots"
const FIELD_DEBUG_NAMES: &'static [&'static str]
Source§type Struct = LibraryRoots
type Struct = LibraryRoots
The input struct (which wraps an
Id)Source§type Fields = (HashSet<SourceRootId, FxBuildHasher>,)
type Fields = (HashSet<SourceRootId, 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 LibraryRoots
impl Debug for LibraryRoots
Source§impl HasJar for LibraryRoots
impl HasJar for LibraryRoots
Source§impl Hash for LibraryRoots
impl Hash for LibraryRoots
Source§impl PartialEq for LibraryRoots
impl PartialEq for LibraryRoots
Source§impl SalsaStructInDb for LibraryRoots
impl SalsaStructInDb for LibraryRoots
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 LibraryRoots
impl Update for LibraryRoots
impl Copy for LibraryRoots
impl Eq for LibraryRoots
impl StructuralPartialEq for LibraryRoots
Auto Trait Implementations§
impl Freeze for LibraryRoots
impl RefUnwindSafe for LibraryRoots
impl Send for LibraryRoots
impl Sync for LibraryRoots
impl Unpin for LibraryRoots
impl UnwindSafe for LibraryRoots
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<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
§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<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>
§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