File: closure-no-fn-4.stderr

package info (click to toggle)
rustc 1.85.0%2Bdfsg3-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental, sid, trixie
  • size: 893,396 kB
  • sloc: xml: 158,127; python: 35,830; javascript: 19,497; cpp: 19,002; sh: 17,245; ansic: 13,127; asm: 4,376; makefile: 1,051; perl: 29; lisp: 29; ruby: 19; sql: 11
file content (24 lines) | stat: -rw-r--r-- 929 bytes parent folder | download | duplicates (5)
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 1 previous error

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