1 // Regression test: if we suggest replacing an `impl Trait` argument to an async
2 // fn with a named type parameter in order to add bounds, the suggested function
3 // signature should be well-formed.
9 fn bar(&self) -> Self::Bar;
12 async fn run(_: &(), foo: impl Foo) -> std::io::Result<()> {
15 //~^ ERROR: `<impl Foo as Foo>::Bar` cannot be sent between threads safely
20 // Test our handling of cases where there is a generic parameter list in the
21 // source, but only synthetic generic parameters
22 async fn run2< >(_: &(), foo: impl Foo) -> std::io::Result<()> {
25 //~^ ERROR: `<impl Foo as Foo>::Bar` cannot be sent between threads safely
30 fn assert_is_send<T: Send>(_: &T) {}