855 B
855 B
Declaration rules
Order declarations by dependency
Rule
Order Rust declarations in depth-first dependency order. Place each function, struct, and enum before private declarations that support it. For structs and enums, order supporting declarations by field or variant order. For functions, order helper declarations by first use in the function body. Apply the same rule recursively to each supporting declaration.
Rationale
Dependency order lets readers start at the public operation or type. Readers can then continue downward into the declarations that explain each part.
Examples
pub struct Report {
files: FileStore,
diagnostics: Vec<Diagnostic>,
}
struct FileStore {
files: Vec<SourceFile>,
}
struct SourceFile {
path: PathBuf,
source: String,
}
struct Diagnostic {
message: String,
}