#[in_component]Expand description
Mark modules or files as belonging to a specific component.
This attribute enables:
- Discovery: Find all files in a component via grep or IDE search
- Navigation: IDE integration for “jump to component” features
- Documentation: Auto-group errors by component in generated docs
- Organization: Track scattered components across different folders
§Syntax
ⓘ
#[in_component(ComponentName)]§Examples
Marking a folder (via mod.rs):
ⓘ
// src/auth/mod.rs
#[in_component(Auth)]
mod token;
mod session;Marking scattered files:
ⓘ
// src/api/middleware.rs
#[in_component(Auth)] // Auth logic here too!
use waddling_errors::diag;
// ... Auth-related errors ...Finding all Auth components:
grep -r "#\[in_component(Auth)\]" src/§Metadata Generated
The macro creates a hidden module with:
- Component name constant
- Module path (for IDE integration)
- File path (for tooling)
- Marker trait (for discovery)