-
Notifications
You must be signed in to change notification settings - Fork 5
Add error_set_part macro #38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR introduces the error_set_part! macro to enable distributed error set definitions across multiple files. Instead of defining all errors in a single location, developers can now define error parts in different modules, which are automatically combined into a single error_set! macro at build time via the combine_error_set_parts() function.
Key changes:
- Added new
error_set_part!macro that generates use statements for error types - Implemented build-time combining of error_set_part definitions into a centralized error_set.rs file
- Added
combine_partsfeature with theignorecrate dependency for file system traversal - Reorganized examples into an
examples/directory structure
Reviewed changes
Copilot reviewed 13 out of 18 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| error_set_impl/src/lib.rs | Adds new error_set_part! proc macro that extracts error names and generates use statements |
| error_set/src/lib.rs | Exports combine_error_set_parts function when combine_parts feature is enabled |
| error_set/src/combine_parts.rs | Implements file scanning, parsing, and combining logic to merge error_set_part definitions |
| error_set/Cargo.toml | Adds ignore dependency and combine_parts feature (set as default) |
| examples/error_set_part/ | Complete example demonstrating distributed error definitions across multiple files |
| examples/test_no_std/ | Moved from root to examples directory, demonstrates no_std compatibility |
| Cargo.toml | Updates workspace members to include new examples and exclude test_no_std |
| .github/workflows/ci.yml | Updates CI path to reflect test_no_std relocation |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
No description provided.