summaryrefslogtreecommitdiffstats
path: root/tests/ui/type-alias-impl-trait/closure_wf_outlives.stderr
blob: ae6462bb62ce57e2f6aa5df29eb89847241a4f22 (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
52
53
54
55
56
57
58
59
60
61
62
63
64
error[E0478]: lifetime bound not satisfied
  --> $DIR/closure_wf_outlives.rs:14:27
   |
LL |     type Opaque<'a, 'b> = impl Sized + 'a + 'b;
   |                           ^^^^^^^^^^^^^^^^^^^^
   |
note: lifetime parameter instantiated with the lifetime `'a` as defined here
  --> $DIR/closure_wf_outlives.rs:14:17
   |
LL |     type Opaque<'a, 'b> = impl Sized + 'a + 'b;
   |                 ^^
note: but lifetime parameter must outlive the lifetime `'b` as defined here
  --> $DIR/closure_wf_outlives.rs:14:21
   |
LL |     type Opaque<'a, 'b> = impl Sized + 'a + 'b;
   |                     ^^

error[E0495]: cannot infer an appropriate lifetime due to conflicting requirements
  --> $DIR/closure_wf_outlives.rs:27:27
   |
LL |     type Opaque<'a, 'b> = impl Sized + 'a + 'b;
   |                           ^^^^^^^^^^^^^^^^^^^^
   |
note: first, the lifetime cannot outlive the lifetime `'a` as defined here...
  --> $DIR/closure_wf_outlives.rs:27:17
   |
LL |     type Opaque<'a, 'b> = impl Sized + 'a + 'b;
   |                 ^^
note: ...so that the declared lifetime parameter bounds are satisfied
  --> $DIR/closure_wf_outlives.rs:27:27
   |
LL |     type Opaque<'a, 'b> = impl Sized + 'a + 'b;
   |                           ^^^^^^^^^^^^^^^^^^^^
note: but, the lifetime must be valid for the lifetime `'b` as defined here...
  --> $DIR/closure_wf_outlives.rs:27:21
   |
LL |     type Opaque<'a, 'b> = impl Sized + 'a + 'b;
   |                     ^^
note: ...so that the declared lifetime parameter bounds are satisfied
  --> $DIR/closure_wf_outlives.rs:27:27
   |
LL |     type Opaque<'a, 'b> = impl Sized + 'a + 'b;
   |                           ^^^^^^^^^^^^^^^^^^^^

error[E0310]: the parameter type `T` may not live long enough
  --> $DIR/closure_wf_outlives.rs:54:22
   |
LL |     type Opaque<T> = impl Sized;
   |                      ^^^^^^^^^^ ...so that the type `T` will meet its required lifetime bounds...
   |
note: ...that is required by this bound
  --> $DIR/closure_wf_outlives.rs:59:12
   |
LL |         T: 'static,
   |            ^^^^^^^
help: consider adding an explicit lifetime bound...
   |
LL |     type Opaque<T: 'static> = impl Sized;
   |                  +++++++++

error: aborting due to 3 previous errors

Some errors have detailed explanations: E0310, E0478, E0495.
For more information about an error, try `rustc --explain E0310`.