Exploring Rust Crates
Generate and use Rust documentation to understand crate APIs, structure, and code organization in the HASH workspace.
Generating Documentation
For a Specific Package
bash
cargo doc --no-deps --all-features --package <package-name>
For the Entire Workspace
bash
cargo doc --no-deps --all-features --workspace
Key Flags
- •
--no-deps: Document local code only (faster, less noise) - •
--all-features: Include all feature-gated APIs - •
--package <name>: Target a specific crate - •
--workspace: Document all crates in the workspace - •
--document-private-items: Include internal implementation details
What Generated Docs Provide
- •Crate organization - Module hierarchy and component relationships
- •Public API surface - All public functions, types, traits, and constants
- •Usage examples - Code examples from doctest blocks
- •Error documentation - Documented error conditions and handling
- •Type relationships - Trait implementations, type aliases, associated types
Viewing Documentation
Docs are generated at:
txt
target/doc/<crate_name>/index.html
Tips
- •Generate docs before diving into unfamiliar Rust code
- •Cross-reference
# Errorssections for error handling patterns - •Look for
# Examplessections for idiomatic usage patterns