summaryrefslogtreecommitdiffstats
path: root/tests/ui/closures/closure-reform-bad.stderr
blob: 4c40f70b9d0a8393a891a1089b21e5a4f629756b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
error[E0308]: mismatched types
  --> $DIR/closure-reform-bad.rs:11:15
   |
LL |     let f = |s: &str| println!("{}{}", s, string);
   |             --------- the found closure
LL |     call_bare(f)
   |     --------- ^ expected fn pointer, found closure
   |     |
   |     arguments to this function are incorrect
   |
   = note: expected fn pointer `for<'a> fn(&'a str)`
                 found closure `[closure@$DIR/closure-reform-bad.rs:10:13: 10:22]`
note: closures can only be coerced to `fn` types if they do not capture any variables
  --> $DIR/closure-reform-bad.rs:10:43
   |
LL |     let f = |s: &str| println!("{}{}", s, string);
   |                                           ^^^^^^ `string` captured here
note: function defined here
  --> $DIR/closure-reform-bad.rs:4:4
   |
LL | fn call_bare(f: fn(&str)) {
   |    ^^^^^^^^^ -----------

error: aborting due to previous error

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