rune/modules/collections/
mod.rs
1#[cfg(feature = "alloc")]
4pub(crate) mod hash_map;
5#[cfg(feature = "alloc")]
6pub(crate) use hash_map::HashMap;
7
8#[cfg(feature = "alloc")]
9pub(crate) mod hash_set;
10#[cfg(feature = "alloc")]
11pub(crate) use hash_set::HashSet;
12
13#[cfg(feature = "alloc")]
14pub(crate) mod vec_deque;
15#[cfg(feature = "alloc")]
16pub(crate) use vec_deque::VecDeque;
17
18use crate as rune;
19use crate::{ContextError, Module};
20
21#[rune::module(::std::collections)]
23pub fn module() -> Result<Module, ContextError> {
24 let mut m = Module::from_meta(self::module_meta)?;
25
26 #[cfg(feature = "alloc")]
27 m.reexport(
28 ["HashMap"],
29 rune::item!(::std::collections::hash_map::HashMap),
30 )?;
31
32 #[cfg(feature = "alloc")]
33 m.reexport(
34 ["HashSet"],
35 rune::item!(::std::collections::hash_set::HashSet),
36 )?;
37
38 #[cfg(feature = "alloc")]
39 m.reexport(
40 ["VecDeque"],
41 rune::item!(::std::collections::vec_deque::VecDeque),
42 )?;
43
44 Ok(m)
45}