pub struct SubmoduleNamespace<'a> { /* private fields */ }
Expand description

A namespace session type representing the type-checking of a submodule.

This type allows for re-using the parent’s Namespace in order to provide access to the root and init throughout type-checking of the submodule, but with an updated mod_path to represent the submodule’s path. When dropped, the SubmoduleNamespace reset’s the Namespace’s mod_path to the parent module path so that type-checking of the parent may continue.

Methods from Deref<Target = Namespace>

A reference to the path of the module currently being type-checked.

A reference to the root of the project namespace.

Access to the current Module, i.e. the module at the inner mod_path.

Note that the Namespace will automatically dereference to this Module when attempting to call any Module methods.

Mutable access to the current Module, i.e. the module at the inner mod_path.

Note that the Namespace will automatically dereference to this Module when attempting to call any Module methods.

Methods from Deref<Target = Module>

Immutable access to this module’s submodules.

Insert a submodule into this Module.

Lookup the submodule at the given path.

Unique access to the submodule at the given path.

Methods from Deref<Target = Items>

Immutable access to the inner symbol map.

Trait Implementations

The resulting type after dereferencing.

Dereferences the value.

Mutably dereferences the value.

Executes the destructor for this type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.