| error: future cannot be sent between threads safely |
| --> $DIR/issue-70818.rs:4:38 |
| | |
| LL | fn foo<T: Send, U>(ty: T, ty1: U) -> impl Future<Output = (T, U)> + Send { |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ future created by async block is not `Send` |
| LL | |
| LL | async { (ty, ty1) } |
| | ------------------- this returned value is of type `impl Future` |
| | |
| note: captured value is not `Send` |
| --> $DIR/issue-70818.rs:6:18 |
| | |
| LL | async { (ty, ty1) } |
| | ^^^ has type `U` which is not `Send` |
| = note: the return type of a function must have a statically known size |
| help: consider restricting type parameter `U` |
| | |
| LL | fn foo<T: Send, U: Send>(ty: T, ty1: U) -> impl Future<Output = (T, U)> + Send { |
| | ^^^^^^ |
| |
| error: aborting due to previous error |
| |