]> git.lizzy.rs Git - rust.git/blob - src/test/ui/nll/outlives-suggestion-simple.polonius.stderr
bless polonius output of test ui/nll/outlives-suggestion-simple.rs
[rust.git] / src / test / ui / nll / outlives-suggestion-simple.polonius.stderr
1 error: lifetime may not live long enough
2   --> $DIR/outlives-suggestion-simple.rs:6:5
3    |
4 LL | fn foo1<'a, 'b>(x: &'a usize) -> &'b usize {
5    |         --  -- lifetime `'b` defined here
6    |         |
7    |         lifetime `'a` defined here
8 LL |     x
9    |     ^ returning this value requires that `'a` must outlive `'b`
10    |
11    = help: consider adding the following bound: `'a: 'b`
12
13 error: lifetime may not live long enough
14   --> $DIR/outlives-suggestion-simple.rs:10:5
15    |
16 LL | fn foo2<'a>(x: &'a usize) -> &'static usize {
17    |         -- lifetime `'a` defined here
18 LL |     x
19    |     ^ returning this value requires that `'a` must outlive `'static`
20    |
21    = help: consider replacing `'a` with `'static`
22
23 error: lifetime may not live long enough
24   --> $DIR/outlives-suggestion-simple.rs:14:5
25    |
26 LL | fn foo3<'a, 'b>(x: &'a usize, y: &'b usize) -> (&'b usize, &'a usize) {
27    |         --  -- lifetime `'b` defined here
28    |         |
29    |         lifetime `'a` defined here
30 LL |     (x, y)
31    |     ^^^^^^ function was supposed to return data with lifetime `'b` but it is returning data with lifetime `'a`
32    |
33    = help: consider adding the following bound: `'a: 'b`
34
35 error: lifetime may not live long enough
36   --> $DIR/outlives-suggestion-simple.rs:14:5
37    |
38 LL | fn foo3<'a, 'b>(x: &'a usize, y: &'b usize) -> (&'b usize, &'a usize) {
39    |         --  -- lifetime `'b` defined here
40    |         |
41    |         lifetime `'a` defined here
42 LL |     (x, y)
43    |     ^^^^^^ function was supposed to return data with lifetime `'a` but it is returning data with lifetime `'b`
44    |
45    = help: consider adding the following bound: `'b: 'a`
46
47 help: `'a` and `'b` must be the same: replace one with the other
48
49 error: lifetime may not live long enough
50   --> $DIR/outlives-suggestion-simple.rs:22:5
51    |
52 LL | fn foo4<'a, 'b, 'c>(x: &'a usize) -> (&'b usize, &'c usize) {
53    |         --  -- lifetime `'b` defined here
54    |         |
55    |         lifetime `'a` defined here
56 ...
57 LL |     (x, x)
58    |     ^^^^^^ returning this value requires that `'a` must outlive `'b`
59    |
60    = help: consider adding the following bound: `'a: 'b`
61
62 error: lifetime may not live long enough
63   --> $DIR/outlives-suggestion-simple.rs:22:5
64    |
65 LL | fn foo4<'a, 'b, 'c>(x: &'a usize) -> (&'b usize, &'c usize) {
66    |         --      -- lifetime `'c` defined here
67    |         |
68    |         lifetime `'a` defined here
69 ...
70 LL |     (x, x)
71    |     ^^^^^^ returning this value requires that `'a` must outlive `'c`
72    |
73    = help: consider adding the following bound: `'a: 'c`
74
75 error: lifetime may not live long enough
76   --> $DIR/outlives-suggestion-simple.rs:31:9
77    |
78 LL |     pub fn foo<'a>(x: &'a usize) -> Self {
79    |                -- lifetime `'a` defined here
80 LL |         Foo { x }
81    |         ^^^^^^^^^ returning this value requires that `'a` must outlive `'static`
82    |
83    = help: consider replacing `'a` with `'static`
84
85 error: lifetime may not live long enough
86   --> $DIR/outlives-suggestion-simple.rs:41:9
87    |
88 LL | impl<'a> Bar<'a> {
89    |      -- lifetime `'a` defined here
90 LL |     pub fn get<'b>(&self) -> &'b usize {
91    |                -- lifetime `'b` defined here
92 LL |         self.x
93    |         ^^^^^^ returning this value requires that `'a` must outlive `'b`
94    |
95    = help: consider adding the following bound: `'a: 'b`
96
97 error: lifetime may not live long enough
98   --> $DIR/outlives-suggestion-simple.rs:52:9
99    |
100 LL | impl<'a> Baz<'a> {
101    |      -- lifetime `'a` defined here
102 LL |     fn get<'b>(&'b self) -> &'a i32 {
103    |            -- lifetime `'b` defined here
104 LL |         self.x
105    |         ^^^^^^ returning this value requires that `'b` must outlive `'a`
106    |
107    = help: consider adding the following bound: `'b: 'a`
108
109 error[E0521]: borrowed data escapes outside of function
110   --> $DIR/outlives-suggestion-simple.rs:73:9
111    |
112 LL |     fn get_bar(&self) -> Bar2 {
113    |                -----
114    |                |
115    |                `self` is declared here, outside of the function body
116    |                `self` is a reference that is only valid in the function body
117 LL |         Bar2::new(&self)
118    |         ^^^^^^^^^^^^^^^^ `self` escapes the function body here
119
120 error: aborting due to 10 previous errors
121