summaryrefslogtreecommitdiffstats
path: root/src/test/ui/nll/outlives-suggestion-simple.polonius.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/nll/outlives-suggestion-simple.polonius.stderr')
-rw-r--r--src/test/ui/nll/outlives-suggestion-simple.polonius.stderr124
1 files changed, 124 insertions, 0 deletions
diff --git a/src/test/ui/nll/outlives-suggestion-simple.polonius.stderr b/src/test/ui/nll/outlives-suggestion-simple.polonius.stderr
new file mode 100644
index 000000000..c00288f2e
--- /dev/null
+++ b/src/test/ui/nll/outlives-suggestion-simple.polonius.stderr
@@ -0,0 +1,124 @@
+error: lifetime may not live long enough
+ --> $DIR/outlives-suggestion-simple.rs:6:5
+ |
+LL | fn foo1<'a, 'b>(x: &'a usize) -> &'b usize {
+ | -- -- lifetime `'b` defined here
+ | |
+ | lifetime `'a` defined here
+LL | x
+ | ^ returning this value requires that `'a` must outlive `'b`
+ |
+ = help: consider adding the following bound: `'a: 'b`
+
+error: lifetime may not live long enough
+ --> $DIR/outlives-suggestion-simple.rs:10:5
+ |
+LL | fn foo2<'a>(x: &'a usize) -> &'static usize {
+ | -- lifetime `'a` defined here
+LL | x
+ | ^ returning this value requires that `'a` must outlive `'static`
+ |
+ = help: consider replacing `'a` with `'static`
+
+error: lifetime may not live long enough
+ --> $DIR/outlives-suggestion-simple.rs:14:5
+ |
+LL | fn foo3<'a, 'b>(x: &'a usize, y: &'b usize) -> (&'b usize, &'a usize) {
+ | -- -- lifetime `'b` defined here
+ | |
+ | lifetime `'a` defined here
+LL | (x, y)
+ | ^^^^^^ function was supposed to return data with lifetime `'b` but it is returning data with lifetime `'a`
+ |
+ = help: consider adding the following bound: `'a: 'b`
+
+error: lifetime may not live long enough
+ --> $DIR/outlives-suggestion-simple.rs:14:5
+ |
+LL | fn foo3<'a, 'b>(x: &'a usize, y: &'b usize) -> (&'b usize, &'a usize) {
+ | -- -- lifetime `'b` defined here
+ | |
+ | lifetime `'a` defined here
+LL | (x, y)
+ | ^^^^^^ function was supposed to return data with lifetime `'a` but it is returning data with lifetime `'b`
+ |
+ = help: consider adding the following bound: `'b: 'a`
+
+help: `'a` and `'b` must be the same: replace one with the other
+
+error: lifetime may not live long enough
+ --> $DIR/outlives-suggestion-simple.rs:22:5
+ |
+LL | fn foo4<'a, 'b, 'c>(x: &'a usize) -> (&'b usize, &'c usize) {
+ | -- -- lifetime `'b` defined here
+ | |
+ | lifetime `'a` defined here
+...
+LL | (x, x)
+ | ^^^^^^ returning this value requires that `'a` must outlive `'b`
+ |
+ = help: consider adding the following bound: `'a: 'b`
+
+error: lifetime may not live long enough
+ --> $DIR/outlives-suggestion-simple.rs:22:5
+ |
+LL | fn foo4<'a, 'b, 'c>(x: &'a usize) -> (&'b usize, &'c usize) {
+ | -- -- lifetime `'c` defined here
+ | |
+ | lifetime `'a` defined here
+...
+LL | (x, x)
+ | ^^^^^^ returning this value requires that `'a` must outlive `'c`
+ |
+ = help: consider adding the following bound: `'a: 'c`
+
+help: add bound `'a: 'b + 'c`
+
+error: lifetime may not live long enough
+ --> $DIR/outlives-suggestion-simple.rs:31:9
+ |
+LL | pub fn foo<'a>(x: &'a usize) -> Self {
+ | -- lifetime `'a` defined here
+LL | Foo { x }
+ | ^^^^^^^^^ returning this value requires that `'a` must outlive `'static`
+ |
+ = help: consider replacing `'a` with `'static`
+
+error: lifetime may not live long enough
+ --> $DIR/outlives-suggestion-simple.rs:41:9
+ |
+LL | impl<'a> Bar<'a> {
+ | -- lifetime `'a` defined here
+LL | pub fn get<'b>(&self) -> &'b usize {
+ | -- lifetime `'b` defined here
+LL | self.x
+ | ^^^^^^ returning this value requires that `'a` must outlive `'b`
+ |
+ = help: consider adding the following bound: `'a: 'b`
+
+error: lifetime may not live long enough
+ --> $DIR/outlives-suggestion-simple.rs:52:9
+ |
+LL | impl<'a> Baz<'a> {
+ | -- lifetime `'a` defined here
+LL | fn get<'b>(&'b self) -> &'a i32 {
+ | -- lifetime `'b` defined here
+LL | self.x
+ | ^^^^^^ returning this value requires that `'b` must outlive `'a`
+ |
+ = help: consider adding the following bound: `'b: 'a`
+
+error[E0521]: borrowed data escapes outside of associated function
+ --> $DIR/outlives-suggestion-simple.rs:73:9
+ |
+LL | fn get_bar(&self) -> Bar2 {
+ | -----
+ | |
+ | `self` declared here, outside of the associated function body
+ | `self` is a reference that is only valid in the associated function body
+LL | Bar2::new(&self)
+ | ^^^^^^^^^^^^^^^^ `self` escapes the associated function body here
+
+error: aborting due to 10 previous errors
+
+For more information about this error, try `rustc --explain E0521`.