Recently, Rust 1.26 was released, and with it came stable access to a heavily desired feature: impl Trait
.
For those unfamiliar, impl Trait
lets you write something like this:
fn foo<'a, A, B>(x: &'a mut A) -> impl Bar<'a, B> { ... }
and have it be translated to something like this: