Closed
Description
This is a tracking issue for the RFC "Closures Capture Disjoint Fields" (rust-lang/rfcs#2229).
Status
This is under active development by the wg-rfc-2229 compiler-team working group. You can track their progress on the project-rfc-2229 repository.
Implementation plan and status
See the RFC 2229 project board and milestones.
Links, see also
- RFC 2229 implementation plan compiler-team#292, a Major Change Proposal outlining an initial plan
Unresolved questions:
- How to optimize pointers. Can borrows that all reference parts of the same object be stored as a single pointer? How should this optimization be implemented (e.g. a special
repr
, refinement typing)? - How to signal that a function is pure. Is this even needed/wanted? Any other places where the language could benefit?
- Should
Box
be special? - Drop order can change as a result of this RFC, is this a real stability problem? How should this be resolved?
This issue has been assigned to @arora-aman via this comment.
Activity