#[non_exhaustive]pub struct Module {
pub id: ModuleId,
pub source: ModuleSource,
pub canonical_path: Option<Arc<Path>>,
pub component: Component,
}Expand description
A reusable module body, addressed by ModuleId.
Modules are referenced via ModuleCall::source. The graph phase
walks local modules and populates Module::component.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.id: ModuleIdStable-within-a-run id.
source: ModuleSourceClassified source.
canonical_path: Option<Arc<Path>>Canonical directory of the module (only set for ModuleSource::Local).
component: ComponentThe module body, parsed as a Component with kind
crate::ir::ComponentKind::Module.
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Module
impl<'de> Deserialize<'de> for Module
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl StructuralPartialEq for Module
Auto Trait Implementations§
impl Freeze for Module
impl RefUnwindSafe for Module
impl Send for Module
impl Sync for Module
impl Unpin for Module
impl UnsafeUnpin for Module
impl UnwindSafe for Module
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