1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
//! Cross-module monomorphisation: clone every imported item into the entry
//! module under a qualified name and rewrite every cross-module reference
//! to point at the local clone.
//!
//! Phase ordering (driven by [`super::mod::Monomorphiser::run`]):
//! - **1a** [`specialise::specialise_external_instantiations`] — clone each
//! imported generic `External` type with substituted type arguments.
//! - **1b** [`inline::inline_imported_functions`] — copy every imported
//! function under a qualified name.
//! - **1c** [`inline::inline_imported_impls`] — copy every imported impl
//! block whose target type is now local.
//! - **1d** [`inline::inline_imported_lets`] — copy every imported `pub`
//! `let` under a qualified name.
//! - **1e** [`id_remap::remap_imported_body_ids`] — rewrite cloned body
//! id-references from imported id-space to the entry module.
//! - **1f** [`qualify::qualify_imported_paths`] — qualify bare-name paths
//! in cloned (and entry-native) bodies using their source module's
//! import set.
//! - **2** [`rewrite::rewrite_external_references`] — rewrite every
//! leftover `External` ref to its mapped local clone.
//! - **2a** [`module_tree::merge_imported_module_trees`] — splice the
//! imported items into the entry module's `IrModuleNode` tree.
//! - **2b** [`file_ids::remap_imported_file_ids`] — register every
//! imported file in the entry's `file_table` and remap every cloned
//! span to the entry's id-space.
pub use remap_imported_file_ids;
pub use remap_imported_body_ids;
pub use ;
pub use ;
pub use qualify_imported_paths;
pub use rewrite_external_references;
pub use specialise_external_instantiations;