use std::ops::Deref; pub fn func<'a>(_x: impl Clone + Into> + 'a) {} pub fn func2(_x: impl Deref> + Iterator, _y: impl Iterator) {} pub fn func3(_x: impl Iterator> + Clone) {} pub struct Foo; impl Foo { pub fn method<'a>(_x: impl Clone + Into> + 'a) {} }