pub struct SplitPlan {
pub header: Vec<usize>,
pub root_items: Vec<usize>,
pub mods: Vec<usize>,
pub parts: Vec<Part>,
pub oversized: Vec<Oversized>,
}Expand description
The result of planning a split.
Fields§
§header: Vec<usize>Chunk indices forming the shared header (preamble + plain imports).
root_items: Vec<usize>Chunk indices kept at the root verbatim, in source order: re-exports
(pub use ..., pub(crate) use ..., visibility-qualified
extern crate), content-less mod name; declarations, and local types
with inherent impls, owner-local impls and required lexical macro
components. Dropping or demoting a pub use would narrow the public API.
mods: Vec<usize>Chunk indices of body-carrying mod name { ... } items, in source
order. Never packed into a cluster: unconditional modules are extracted
whole; conditional modules retain their original braced boundaries.
A module pinned by a lexical macro dependency is instead a root item.
parts: Vec<Part>Cohesive destination modules, in source order.
oversized: Vec<Oversized>Items that cannot be placed under the ceiling on their own.