Rough edges
[][rust-lang/rust#96709]
[rust-lang/rust#96709]: https://github.com/rust-lang/rust/pull/96709
The current MVP state includes a number of known rough edges, explained here.
Edge | Brief explanation |
---|---|
Clumsy HRTB syntax | The syntax for<'a> T: Iterable<Item<'a> = ...> is clumsy |
Required bounds | Compiler requires you to write where Self: 'me a lot |
No implied bounds on HRTB | The for<'a> syntax should really mean "for any suitable 'a " to avoid false errors |
HRTB limited to lifetimes | You cannot write for<T> or for<const C> to talk about types, lifetimes |
Polonius interaction | Some GAT patterns require polonius to pass the borrow checker |
Not dyn safe | Traits with GATs are not dyn safe, even if those GATs are limited to lifetimes |