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) | --- required by a bound in this LL | where F: Fn() | ^^^^ required by this bound in `foo` error: aborting due to previous error For more information about this error, try `rustc --explain E0525`.