Skip to main content

LikeNamespace

Trait LikeNamespace 

Source
pub trait LikeNamespace {
    // Required methods
    fn get_export(&self, name: &str) -> Option<Export>;
    fn get_exports(&self) -> Vec<(String, Export)>;
    fn maybe_insert(&mut self, name: &str, export: Export) -> Option<()>;
}
Expand description

This trait represents objects that act as a namespace for imports. For example, an Instance or ImportObject could be considered namespaces that could provide imports to an instance.

Required Methods§

Source

fn get_export(&self, name: &str) -> Option<Export>

Gets an export by name.

Source

fn get_exports(&self) -> Vec<(String, Export)>

Gets all exports in the namespace.

Source

fn maybe_insert(&mut self, name: &str, export: Export) -> Option<()>

Maybe insert an Export by name into the namespace.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl LikeNamespace for Arc<Mutex<Instance>>

Source§

fn get_export(&self, name: &str) -> Option<Export>

Source§

fn get_exports(&self) -> Vec<(String, Export)>

Source§

fn maybe_insert(&mut self, _name: &str, _export: Export) -> Option<()>

Source§

impl LikeNamespace for Rc<Instance>

Source§

fn get_export(&self, name: &str) -> Option<Export>

Source§

fn get_exports(&self) -> Vec<(String, Export)>

Source§

fn maybe_insert(&mut self, _name: &str, _export: Export) -> Option<()>

Implementors§