summaryrefslogtreecommitdiffstats
path: root/tests/ui/suggestions/fn-missing-lifetime-in-item.stderr
blob: 6d7c3d73097a9e2f0daa5c6e27eaeff4ba23afb4 (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
error[E0261]: use of undeclared lifetime name `'a`
  --> $DIR/fn-missing-lifetime-in-item.rs:1:33
   |
LL | struct S1<F: Fn(&i32, &i32) -> &'a i32>(F);
   |                                 ^^ undeclared lifetime
   |
   = note: for more information on higher-ranked polymorphism, visit https://doc.rust-lang.org/nomicon/hrtb.html
help: consider making the bound lifetime-generic with a new `'a` lifetime
   |
LL | struct S1<F: for<'a> Fn(&i32, &i32) -> &'a i32>(F);
   |              +++++++
help: consider introducing lifetime `'a` here
   |
LL | struct S1<'a, F: Fn(&i32, &i32) -> &'a i32>(F);
   |           +++

error[E0106]: missing lifetime specifier
  --> $DIR/fn-missing-lifetime-in-item.rs:2:32
   |
LL | struct S2<F: Fn(&i32, &i32) -> &i32>(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 | struct S2<F: for<'a> Fn(&'a i32, &'a i32) -> &'a i32>(F);
   |              +++++++     ++       ++          ++
help: consider introducing a named lifetime parameter
   |
LL | struct S2<'a, F: Fn(&'a i32, &'a i32) -> &'a i32>(F);
   |           +++        ++       ++          ++

error[E0582]: binding for associated type `Output` references lifetime `'a`, which does not appear in the trait input types
  --> $DIR/fn-missing-lifetime-in-item.rs:3:40
   |
LL | struct S3<F: for<'a> Fn(&i32, &i32) -> &'a i32>(F);
   |                                        ^^^^^^^

error[E0582]: binding for associated type `Output` references lifetime `'a`, which does not appear in the trait input types
  --> $DIR/fn-missing-lifetime-in-item.rs:6:55
   |
LL | const C: Option<Box<dyn for<'a> Fn(&usize, &usize) -> &'a usize>> = None;
   |                                                       ^^^^^^^^^

error: aborting due to 4 previous errors

Some errors have detailed explanations: E0106, E0261, E0582.
For more information about an error, try `rustc --explain E0106`.