member_constraints
The tracking issue for this feature is: #61977
The member_constraints
feature gate lets you use impl Trait
syntax with
multiple unrelated lifetime parameters.
A simple example is:
#![feature(member_constraints)] trait Trait<'a, 'b> { } impl<T> Trait<'_, '_> for T {} fn foo<'a, 'b>(x: &'a u32, y: &'b u32) -> impl Trait<'a, 'b> { (x, y) } fn main() { }
Without the member_constraints
feature gate, the above example is an
error because both 'a
and 'b
appear in the impl Trait bounds, but
neither outlives the other.