summaryrefslogtreecommitdiffstats
path: root/src/test/ui/issues/issue-19707.stderr
blob: 3e1bb32c19b92e48676102b0544263389d645b1e (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
error[E0106]: missing lifetime specifier
  --> $DIR/issue-19707.rs:3:28
   |
LL | type Foo = fn(&u8, &u8) -> &u8;
   |               ---  ---     ^ expected named lifetime parameter
   |
   = help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from argument 1 or argument 2
   = note: for more information on higher-ranked polymorphism, visit https://doc.rust-lang.org/nomicon/hrtb.html
help: consider making the type lifetime-generic with a new `'a` lifetime
   |
LL | type Foo = for<'a> fn(&'a u8, &'a u8) -> &'a u8;
   |            +++++++     ++      ++         ++
help: consider introducing a named lifetime parameter
   |
LL | type Foo<'a> = fn(&'a u8, &'a u8) -> &'a u8;
   |         ++++       ++      ++         ++

error[E0106]: missing lifetime specifier
  --> $DIR/issue-19707.rs:5:27
   |
LL | fn bar<F: Fn(&u8, &u8) -> &u8>(f: &F) {}
   |              ---  ---     ^ expected named lifetime parameter
   |
   = help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from argument 1 or argument 2
help: consider making the bound lifetime-generic with a new `'a` lifetime
   |
LL | fn bar<F: for<'a> Fn(&'a u8, &'a u8) -> &'a u8>(f: &F) {}
   |           +++++++     ++      ++         ++
help: consider introducing a named lifetime parameter
   |
LL | fn bar<'a, F: Fn(&'a u8, &'a u8) -> &'a u8>(f: &F) {}
   |        +++        ++      ++         ++

error: aborting due to 2 previous errors

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