File: closure-no-fn-4.stderr

package info (click to toggle)
rustc 1.70.0%2Bdfsg1-9
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 722,120 kB
  • sloc: xml: 147,962; javascript: 10,210; sh: 8,590; python: 8,220; ansic: 5,901; cpp: 4,635; makefile: 4,001; asm: 2,856
file content (24 lines) | stat: -rw-r--r-- 927 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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:21]`
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`.