pub struct ModuleSource {
pub canonical_id: String,
pub source: String,
pub current_dir: String,
}Expand description
The source text plus identity of a module produced by a ModuleResolver.
Fields§
§canonical_id: StringStable identity for this module — used as the key for the module cache
and the cycle-detection stack. For filesystem modules this is the
canonical absolute path; for std/... modules it is the virtual path
itself; for host-provided modules it can be any unique string.
source: StringThe Relon source text to parse and evaluate.
current_dir: StringWorking directory used when nested @import("./relative.relon") calls
fire from inside this module. Filesystem resolvers normally set this to
the parent of canonical_id; in-memory modules can leave it empty.
Trait Implementations§
Source§impl Clone for ModuleSource
impl Clone for ModuleSource
Source§fn clone(&self) -> ModuleSource
fn clone(&self) -> ModuleSource
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 moreAuto Trait Implementations§
impl Freeze for ModuleSource
impl RefUnwindSafe for ModuleSource
impl Send for ModuleSource
impl Sync for ModuleSource
impl Unpin for ModuleSource
impl UnsafeUnpin for ModuleSource
impl UnwindSafe for ModuleSource
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,
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