cglue_gen/ext/core/
mod.rs

1pub mod clone;
2pub mod convert;
3pub mod fmt;
4pub mod future;
5
6use proc_macro2::TokenStream;
7use quote::format_ident;
8use std::collections::HashMap;
9use syn::{Ident, Path};
10
11pub fn get_impl(parent_path: &Path, out: &mut Vec<(Path, TokenStream)>) {
12    let cur_path = super::join_paths(parent_path, format_ident!("core"));
13    clone::get_impl(&cur_path, out);
14    fmt::get_impl(&cur_path, out);
15    convert::get_impl(&cur_path, out);
16    #[cfg(feature = "task")]
17    future::get_impl(&cur_path, out);
18}
19
20pub fn get_exports(parent_path: &Path, exports: &mut HashMap<Ident, Path>) {
21    let cur_path = super::join_paths(parent_path, format_ident!("core"));
22    clone::get_exports(&cur_path, exports);
23    fmt::get_exports(&cur_path, exports);
24    convert::get_exports(&cur_path, exports);
25    #[cfg(feature = "task")]
26    future::get_exports(&cur_path, exports);
27}