// edition:2018 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 fn func4>(_x: T) {} pub async fn async_fn() {} pub struct Foo; impl Foo { pub fn method<'a>(_x: impl Clone + Into> + 'a) {} } pub struct Bar; impl Bar { pub async fn async_foo(&self) {} }