| error[E0525]: expected a closure that implements the `Fn` trait, but this closure only implements `FnOnce` |
| --> $DIR/unboxed-closures-infer-fn-once-move-from-projection.rs:14:13 |
| | |
| LL | let c = || drop(y.0); |
| | ^^ --- closure is `FnOnce` because it moves the variable `y` out of its environment |
| | | |
| | this closure implements `FnOnce`, not `Fn` |
| LL | foo(c); |
| | --- - the requirement to implement `Fn` derives from here |
| | | |
| | required by a bound introduced by this call |
| | |
| note: required by a bound in `foo` |
| --> $DIR/unboxed-closures-infer-fn-once-move-from-projection.rs:4:14 |
| | |
| LL | fn foo<F>(f: F) |
| | --- required by a bound in this function |
| LL | where F: Fn() |
| | ^^^^ required by this bound in `foo` |
| |
| error: aborting due to 1 previous error |
| |
| For more information about this error, try `rustc --explain E0525`. |