-
Notifications
You must be signed in to change notification settings - Fork 2
Add Miri checks #1 #10
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 implements Miri (Rust's memory safety checker) compatibility for the movable-ref crate. The changes focus on making self-reference operations safe under Miri's strict memory model while maintaining backwards compatibility.
Key changes include:
- Added new base-pointer-based access methods that work with Miri's provenance tracking
- Updated function signatures to require
&mut selfwhere pointer provenance matters - Introduced a new
SelfRefCellabstraction and macro helpers for ergonomic usage
Reviewed Changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
| src/pointer/self_ref.rs | Core implementation with Miri-compatible pointer operations and new base-pointer methods |
| src/tests.rs | Updated tests to use new API patterns and removed problematic assertions |
| src/macros.rs | New macro for generating self-reference accessor methods |
| src/combinators/self_ref_cell.rs | New high-level abstraction wrapping SelfRef for safer usage |
| src/lib.rs | Added feature flags and module exports for new functionality |
| examples/ | Updated examples to demonstrate new SelfRefCell API |
| .github/workflows/ci.yml | Added Miri testing to CI pipeline |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Fixes #1