-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Closed
Labels
A-closuresArea: Closures (`|…| { … }`)Area: Closures (`|…| { … }`)B-RFC-approvedBlocker: Approved by a merged RFC but not yet implemented.Blocker: Approved by a merged RFC but not yet implemented.C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCT-langRelevant to the language teamRelevant to the language team
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.
jonas-schievink, josephrocca, ebkalderon, ishanjain28, bdjnk and 20 moreJasper-Bekkers, iago-lito and FranchuFranchuishanjain28, casept, 4LT and JMS55
Metadata
Metadata
Assignees
Labels
A-closuresArea: Closures (`|…| { … }`)Area: Closures (`|…| { … }`)B-RFC-approvedBlocker: Approved by a merged RFC but not yet implemented.Blocker: Approved by a merged RFC but not yet implemented.C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCT-langRelevant to the language teamRelevant to the language team