Proposal
Opaque types and function item types are handling late bound lifetimes very hackily.
We think something along the lines of the ideas below can work, but mainly we want to try out lots of things here and land whatever sticks to the wall ("sticky" meaning "improves things")
- track late bound function parameters in generics_of
- try to make opaque types nicer by stopping to duplicae args/params all over the place
- make FnDef's args higher ranked (i.e. put them behind a binder)
- update all the HIR ty lowering logic for args to functions to properly map stuff to late bound parameters and check them
Sparse on purpose, we're figuring things out as we go
Mentors or Reviewers
- @BoxyUwU for high level design
- @oli-obk for hands-on reviews and keeping everyone in the loop
Process
The main points of the Major Change Process are as follows:
You can read more about Major Change Proposals on forge.
Comments
This issue is not meant to be used for technical discussion. There is a Zulip stream for that. Use this issue to leave procedural comments, such as volunteering to review, indicating that you second the proposal (or third, etc), or raising a concern that you would like to be addressed.
Proposal
Opaque types and function item types are handling late bound lifetimes very hackily.
We think something along the lines of the ideas below can work, but mainly we want to try out lots of things here and land whatever sticks to the wall ("sticky" meaning "improves things")
Sparse on purpose, we're figuring things out as we go
Mentors or Reviewers
Process
The main points of the Major Change Process are as follows:
@rustbot second.-C flag, then full team check-off is required.@rfcbot fcp mergeon either the MCP or the PR.You can read more about Major Change Proposals on forge.
Comments
This issue is not meant to be used for technical discussion. There is a Zulip stream for that. Use this issue to leave procedural comments, such as volunteering to review, indicating that you second the proposal (or third, etc), or raising a concern that you would like to be addressed.