error[E0308]: `match` arms have incompatible types
  --> $DIR/closure-no-fn-4.rs:5:18
   |
LL |       let _: fn(usize) -> usize = match true {
   |  _________________________________-
LL | |         true => |a| a + 1,
   | |                 --------- this is found to be of type `fn(usize) -> usize`
LL | |         false => |a| a - b,
   | |                  ^^^^^^^^^ expected fn pointer, found closure
LL | |
LL | |     };
   | |_____- `match` arms have incompatible types
   |
   = note: expected fn pointer `fn(usize) -> usize`
                 found closure `[closure@$DIR/closure-no-fn-4.rs:5:18: 5:27]`
note: closures can only be coerced to `fn` types if they do not capture any variables
  --> $DIR/closure-no-fn-4.rs:5:26
   |
LL |         false => |a| a - b,
   |                          ^ `b` captured here

error: aborting due to previous error

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