pub struct SourceCatalog { /* private fields */ }Expand description
A source-only namespace catalog used by native runtimes.
The catalog deliberately stores paths rather than source text. Project startup scans each file for its top-level namespace declaration (some legacy library paths do not mirror their namespace); source is retained and fully parsed/evaluated only when a namespace is actually required.
Implementations§
Source§impl SourceCatalog
impl SourceCatalog
pub fn path(&self, namespace: &str) -> Option<&Path>
pub fn namespaces(&self) -> impl Iterator<Item = &str>
Sourcepub fn fingerprint(&self) -> Result<[u8; 32], String>
pub fn fingerprint(&self) -> Result<[u8; 32], String>
Returns a stable fingerprint of the indexed source set. The source cache keys individual programs by source bytes as well; this broader index fingerprint invalidates programs whose compilation depends on a changed sibling namespace configuration without rereading every source body during startup.
Trait Implementations§
Source§impl Clone for SourceCatalog
impl Clone for SourceCatalog
Source§fn clone(&self) -> SourceCatalog
fn clone(&self) -> SourceCatalog
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 Debug for SourceCatalog
impl Debug for SourceCatalog
Source§impl Default for SourceCatalog
impl Default for SourceCatalog
Source§fn default() -> SourceCatalog
fn default() -> SourceCatalog
Returns the “default value” for a type. Read more
impl Eq for SourceCatalog
Source§impl PartialEq for SourceCatalog
impl PartialEq for SourceCatalog
impl StructuralPartialEq for SourceCatalog
Auto Trait Implementations§
impl Freeze for SourceCatalog
impl RefUnwindSafe for SourceCatalog
impl Send for SourceCatalog
impl Sync for SourceCatalog
impl Unpin for SourceCatalog
impl UnsafeUnpin for SourceCatalog
impl UnwindSafe for SourceCatalog
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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§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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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