Summary
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")
- 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
- track late bound function parameters in generics_of
- try to make opaque types nicer by stopping to duplicae args/params all over the place
Sparse on purpose, we're figuring things out as we go
This issue is intended for status updates only.
For general questions or comments, please contact a goal owner or post in the Zulip topic.
Summary
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
This issue is intended for status updates only.
For general questions or comments, please contact a goal owner or post in the Zulip topic.