summaryrefslogtreecommitdiffstats
path: root/tests/ui/nll/closure-requirements/propagate-from-trait-match.stderr
blob: 28c5c43a6ace8fd7a4837a7004a5e33af6f4fc8d (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
note: external requirements
  --> $DIR/propagate-from-trait-match.rs:32:36
   |
LL |     establish_relationships(value, |value| {
   |                                    ^^^^^^^
   |
   = note: defining type: supply::<'?1, T>::{closure#0} with closure args [
               i32,
               extern "rust-call" fn((T,)),
               (),
           ]
   = note: number of external vids: 2
   = note: where T: '?1

note: no external requirements
  --> $DIR/propagate-from-trait-match.rs:28:1
   |
LL | / fn supply<'a, T>(value: T)
LL | | where
LL | |     T: Trait<'a>,
   | |_________________^
   |
   = note: defining type: supply::<'?1, T>

error[E0309]: the parameter type `T` may not live long enough
  --> $DIR/propagate-from-trait-match.rs:43:9
   |
LL | fn supply<'a, T>(value: T)
   |           -- the parameter type `T` must be valid for the lifetime `'a` as defined here...
...
LL |         require(value);
   |         ^^^^^^^^^^^^^^ ...so that the type `T` will meet its required lifetime bounds
   |
help: consider adding an explicit lifetime bound
   |
LL |     T: Trait<'a> + 'a,
   |                  ++++

error: aborting due to 1 previous error

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