pub struct SourceRoot(/* private fields */);Expand description
The project’s file set — a salsa input so project-wide queries (the global class_name
registry, M1) iterate the files incrementally. It changes only when a file is added or
removed, never on a body edit, and is held at MEDIUM durability — so a keystroke (a LOW
change) never invalidates project-wide derived data.
Implementations§
Source§impl SourceRoot
impl SourceRoot
pub fn ingredient(db: &dyn Database) -> &IngredientImpl<Self>
pub fn ingredient_mut( zalsa_mut: &mut Zalsa, ) -> (&mut IngredientImpl<Self>, &mut Runtime)
Source§impl SourceRoot
impl SourceRoot
pub fn new<Db_>(db: &Db_, files: Vec<FileText>) -> Self
pub fn builder(files: Vec<FileText>) -> <Self as HasBuilder>::Builder
Sourcepub fn files<'db, Db_>(self, db: &'db Db_) -> &'db Vec<FileText>
pub fn files<'db, Db_>(self, db: &'db Db_) -> &'db Vec<FileText>
Every file currently in the project, ordered by FileId for determinism.
pub fn set_files<'db, Db_>( self, db: &'db mut Db_, ) -> impl Setter<FieldTy = Vec<FileText>>
Trait Implementations§
Source§impl Clone for SourceRoot
impl Clone for SourceRoot
Source§fn clone(&self) -> SourceRoot
fn clone(&self) -> SourceRoot
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 SourceRoot
impl Configuration for SourceRoot
const LOCATION: Location
const DEBUG_NAME: &'static str = "SourceRoot"
const FIELD_DEBUG_NAMES: &'static [&'static str]
Source§type Struct = SourceRoot
type Struct = SourceRoot
The input struct (which wraps an
Id)Source§type Durabilities = [Durability; 1]
type Durabilities = [Durability; 1]
Available on non-crate feature
persistence only.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 moreimpl Copy for SourceRoot
impl Eq for SourceRoot
Source§impl HasJar for SourceRoot
impl HasJar for SourceRoot
Source§impl Hash for SourceRoot
impl Hash for SourceRoot
Source§impl PartialEq for SourceRoot
impl PartialEq for SourceRoot
Source§fn eq(&self, other: &SourceRoot) -> bool
fn eq(&self, other: &SourceRoot) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl SalsaStructInDb for SourceRoot
impl SalsaStructInDb for SourceRoot
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.
impl StructuralPartialEq for SourceRoot
Source§impl Update for SourceRoot
impl Update for SourceRoot
Auto Trait Implementations§
impl Freeze for SourceRoot
impl RefUnwindSafe for SourceRoot
impl Send for SourceRoot
impl Sync for SourceRoot
impl Unpin for SourceRoot
impl UnsafeUnpin for SourceRoot
impl UnwindSafe for SourceRoot
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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> HashEqLike<&T> for T
impl<T> HashEqLike<&T> for T
Source§impl<T> HashEqLike<Cow<'_, T>> for T
impl<T> HashEqLike<Cow<'_, T>> for T
Source§impl<T> HashEqLike<T> for T
impl<T> HashEqLike<T> for T
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.