error[E0277]: the trait bound `impl Future<Output = ()>: Copy` is not satisfied
  --> $DIR/clone-impl-async.rs:41:16
   |
LL |     check_copy(&inner_non_clone_fn);
   |     ---------- ^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `impl Future<Output = ()>`
   |     |
   |     required by a bound introduced by this call
   |
note: required by a bound in `check_copy`
  --> $DIR/clone-impl-async.rs:72:18
   |
LL | fn check_copy<T: Copy>(_x: &T) {}
   |                  ^^^^ required by this bound in `check_copy`

error[E0277]: the trait bound `impl Future<Output = ()>: Clone` is not satisfied
  --> $DIR/clone-impl-async.rs:43:17
   |
LL |     check_clone(&inner_non_clone_fn);
   |     ----------- ^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `impl Future<Output = ()>`
   |     |
   |     required by a bound introduced by this call
   |
note: required by a bound in `check_clone`
  --> $DIR/clone-impl-async.rs:73:19
   |
LL | fn check_clone<T: Clone>(_x: &T) {}
   |                   ^^^^^ required by this bound in `check_clone`

error[E0277]: the trait bound `impl Future<Output = ()>: Copy` is not satisfied
  --> $DIR/clone-impl-async.rs:47:16
   |
LL |     check_copy(&outer_non_clone_fn);
   |     ---------- ^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `impl Future<Output = ()>`
   |     |
   |     required by a bound introduced by this call
   |
note: required by a bound in `check_copy`
  --> $DIR/clone-impl-async.rs:72:18
   |
LL | fn check_copy<T: Copy>(_x: &T) {}
   |                  ^^^^ required by this bound in `check_copy`

error[E0277]: the trait bound `impl Future<Output = ()>: Clone` is not satisfied
  --> $DIR/clone-impl-async.rs:49:17
   |
LL |     check_clone(&outer_non_clone_fn);
   |     ----------- ^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `impl Future<Output = ()>`
   |     |
   |     required by a bound introduced by this call
   |
note: required by a bound in `check_clone`
  --> $DIR/clone-impl-async.rs:73:19
   |
LL | fn check_clone<T: Clone>(_x: &T) {}
   |                   ^^^^^ required by this bound in `check_clone`

error[E0277]: the trait bound `impl Future<Output = ()>: Copy` is not satisfied
  --> $DIR/clone-impl-async.rs:53:16
   |
LL |     check_copy(&maybe_copy_clone_fn);
   |     ---------- ^^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `impl Future<Output = ()>`
   |     |
   |     required by a bound introduced by this call
   |
note: required by a bound in `check_copy`
  --> $DIR/clone-impl-async.rs:72:18
   |
LL | fn check_copy<T: Copy>(_x: &T) {}
   |                  ^^^^ required by this bound in `check_copy`

error[E0277]: the trait bound `impl Future<Output = ()>: Clone` is not satisfied
  --> $DIR/clone-impl-async.rs:55:17
   |
LL |     check_clone(&maybe_copy_clone_fn);
   |     ----------- ^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `impl Future<Output = ()>`
   |     |
   |     required by a bound introduced by this call
   |
note: required by a bound in `check_clone`
  --> $DIR/clone-impl-async.rs:73:19
   |
LL | fn check_clone<T: Clone>(_x: &T) {}
   |                   ^^^^^ required by this bound in `check_clone`

error[E0277]: the trait bound `{async block@$DIR/clone-impl-async.rs:13:27: 13:32}: Copy` is not satisfied
  --> $DIR/clone-impl-async.rs:18:5
   |
LL |     check_copy(&inner_non_clone);
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `{async block@$DIR/clone-impl-async.rs:13:27: 13:32}`
   |
note: required by a bound in `check_copy`
  --> $DIR/clone-impl-async.rs:72:18
   |
LL | fn check_copy<T: Copy>(_x: &T) {}
   |                  ^^^^ required by this bound in `check_copy`

error[E0277]: the trait bound `{async block@$DIR/clone-impl-async.rs:13:27: 13:32}: Clone` is not satisfied
  --> $DIR/clone-impl-async.rs:20:5
   |
LL |     check_clone(&inner_non_clone);
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `{async block@$DIR/clone-impl-async.rs:13:27: 13:32}`
   |
note: required by a bound in `check_clone`
  --> $DIR/clone-impl-async.rs:73:19
   |
LL | fn check_clone<T: Clone>(_x: &T) {}
   |                   ^^^^^ required by this bound in `check_clone`

error[E0277]: the trait bound `{async block@$DIR/clone-impl-async.rs:24:27: 24:37}: Copy` is not satisfied
  --> $DIR/clone-impl-async.rs:27:5
   |
LL |     check_copy(&outer_non_clone);
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `{async block@$DIR/clone-impl-async.rs:24:27: 24:37}`
   |
note: required by a bound in `check_copy`
  --> $DIR/clone-impl-async.rs:72:18
   |
LL | fn check_copy<T: Copy>(_x: &T) {}
   |                  ^^^^ required by this bound in `check_copy`

error[E0277]: the trait bound `{async block@$DIR/clone-impl-async.rs:24:27: 24:37}: Clone` is not satisfied
  --> $DIR/clone-impl-async.rs:29:5
   |
LL |     check_clone(&outer_non_clone);
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `{async block@$DIR/clone-impl-async.rs:24:27: 24:37}`
   |
note: required by a bound in `check_clone`
  --> $DIR/clone-impl-async.rs:73:19
   |
LL | fn check_clone<T: Clone>(_x: &T) {}
   |                   ^^^^^ required by this bound in `check_clone`

error[E0277]: the trait bound `{async block@$DIR/clone-impl-async.rs:32:28: 32:38}: Copy` is not satisfied
  --> $DIR/clone-impl-async.rs:33:5
   |
LL |     check_copy(&maybe_copy_clone);
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `{async block@$DIR/clone-impl-async.rs:32:28: 32:38}`
   |
note: required by a bound in `check_copy`
  --> $DIR/clone-impl-async.rs:72:18
   |
LL | fn check_copy<T: Copy>(_x: &T) {}
   |                  ^^^^ required by this bound in `check_copy`

error[E0277]: the trait bound `{async block@$DIR/clone-impl-async.rs:32:28: 32:38}: Clone` is not satisfied
  --> $DIR/clone-impl-async.rs:35:5
   |
LL |     check_clone(&maybe_copy_clone);
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `{async block@$DIR/clone-impl-async.rs:32:28: 32:38}`
   |
note: required by a bound in `check_clone`
  --> $DIR/clone-impl-async.rs:73:19
   |
LL | fn check_clone<T: Clone>(_x: &T) {}
   |                   ^^^^^ required by this bound in `check_clone`

error: aborting due to 12 previous errors

For more information about this error, try `rustc --explain E0277`.
