pub struct SourceCatalog { /* private fields */ }Expand description
A source-only namespace catalog used by native runtimes.
The catalog resolves conventional namespace paths at the require
boundary. It discovers the complete legacy path map only when a requested
namespace cannot be derived from its name, so starting a project never
walks unrelated source families such as lang.*.
Implementations§
Source§impl SourceCatalog
impl SourceCatalog
Sourcepub fn path(&self, namespace: &str) -> Option<PathBuf>
pub fn path(&self, namespace: &str) -> Option<PathBuf>
Resolves one namespace on demand. Conventional foo.bar namespaces
use foo/bar.hal directly; a one-time legacy scan is reserved for
paths such as impl_base.hal declaring impl-base.
pub fn namespaces(&self) -> Vec<String>
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 ordinary namespace loading.
Trait Implementations§
Source§impl Clone for SourceCatalog
impl Clone for SourceCatalog
Source§fn clone(&self) -> SourceCatalog
fn clone(&self) -> SourceCatalog
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
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
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
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<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> ⓘ
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> ⓘ
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