Struct Loader
pub struct Loader { /* private fields */ }Expand description
Module loader that handles multiple URI schemes.
Caches loaded modules to prevent duplicate loading and supports cycle detection through the cache.
Implementations§
§impl Loader
impl Loader
pub fn resolve(
&mut self,
base_path: &Path,
uri: &str,
) -> Result<&ModuleSource, String>
pub fn resolve( &mut self, base_path: &Path, uri: &str, ) -> Result<&ModuleSource, String>
Resolves a URI to a module source.
Supports:
file:./path.md- Local filesystem (relative to base_path)logos:std- Built-in standard librarylogos:core- Built-in core types
pub fn is_loaded(&self, uri: &str) -> bool
pub fn is_loaded(&self, uri: &str) -> bool
Checks if a module has already been loaded (for cycle detection).
pub fn loaded_modules(&self) -> Vec<&str>
pub fn loaded_modules(&self) -> Vec<&str>
Returns all loaded module URIs (for debugging).
Auto Trait Implementations§
impl Freeze for Loader
impl RefUnwindSafe for Loader
impl Send for Loader
impl Sync for Loader
impl Unpin for Loader
impl UnsafeUnpin for Loader
impl UnwindSafe for Loader
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<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.