error[E0308]: mismatched types --> $DIR/closure-no-fn-2.rs:6:27 | LL | let bar: fn() -> u8 = || { b }; | ---------- ^^^^^^^^ expected fn pointer, found closure | | | expected due to this | = note: expected fn pointer `fn() -> u8` found closure `{closure@$DIR/closure-no-fn-2.rs:6:27: 6:29}` note: closures can only be coerced to `fn` types if they do not capture any variables --> $DIR/closure-no-fn-2.rs:6:32 | LL | let bar: fn() -> u8 = || { b }; | ^ `b` captured here error: aborting due to previous error For more information about this error, try `rustc --explain E0308`.