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 |