summaryrefslogtreecommitdiffstats
path: root/src/test/ui/closure-expected-type/expect-fn-supply-fn.stderr
blob: 26f47eb684dfc5cca15bb5e64f50de88157d0dbc (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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
error: lifetime may not live long enough
  --> $DIR/expect-fn-supply-fn.rs:16:49
   |
LL | fn expect_free_supply_free_from_fn<'x>(x: &'x u32) {
   |                                    -- lifetime `'x` defined here
...
LL |     with_closure_expecting_fn_with_free_region(|x: fn(&'x u32), y| {});
   |                                                 ^
   |                                                 |
   |                                                 has type `fn(&'1 u32)`
   |                                                 requires that `'1` must outlive `'x`

error: lifetime may not live long enough
  --> $DIR/expect-fn-supply-fn.rs:16:49
   |
LL | fn expect_free_supply_free_from_fn<'x>(x: &'x u32) {
   |                                    -- lifetime `'x` defined here
...
LL |     with_closure_expecting_fn_with_free_region(|x: fn(&'x u32), y| {});
   |                                                 ^ requires that `'x` must outlive `'static`

error[E0308]: mismatched types
  --> $DIR/expect-fn-supply-fn.rs:32:49
   |
LL |     with_closure_expecting_fn_with_free_region(|x: fn(&u32), y| {});
   |                                                 ^ one type is more general than the other
   |
   = note: expected fn pointer `for<'r> fn(&'r u32)`
              found fn pointer `fn(&u32)`

error[E0308]: mismatched types
  --> $DIR/expect-fn-supply-fn.rs:39:50
   |
LL |     with_closure_expecting_fn_with_bound_region(|x: fn(&'x u32), y| {});
   |                                                  ^ one type is more general than the other
   |
   = note: expected fn pointer `fn(&'x u32)`
              found fn pointer `for<'r> fn(&'r u32)`

error[E0308]: mismatched types
  --> $DIR/expect-fn-supply-fn.rs:48:50
   |
LL |     with_closure_expecting_fn_with_bound_region(|x: Foo<'_>, y| {
   |                                                  ^ one type is more general than the other
   |
   = note: expected fn pointer `fn(&u32)`
              found fn pointer `for<'r> fn(&'r u32)`

error: aborting due to 5 previous errors

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